Function at 0x423520
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push edi
mov edx, 3
push esi
push ebx
sub esp, 0x71c
mov edi, dword [ebp + 8]
mov dword [ebp - 0x6b8], eax
xor eax, eax
mov dword [ebp - 0x6ac], eax
xor eax, eax
mov dword [ebp - 0x69c], eax
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov eax, dword [edi + 0x1b0]
test eax, eax
jne 0x4235b0
test edx, edx
mov ebx, edx
jne 0x423590
mov edx, dword [ebp - 0x69c]
test edx, edx
jne 0x423574
mov ecx, dword [ebp + 0x10]
cmp byte [ecx], 0
jne 0x42359d
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
call fcn.00422da0
test eax, eax
mov ebx, eax
je 0x42359d
lea esi, [esi]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
test eax, eax
jne 0x423b70
add esp, 0x71c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0x388
mov eax, 1
mov dword [esp + 4], eax
call dword [0x4f40a0]
test eax, eax
mov esi, eax
je 0x423bae
mov dword [eax], edi
mov ecx, dword [ebp + 0xc]
mov ebx, 0xffffffff
mov dword [esi + 0x9c], ebx
xor edx, edx
mov dword [esi + 4], 0xffffffff
mov dword [ecx], eax
mov eax, 0xffffffff
mov dword [esi + 0x98], eax
mov eax, dword [edi + 0x1b8]
test eax, eax
jne 0x423b90
mov byte [esi + 0xfb], dl
mov eax, 0xffffffff
mov edx, 0xffffffff
mov byte [esi + 0xf8], 1
mov dword [esi + 0xa0], edx
mov dword [esi + 0xa4], eax
call fcn.004394e0
mov dword [esi + 0x90], eax
mov eax, dword [edi + 0x48]
mov dword [esi + 0x94], edx
test eax, eax
setne byte [esi + 0x100]
mov eax, dword [edi + 0x48]
mov edx, dword [edi + 0xbc]
mov dword [esi + 0x68], eax
mov eax, dword [edi + 0xb8]
mov dword [esi + 0x74], edx
mov dword [esi + 0x70], eax
mov eax, dword [edi + 0x3c]
test eax, eax
setne byte [esi + 0xfc]
mov eax, dword [edi + 0x1c]
test eax, eax
setne byte [esi + 0xfd]
movzx eax, byte [edi + 0x18f]
mov byte [esi + 0x109], al
movzx eax, byte [edi + 0x182]
mov byte [esi + 0x10a], al
movzx eax, byte [edi + 0x1a1]
mov byte [esi + 0x10d], al
movzx eax, byte [edi + 0x1a2]
mov byte [esi + 0x10e], al
movzx eax, byte [edi + 0x1a3]
mov byte [esi + 0x10f], al
mov eax, dword [edi + 0x1b0]
mov dword [esp], eax
call fcn.004f2c30
cmp eax, 0xff
mov ebx, eax
ja 0x4236d1
mov ebx, 0x100
mov dword [esp], ebx
call dword [0x4f40b0]
mov edx, 0x1b
test eax, eax
mov dword [esi + 0x48], eax
je 0x42355c
mov dword [esi + 0x4c], eax
mov dword [esp], ebx
call dword [0x4f40b0]
mov edx, 0x1b
test eax, eax
mov dword [esi + 0x28], eax
je 0x42355c
mov dword [esi + 0x30], eax
mov byte [eax], 0
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xc], eax
lea eax, [esi + 0x18]
mov dword [ebp - 0x6e8], eax
mov dword [esp + 8], eax
mov eax, 0x507a39
mov dword [esp + 4], eax
mov eax, dword [edi + 0x1b0]
mov dword [esp], eax
call fcn.004f2bf0
cmp eax, 2
je 0x423cdd
mov eax, dword [esi + 0x4c]
mov word [eax], 0x2f
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0xc], eax
mov ecx, dword [ebp - 0x6e8]
mov dword [esp + 8], ecx
mov ecx, 0x507a47
mov dword [esp + 4], ecx
mov eax, dword [edi + 0x1b0]
mov dword [esp], eax
call fcn.004f2bf0
dec eax
jle 0x424222
mov ecx, 0x40
mov dword [esp + 4], ecx
mov eax, dword [esi + 0x30]
mov dword [esp], eax
call fcn.004f2e20
test eax, eax
je 0x424001
inc eax
mov edx, 0x3f
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004f2e20
mov dword [ebp - 0x6b4], eax
mov ebx, dword [ebp - 0x6b4]
test ebx, ebx
je 0x42381a
mov eax, dword [ebp - 0x6b4]
mov dword [esp], eax
call fcn.004f2c30
mov ebx, eax
mov eax, dword [esi + 0x4c]
mov dword [esp], eax
call fcn.004f2c30
inc eax
mov dword [esp + 8], eax
mov eax, dword [esi + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x4c]
add eax, ebx
inc eax
mov dword [esp], eax
call fcn.004f2c40
mov eax, dword [esi + 0x4c]
mov byte [eax], 0x2f
mov eax, dword [esi + 0x4c]
mov dword [esp + 8], ebx
mov edx, dword [ebp - 0x6b4]
inc eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004f2dc0
mov ecx, dword [ebp - 0x6b4]
mov byte [ecx], 0
mov eax, dword [esi + 0x4c]
cmp byte [eax], 0x3f
je 0x42410c
cmp byte [esi + 0xfd], 0
jne 0x423c25
mov eax, dword [edi + 0x1b8]
test eax, eax
je 0x423d99
test byte [esi + 8], 1
jne 0x423d56
mov edx, dword [esi + 0x74]
mov eax, dword [esi + 0x70]
mov ecx, edx
or ecx, eax
je 0x423864
cmp byte [esi + 0x100], 0
je 0x424137
mov eax, 0x507a5e
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x6e8]
mov dword [esp], eax
call fcn.004293e0
test eax, eax
je 0x42401a
or dword [esi + 8], 4
mov dword [esi + 0x50], 0x50
mov word [esi + 0x54], 0x50
mov eax, 0x436b90
mov dword [esi + 0x114], eax
xor eax, eax
mov dword [esi + 0x11c], eax
mov eax, 0x4369f0
mov dword [esi + 0x118], eax
mov eax, 0x436940
mov dword [esi + 0x120], eax
mov eax, dword [edi + 0x1b8]
test eax, eax
je 0x4238d0
cmp byte [eax], 0
jne 0x42418a
test byte [esi + 9], 4
je 0x4238e6
cmp byte [esi + 0xfb], 0
je 0x4238e6
mov byte [esi + 0x10a], 1
mov byte [ebp - 0x118], 0
mov byte [ebp - 0x218], 0
test byte [esi + 8], 0x14
je 0x423971
mov eax, 0x40
mov dword [esp + 4], eax
mov eax, dword [esi + 0x30]
mov dword [esp], eax
call fcn.004f2e20
test eax, eax
mov edx, dword [esi + 0x30]
je 0x423971
inc eax
cmp dword [edi + 0x194], 2
mov dword [esi + 0x30], eax
je 0x423971
mov byte [esi + 0xfc], 1
cmp byte [edx], 0x3a
je 0x4242df
mov dword [esp], edx
lea eax, [ebp - 0x118]
lea ecx, [ebp - 0x218]
mov dword [esp + 8], eax
mov eax, 0x507a63
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
call fcn.004f2bf0
cmp byte [ebp - 0x118], 0
jne 0x42428d
cmp byte [ebp - 0x218], 0
jne 0x4242ff
lea eax, [ebp - 0x6a1]
mov ebx, 0x507a76
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov eax, dword [esi + 0x30]
mov dword [esp], eax
call fcn.004f2bf0
dec eax
je 0x424052
mov eax, 0x3a
mov dword [esp + 4], eax
mov eax, dword [esi + 0x30]
mov dword [esp], eax
call fcn.004f2df0
mov dword [ebp - 0x6b4], eax
mov eax, dword [edi + 0x38]
test eax, eax
je 0x423bc1
cmp byte [edi + 0x830c], 0
je 0x423bc1
mov word [esi + 0x54], ax
mov eax, dword [ebp - 0x6b4]
test eax, eax
je 0x4239df
mov ecx, dword [ebp - 0x6b4]
mov byte [ecx], 0
cmp byte [esi + 0xfb], 0
jne 0x42441e
mov edx, dword [edi + 0x3c]
test edx, edx
jne 0x4240e2
mov byte [esi + 0x110], 0
mov ebx, dword [edi + 0x194]
test ebx, ebx
jne 0x42409e
test byte [esi + 8], 0x10
je 0x423a1f
cmp byte [esi + 0xfc], 0
je 0x42416e
lea eax, [ebp - 0x118]
mov dword [esp], eax
call dword [0x4f40a4]
mov dword [esi + 0x78], eax
lea eax, [ebp - 0x218]
mov dword [esp], eax
call dword [0x4f40a4]
mov edx, dword [esi + 0x78]
test edx, edx
mov dword [esi + 0x7c], eax
je 0x423bb7
test eax, eax
je 0x423bb7
lea ecx, [esi + 0xc8]
lea eax, [edi + 0x128]
mov dword [ebp - 0x6e4], ecx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00428de0
test al, al
mov edx, 0x1b
je 0x42355c
cmp byte [edi + 0x19f], 0
je 0x4244a5
cmp byte [edi + 0x82f0], 0
jne 0x4244a5
xor ebx, ebx
mov dword [ebp - 0x6e0], ebx
mov ebx, dword [edi + 0x2d8]
cmp ebx, 0
jle 0x423acc
mov eax, dword [edi + 0x2d4]
mov edx, dword [ebp - 0x6e0]
mov ecx, dword [eax + edx*4]
test ecx, ecx
je 0x423acc
inc edx
cmp ebx, edx
mov dword [ebp - 0x6e0], edx
jg 0x423ab4
cmp ebx, dword [ebp - 0x6e0]
je 0x424cfb
cmp dword [ebp - 0x6e0], 0xffffffff
je 0x423af3
mov ecx, dword [ebp - 0x6e0]
mov eax, dword [edi + 0x2d4]
mov dword [esi + 4], ecx
mov dword [eax + ecx*4], esi
mov eax, dword [edi + 0x80]
xor ecx, ecx
test byte [esi + 8], 4
mov dword [esi + 0x248], eax
mov eax, dword [edi + 0x28]
mov dword [esi + 0x24c], eax
je 0x423b35
cmp byte [edi + 0x191], 0
je 0x423b35
mov eax, dword [edi + 0xa8]
mov edx, dword [edi + 0xac]
and eax, edx
inc eax
jne 0x423b35
cmp dword [edi + 0x11c], 1
je 0x423b35
mov cl, 1
cmp byte [esi + 0xf9], 0
mov byte [esi + 0x103], cl
je 0x424b49
xor ecx, ecx
xor eax, eax
cmp byte [esi + 0xfb], 0
mov dword [ebp - 0x6b0], ecx
jne 0x424b02
mov dword [ebp - 0x69c], eax
mov edx, dword [ebp - 0x6b8]
jmp 0x42355c
mov dword [esp], eax
call fcn.00421670
mov ecx, dword [ebp + 0xc]
mov eax, ebx
mov dword [ecx], 0
add esp, 0x71c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [eax], 0
je 0x423604
mov ecx, dword [edi + 0x158]
test ecx, ecx
jne 0x423604
mov dl, 1
jmp 0x423604
mov edx, dword [ebp + 0xc]
mov dword [edx], 0
mov edx, 0x1b
jmp 0x42355c
mov eax, dword [ebp - 0x6b4]
test eax, eax
je 0x4239ec
mov eax, 0xa
mov dword [esp + 8], eax
lea eax, [ebp - 0x6a8]
mov dword [esp + 4], eax
mov ebx, dword [ebp - 0x6b4]
inc ebx
mov dword [esp], ebx
call fcn.004f2e30
mov edx, dword [ebp - 0x6a8]
cmp ebx, edx
je 0x4239ec
cmp byte [edx], 0
jne 0x4239ec
cmp eax, 0xffff
ja 0x424486
mov edx, dword [ebp - 0x6b4]
mov byte [edx], 0
mov word [esi + 0x54], ax
jmp 0x4239ec
movzx ebx, byte [0x507a8b]
xor edx, edx
mov ecx, 0xff
lea eax, [ebp - 0x317]
mov byte [ebp - 0x318], bl
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004f2d50
mov byte [ebp - 0x418], bl
xor edx, edx
mov ecx, 0xff
mov dword [esp + 4], edx
lea eax, [ebp - 0x417]
lea ebx, [ebp - 0x318]
mov dword [esp + 8], ecx
mov dword [esp], eax
call fcn.004f2d50
mov dword [esp + 8], ebx
lea eax, [ebp - 0x418]
mov dword [esp + 0xc], eax
mov eax, 0x507b8b
mov dword [esp + 4], eax
mov eax, dword [edi + 0x1c]
mov dword [esp], eax
call fcn.004f2bf0
mov dword [esp], ebx
call dword [0x4f40a4]
mov edx, 0x1b
test eax, eax
mov dword [esi + 0x80], eax
je 0x42355c
lea edx, [ebp - 0x418]
mov dword [esp], edx
call dword [0x4f40a4]
mov edx, 0x1b
test eax, eax
mov dword [esi + 0x84], eax
je 0x42355c
jmp 0x423833
mov eax, 0x507b9d
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x6e8]
mov dword [esp], edx
call fcn.004293e0
test eax, eax
je 0x423740
mov eax, dword [esi + 0x4c]
cmp byte [eax], 0x2f
je 0x42446e
mov dword [esp], eax
mov ebx, 0x2f
mov dword [esp + 4], ebx
call fcn.004f2e20
test eax, eax
mov ebx, eax
je 0x423d46
xor eax, eax
cmp byte [ebx + 1], 0x2f
sete al
add ebx, eax
mov dword [esp], ebx
call fcn.004f2c30
mov dword [esp + 4], ebx
inc eax
mov dword [esp + 8], eax
mov eax, dword [esi + 0x4c]
mov dword [esp], eax
call fcn.004f2c40
mov dword [esi + 0x18], 0x656c6966
mov byte [esi + 0x1c], 0
jmp 0x42377e
mov eax, dword [edi + 0x1b0]
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x6e8]
mov dword [esp], 0x507ba2
mov dword [esp + 4], ecx
call fcn.0042aa00
test eax, eax
mov edx, 0x1b
je 0x42355c
mov byte [edi + 0x1b4], 1
and dword [esi + 8], 0xfffffffe
mov dword [edi + 0x1b0], eax
jmp 0x42384b
mov dword [esp], 0x507baa
call fcn.0042bc50
mov dword [ebp - 0x6bc], eax
test eax, eax
je 0x423e8e
mov ecx, dword [ebp - 0x6bc]
mov dword [esp], 0x507bb3
mov dword [esp + 4], ecx
call fcn.004293e0
test eax, eax
jne 0x423fdf
mov eax, dword [ebp - 0x6bc]
test eax, eax
je 0x423ea8
lea eax, [ebp - 0x6a0]
mov dword [esp + 8], eax
mov eax, 0x507bb5
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x6bc]
mov dword [esp], eax
jmp 0x423e55
mov ecx, dword [esi + 0x30]
mov ebx, eax
sub ebx, ecx
mov edx, dword [ebp - 0x6c4]
mov dword [esp], edx
call fcn.004f2c30
cmp eax, ebx
ja 0x423e3b
mov edx, dword [esi + 0x30]
mov dword [esp + 8], eax
add ebx, edx
sub ebx, eax
mov dword [esp + 4], ebx
mov ecx, dword [ebp - 0x6c4]
mov dword [esp], ecx
call fcn.00429410
test eax, eax
jne 0x424a64
mov dword [esp], 0
lea eax, [ebp - 0x6a0]
mov dword [esp + 8], eax
mov eax, 0x507bb5
mov dword [esp + 4], eax
call fcn.0042b3a0
mov dword [ebp - 0x6c4], eax
test eax, eax
je 0x423ea8
mov ebx, 0x3a
mov dword [esp + 4], ebx
mov eax, dword [esi + 0x30]
mov dword [esp], eax
call fcn.004f2e20
test eax, eax
jne 0x423dfd
mov eax, dword [esi + 0x30]
mov dword [esp], eax
call fcn.004f2c30
mov ebx, eax
jmp 0x423e04
mov dword [esp], 0x507bb8
call fcn.0042bc50
mov dword [ebp - 0x6bc], eax
test eax, eax
jne 0x423db3
mov eax, dword [ebp - 0x6e8]
lea edx, [ebp - 0x498]
mov dword [ebp - 0x6cc], edx
mov dword [ebp - 0x6c8], eax
movzx eax, byte [esi + 0x18]
jmp 0x423eee
movsx eax, al
mov ebx, dword [ebp - 0x6cc]
inc dword [ebp - 0x6cc]
mov dword [esp], eax
inc dword [ebp - 0x6c8]
call fcn.004f2e50
mov byte [ebx], al
mov ecx, dword [ebp - 0x6c8]
movzx eax, byte [ecx]
test al, al
jne 0x423ec6
mov eax, dword [ebp - 0x6cc]
lea edx, [ebp - 0x498]
mov dword [eax], 0x6f72705f
mov word [eax + 4], 0x7978
mov byte [eax + 6], 0
mov dword [esp], edx
call fcn.0042bc50
test eax, eax
je 0x4249f5
mov dword [ebp - 0x6c0], eax
cmp byte [eax], 0
jne 0x424355
mov dword [esp], 0x507bc1
call fcn.0042bc50
mov dword [ebp - 0x6c0], eax
test eax, eax
je 0x424343
mov eax, dword [ebp - 0x6c0]
cmp byte [eax], 0
je 0x423fdf
mov dword [esp], eax
mov edx, 0x507bcb
mov dword [esp + 4], edx
call fcn.004f2c50
test eax, eax
mov ebx, eax
je 0x424a77
add ebx, 3
mov dword [ebp - 0x6d0], ebx
mov eax, 0x40
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004f2e20
test eax, eax
mov ebx, eax
je 0x423fc5
lea ecx, [ebp - 0x698]
lea eax, [ebp - 0x598]
mov dword [esp + 0xc], ecx
mov ecx, 0x507bcf
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov edx, dword [ebp - 0x6d0]
mov dword [esp], edx
call fcn.004f2bf0
cmp eax, 2
je 0x424c42
mov eax, dword [ebp - 0x6c0]
mov byte [edi + 0x1bc], 1
mov dword [edi + 0x1b8], eax
mov byte [esi + 0xfb], 1
mov edx, dword [ebp - 0x6bc]
test edx, edx
je 0x423841
mov edx, dword [ebp - 0x6bc]
mov dword [esp], edx
call dword [0x4f40ac]
jmp 0x423841
mov eax, 0x3f
mov dword [esp + 4], eax
mov eax, dword [esi + 0x30]
mov dword [esp], eax
call fcn.004f2e20
jmp 0x4237ac
mov eax, 0x507be1
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x6e8]
mov dword [esp], edx
call fcn.004293e0
test eax, eax
je 0x424368
or dword [esi + 8], 0x40c
mov dword [esi + 0x50], 0x1bb
mov word [esi + 0x54], 0x1bb
jmp 0x423894
cmp byte [ebp - 0x6a1], 0x5d
jne 0x423996
mov byte [esi + 0xfe], 1
mov eax, dword [esi + 0x30]
mov ecx, 0x5d
inc eax
mov dword [esi + 0x30], eax
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004f2e20
mov byte [eax], 0
inc eax
mov dword [ebp - 0x6b4], eax
cmp byte [eax], 0x3a
je 0x4239b0
xor edx, edx
mov dword [ebp - 0x6b4], edx
jmp 0x4239b0
mov eax, dword [edi + 0x198]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x218]
mov dword [esp + 8], eax
lea eax, [ebp - 0x118]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x30]
mov dword [esp], eax
call fcn.0042cfb0
test eax, eax
jne 0x424401
mov byte [esi + 0x110], 1
mov byte [esi + 0xfc], 1
jmp 0x423a0c
mov dword [esp], edx
lea eax, [ebp - 0x218]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x118]
mov dword [esp + 8], eax
mov eax, 0x507b8b
mov dword [esp + 4], eax
call fcn.004f2bf0
jmp 0x4239f7
mov dword [esp], eax
call fcn.004f2c30
inc eax
mov dword [esp + 8], eax
mov eax, dword [esi + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x4c]
inc eax
mov dword [esp], eax
call fcn.004f2c40
mov eax, dword [esi + 0x4c]
mov byte [eax], 0x2f
jmp 0x423826
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0x507be7
call fcn.0042aa00
mov dword [esi + 0x68], eax
test eax, eax
mov edx, 0x1b
je 0x42355c
mov byte [esi + 0x101], 1
mov byte [esi + 0x100], 1
jmp 0x423864
mov dword [esp], 0x507bed
call dword [0x4f40a4]
mov dword [esi + 0x78], eax
mov dword [esp], 0x507bf7
jmp 0x423a3a
mov dword [esp], eax
call dword [0x4f40a4]
mov dword [ebp - 0x6d4], eax
test eax, eax
mov ebx, eax
je 0x424b17
mov dword [esp], eax
mov ecx, 0x507bcb
mov dword [esp + 4], ecx
call fcn.004f2c50
test eax, eax
je 0x4241c1
add eax, 3
mov dword [ebp - 0x6d4], eax
mov edx, 0x3a
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x6d4]
mov dword [esp], ecx
call fcn.004f2e20
test eax, eax
je 0x4247cf
mov byte [eax], 0
inc eax
mov dword [esp], eax
call fcn.004f2d40
mov dword [esi + 0x50], eax
mov eax, dword [ebp - 0x6d4]
mov dword [esp], eax
call dword [0x4f40a4]
mov dword [esi + 0x38], eax
mov dword [esi + 0x40], eax
mov dword [esp], ebx
call dword [0x4f40ac]
mov eax, dword [esi + 0x38]
mov edx, 0x1b
test eax, eax
je 0x42355c
jmp 0x4238d0
mov eax, dword [esi + 0x4c]
mov edx, 0x507c0e
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov eax, dword [edi + 0x1b0]
mov dword [esp], eax
call fcn.004f2bf0
test eax, eax
jle 0x42493f
mov eax, 7
mov dword [esp + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esp], 0x507c1a
mov dword [esp + 4], eax
call fcn.00429410
test eax, eax
je 0x4247df
mov dword [esi + 0x18], 0x68706f67
mov word [esi + 0x1c], 0x7265
mov byte [esi + 0x1e], 0
or dword [esi + 8], 1
jmp 0x42377e
xor eax, eax
lea edx, [ebp - 0x118]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0042bdd0
test eax, eax
mov ebx, eax
mov edx, 0x1b
je 0x42355c
mov dword [esp], eax
call fcn.004f2c30
cmp eax, 0xff
ja 0x4242d1
mov dword [esp + 4], ebx
lea ecx, [ebp - 0x118]
mov dword [esp], ecx
call fcn.004f2ba0
mov dword [esp], ebx
call dword [0x4f40ac]
jmp 0x423964
mov dword [esp], edx
lea eax, [ebp - 0x218]
mov dword [esp + 8], eax
mov eax, 0x507c22
mov dword [esp + 4], eax
call fcn.004f2bf0
jmp 0x423957
xor eax, eax
mov dword [esp + 4], eax
lea eax, [ebp - 0x218]
mov dword [esp], eax
call fcn.0042bdd0
test eax, eax
mov ebx, eax
mov edx, 0x1b
je 0x42355c
mov dword [esp], eax
call fcn.004f2c30
cmp eax, 0xff
jbe 0x42495a
mov dword [esp], ebx
call dword [0x4f40ac]
jmp 0x423971
mov dword [esp], 0x507c2c
call fcn.0042bc50
mov dword [ebp - 0x6c0], eax
mov ecx, dword [ebp - 0x6c0]
test ecx, ecx
jne 0x423f47
jmp 0x423fdf
mov ebx, 0x507c36
mov dword [esp + 4], ebx
mov ecx, dword [ebp - 0x6e8]
mov dword [esp], ecx
call fcn.004293e0
test eax, eax
je 0x424817
mov dword [esi + 0x50], 0x46
mov eax, dword [esi + 0x4c]
mov word [esi + 0x54], 0x46
movsx edx, byte [eax + 1]
mov eax, dword [0x53f6bc]
cmp dword [eax], 1
jne 0x424929
mov eax, dword [0x53f704]
mov eax, dword [eax]
movzx eax, word [eax + edx*2]
and eax, 4
test eax, eax
je 0x4243da
mov eax, dword [esi + 0x4c]
mov edx, 0x2f
mov dword [esp + 4], edx
inc eax
mov dword [esp], eax
call fcn.004f2e20
test eax, eax
jne 0x4243d7
mov eax, dword [esi + 0x48]
mov dword [esi + 0x4c], eax
or dword [esi + 8], 2
mov eax, 0x436b90
mov dword [esi + 0x114], eax
xor eax, eax
mov dword [esi + 0x11c], eax
mov eax, 0x4369f0
mov dword [esi + 0x118], eax
jmp 0x4238bd
mov eax, dword [esi + 0x30]
mov ecx, 0x507c40
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.0042bba0
jmp 0x423a0c
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xc], eax
movzx eax, word [esi + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esp], 0x507c7a
mov dword [esp + 4], eax
call fcn.0042aa00
test eax, eax
mov ebx, eax
mov edx, 0x1b
je 0x42355c
cmp byte [edi + 0x1b4], 0
jne 0x4249e1
mov dword [edi + 0x1b0], ebx
mov byte [edi + 0x1b4], 1
jmp 0x4239ec
cmp byte [eax + 1], 0x2f
je 0x424bd0
cmp byte [eax], 0x2f
je 0x423d46
jmp 0x423d08
mov dword [esp + 8], eax
mov eax, 0x507c89
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0042b7c0
mov edx, 3
jmp 0x42355c
xor ebx, ebx
mov dword [ebp - 0x6d8], ebx
mov ebx, dword [edi + 0x2d8]
cmp ebx, 0
jmp 0x4244c4
inc dword [ebp - 0x6d8]
cmp ebx, dword [ebp - 0x6d8]
jle 0x424599
mov eax, dword [edi + 0x2d4]
mov edx, dword [ebp - 0x6d8]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x6dc], eax
test eax, eax
je 0x4244b8
mov ecx, dword [esi + 8]
mov edx, dword [ebp - 0x6dc]
mov eax, ecx
and eax, 0x400
mov dword [ebp - 0x6fc], eax
mov eax, dword [edx + 8]
and eax, 0x400
cmp dword [ebp - 0x6fc], eax
jne 0x4244b8
cmp byte [esi + 0xfb], 0
je 0x42451b
test ch, 4
je 0x424a82
test ch, 4
jne 0x42452f
mov edx, dword [ebp - 0x6dc]
cmp byte [edx + 0xfb], 0
jne 0x4244b8
mov eax, dword [ebp - 0x6dc]
add eax, 0x18
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x6e8]
mov dword [esp], ecx
call fcn.004293e0
test eax, eax
jne 0x424d22
mov ebx, dword [edi + 0x2d8]
jmp 0x4244b8
mov eax, dword [ebp - 0x6d8]
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, 0x507ca4
mov dword [esp + 4], eax
call fcn.0042bba0
mov edx, dword [ebp - 0x6dc]
mov dword [esp], edx
call fcn.00421670
mov eax, dword [edi + 0x2d4]
mov ecx, dword [ebp - 0x6d8]
mov dword [eax + ecx*4], 0
xor eax, eax
test al, al
je 0x423a9b
mov eax, dword [esi + 0x38]
mov ebx, esi
test eax, eax
je 0x4245b5
mov dword [esp], eax
call dword [0x4f40ac]
mov eax, dword [ebp - 0x6e4]
mov dword [esp], eax
call fcn.00428ed0
movzx eax, byte [ebx + 0xfc]
mov esi, dword [ebp - 0x6ac]
test al, al
mov byte [esi + 0xfc], al
je 0x42460a
mov eax, dword [esi + 0x78]
mov dword [esp], eax
call fcn.00421440
mov eax, dword [esi + 0x7c]
mov dword [esp], eax
call fcn.00421440
mov eax, dword [ebx + 0x78]
mov dword [esi + 0x78], eax
mov eax, dword [ebx + 0x7c]
mov dword [ebx + 0x78], 0
mov dword [esi + 0x7c], eax
mov dword [ebx + 0x7c], 0
movzx eax, byte [ebx + 0xfd]
test al, al
mov byte [esi + 0xfd], al
je 0x42465f
mov eax, dword [esi + 0x80]
mov dword [esp], eax
call fcn.00421440
mov eax, dword [esi + 0x84]
mov dword [esp], eax
call fcn.00421440
mov eax, dword [ebx + 0x80]
mov dword [esi + 0x80], eax
mov eax, dword [ebx + 0x84]
mov dword [esi + 0x84], eax
xor eax, eax
mov dword [ebx + 0x80], eax
xor eax, eax
mov dword [ebx + 0x84], eax
movzx edx, byte [esi + 0xfb]
test dl, dl
je 0x424695
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [0x4f40ac]
movzx edx, byte [esi + 0xfb]
mov eax, dword [ebx + 0x28]
mov dword [esi + 0x28], eax
mov eax, dword [ebx + 0x2c]
mov dword [esi + 0x2c], eax
mov eax, dword [ebx + 0x30]
mov dword [esi + 0x30], eax
mov eax, dword [ebx + 0x34]
mov dword [esi + 0x34], eax
movzx eax, byte [ebx + 0x109]
test dl, dl
mov byte [esi + 0x109], al
jne 0x4246b2
mov eax, dword [ebx + 0x28]
mov dword [esp], eax
call dword [0x4f40ac]
mov eax, dword [esi + 0x48]
mov dword [esp], eax
call dword [0x4f40ac]
mov byte [esi + 0xf9], 1
mov eax, dword [ebx + 0x48]
mov byte [esi + 0xfa], 0
mov dword [esi + 0x48], eax
mov eax, dword [ebx + 0x4c]
mov dword [esi + 0x4c], eax
mov eax, 0xffffffff
mov dword [esi + 0xa0], eax
mov eax, 0xffffffff
mov dword [esi + 0xa4], eax
mov eax, dword [ebx + 0x78]
mov dword [esp], eax
call fcn.00421440
mov eax, dword [ebx + 0x7c]
mov dword [esp], eax
call fcn.00421440
mov eax, dword [ebx + 0x80]
mov dword [esp], eax
call fcn.00421440
mov eax, dword [ebx + 0x84]
mov dword [esp], eax
call fcn.00421440
cmp byte [ebx + 0x101], 0
je 0x424735
mov eax, dword [ebx + 0x68]
mov dword [esp], eax
call dword [0x4f40ac]
mov dword [esp], ebx
call dword [0x4f40ac]
mov edx, dword [edi + 0xbc]
mov eax, dword [edi + 0xb8]
mov ecx, edx
mov dword [esi + 0x70], eax
or ecx, eax
mov dword [esi + 0x74], edx
je 0x424b32
cmp byte [esi + 0x101], 1
je 0x424df2
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0x507be7
call fcn.0042aa00
mov dword [esi + 0x68], eax
test eax, eax
mov edx, 0x1b
je 0x42355c
mov byte [esi + 0x100], 1
mov byte [esi + 0x101], 1
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
cmp byte [esi + 0xfb], 0
je 0x424cba
mov eax, dword [esi + 0x44]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 4]
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, 0x507cc8
mov dword [esp + 4], eax
call fcn.0042bba0
jmp 0x423af3
mov eax, dword [edi + 0x20]
test eax, eax
je 0x4241ef
jmp 0x4241ec
mov eax, 4
mov dword [esp + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esp], 0x507cfb
mov dword [esp + 4], eax
call fcn.00429410
test eax, eax
je 0x424c86
mov dword [esi + 0x18], 0x73707466
mov byte [esi + 0x1c], 0
or dword [esi + 8], 1
jmp 0x42377e
mov eax, 0x507d00
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x6e8]
mov dword [esp], eax
call fcn.004293e0
test eax, eax
jne 0x424851
mov eax, 0x507cfb
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x6e8]
mov dword [esp], edx
call fcn.004293e0
test eax, eax
je 0x424bfd
mov eax, 0x507cfb
mov ebx, 0x15
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x6e8]
mov dword [esp], ecx
call fcn.004293e0
test eax, eax
je 0x4249d9
mov byte [esi + 0xb8], 1
mov eax, dword [esi + 8]
mov ebx, 0x3de
or eax, 0x600
mov dword [esi + 0x50], ebx
mov edx, dword [edi + 0x1b8]
or eax, 0x10
mov word [esi + 0x54], bx
mov dword [esi + 8], eax
test edx, edx
je 0x424971
cmp byte [edx], 0
je 0x424971
cmp byte [edi + 0x182], 0
jne 0x424971
test ah, 2
jne 0x424f7f
mov ebx, 0x436b90
mov ecx, 0x4369f0
mov dword [esi + 0x114], ebx
mov dword [esi + 0x118], ecx
mov eax, dword [esi + 0x4c]
mov edx, 0x507d04
inc eax
mov dword [esi + 0x4c], eax
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004f2c50
test eax, eax
je 0x424cc2
mov byte [eax], 0
movsx eax, byte [eax + 6]
mov dword [esp], eax
call fcn.004f2e40
movsx eax, al
cmp eax, 0x41
je 0x424cef
cmp eax, 0x44
je 0x424ce3
mov byte [edi + 0x184], 0
jmp 0x4238bd
mov dword [esp], edx
mov ecx, 4
mov dword [esp + 4], ecx
call fcn.004f2e60
jmp 0x4243b7
mov dword [esp], edi
mov eax, 0x507d0b
mov dword [esp + 4], eax
call fcn.0042b7c0
mov edx, 3
jmp 0x42355c
mov dword [esp + 4], ebx
lea edx, [ebp - 0x218]
mov dword [esp], edx
call fcn.004f2ba0
jmp 0x424335
mov eax, fcn.00434190
mov edx, 0x4347b0
mov ebx, 0x430aa0
mov dword [esi + 0x11c], eax
mov eax, fcn.00430e20
mov ecx, 0x434440
mov dword [esi + 0x118], eax
mov eax, 0x434060
mov dword [esi + 0x120], eax
mov eax, fcn.00433f80
mov dword [esi + 0x124], eax
mov eax, 0x434760
mov dword [esi + 0x128], eax
mov eax, 0x430aa0
mov dword [esi + 0x114], edx
mov dword [esi + 0x12c], eax
mov dword [esi + 0x130], ebx
mov dword [esi + 0x134], ecx
jmp 0x4248d9
mov eax, dword [esi + 8]
jmp 0x424889
mov eax, dword [edi + 0x1b0]
mov dword [esp], eax
call dword [0x4f40ac]
jmp 0x42445c
mov dword [esp], 0x507d1b
lea ecx, [ebp - 0x498]
mov dword [esp + 4], ecx
call fcn.004293e0
test eax, eax
jne 0x423f2d
lea eax, [ebp - 0x498]
mov dword [ebp - 0x6cc], eax
movzx eax, byte [ebp - 0x498]
jmp 0x424a45
movsx eax, al
mov dword [esp], eax
call fcn.004f2e40
mov edx, dword [ebp - 0x6cc]
mov byte [edx], al
inc edx
mov dword [ebp - 0x6cc], edx
movzx eax, byte [edx]
test al, al
jne 0x424a28
lea ecx, [ebp - 0x498]
mov dword [esp], ecx
call fcn.0042bc50
test eax, eax
jne 0x423f1e
jmp 0x423f2d
mov ebx, dword [ebp - 0x6c4]
test ebx, ebx
jne 0x423fdf
jmp 0x423ea8
mov ebx, dword [ebp - 0x6c0]
jmp 0x423f74
mov eax, dword [ebp - 0x6dc]
cmp byte [eax + 0xfb], 0
je 0x424552
mov eax, dword [eax + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x40]
mov dword [esp], eax
call fcn.004293e0
test eax, eax
je 0x424552
mov ecx, dword [ebp - 0x6dc]
mov eax, dword [ecx + 0x50]
cmp dword [esi + 0x50], eax
jne 0x424552
mov edx, dword [ebp - 0x6dc]
xor ecx, ecx
mov eax, dword [edx + 0x98]
mov dword [esp + 8], ecx
mov edx, 0xffffffff
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004395d0
test eax, eax
jne 0x42455d
mov ecx, dword [ebp - 0x6dc]
mov eax, 1
mov dword [ebp - 0x6ac], ecx
jmp 0x42459b
lea edx, [esi + 0x28]
mov eax, esi
call fcn.00422d90
mov eax, dword [ebp - 0x6b0]
jmp 0x423b5f
mov dword [esp], edi
mov ebx, 0x507d26
mov dword [esp + 4], ebx
call fcn.0042b7c0
mov edx, 0x1b
jmp 0x42355c
mov eax, dword [edi + 0x48]
test eax, eax
jne 0x424fd0
mov byte [esi + 0x100], 0
jmp 0x424799
mov eax, esi
lea edx, [esi + 0x28]
call fcn.00422d90
mov eax, dword [edi + 0x1b8]
test eax, eax
je 0x424b66
cmp byte [eax], 0
jne 0x424e09
movzx eax, word [esi + 0x54]
mov dword [esi + 0x50], eax
lea eax, [ebp - 0x6b0]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00428570
dec eax
je 0x424de7
mov eax, dword [ebp - 0x6b0]
test eax, eax
jne 0x423b5f
mov eax, dword [esi + 0x34]
mov edx, 0x507d36
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.0042b7c0
mov eax, 6
mov dword [ebp - 0x6b8], eax
jmp 0x424b0c
add eax, 2
mov dword [esp], eax
call fcn.004f2c30
inc eax
mov dword [esp + 8], eax
mov eax, dword [esi + 0x4c]
add eax, 2
mov dword [esp + 4], eax
mov eax, dword [esi + 0x4c]
mov dword [esp], eax
call fcn.004f2c40
mov eax, dword [esi + 0x4c]
jmp 0x424478
mov ecx, 0x507d51
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x6e8]
mov dword [esp], eax
call fcn.004293e0
test eax, eax
je 0x424f41
or dword [esi + 8], 0x20
mov edx, 0x42f250
mov eax, 0x42f210
mov dword [esi + 0x50], 0x17
mov word [esi + 0x54], 0x17
mov dword [esi + 0x114], edx
jmp 0x4243f6
mov eax, dword [esi + 0x80]
mov dword [esp], eax
call fcn.00421440
lea ecx, [ebp - 0x598]
mov dword [esp], ecx
call dword [0x4f40a4]
mov dword [esi + 0x80], eax
test eax, eax
jne 0x424e6a
mov ecx, dword [ebp - 0x6c0]
mov dword [esp], ecx
call dword [0x4f40ac]
mov edx, 0x1b
jmp 0x42355c
mov eax, 4
mov dword [esp + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esp], 0x507d58
mov dword [esp + 4], eax
call fcn.00429410
test eax, eax
je 0x424ecc
or dword [esi + 8], 1
mov dword [esi + 0x18], 0x707466
jmp 0x42377e
mov eax, dword [esi + 0x34]
jmp 0x4247ae
mov ebx, 0x507d04
mov dword [esp + 4], ebx
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call fcn.004f2c50
test eax, eax
jne 0x4248f9
jmp 0x4238bd
mov byte [edi + 0x185], 1
jmp 0x4238bd
mov byte [edi + 0x184], 1
jmp 0x4238bd
mov eax, edi
mov ebx, 0x507d60
call fcn.004228b0
mov dword [ebp - 0x6e0], eax
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0042bba0
jmp 0x423ad8
mov edx, dword [ebp - 0x6dc]
mov eax, dword [edx + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x30]
mov dword [esp], eax
call fcn.004293e0
test eax, eax
je 0x424552
mov ecx, dword [ebp - 0x6dc]
movzx eax, word [ecx + 0x54]
cmp word [esi + 0x54], ax
jne 0x424552
mov eax, dword [esi + 8]
test ah, 4
jne 0x424dbe
test al, 0x10
jne 0x424d79
test al, 4
je 0x424ac1
mov eax, dword [esi]
cmp dword [eax + 0x8358], 8
jne 0x424ac1
mov edx, dword [ebp - 0x6dc]
mov eax, dword [edx + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x78]
mov dword [esp], eax
call fcn.004293e0
test eax, eax
je 0x424552
mov ecx, dword [ebp - 0x6dc]
mov eax, dword [ecx + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x7c]
mov dword [esp], eax
call fcn.004293e0
test eax, eax
je 0x424552
jmp 0x424ac1
mov eax, ecx
add eax, 0xc8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x6e4]
mov dword [esp], eax
call fcn.00428d50
test al, al
je 0x424552
mov eax, dword [esi + 8]
jmp 0x424d5e
mov eax, dword [ebp + 0x10]
mov byte [eax], 1
jmp 0x424b0c
mov eax, dword [esi + 0x68]
mov dword [esp], eax
call dword [0x4f40ac]
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0x74]
jmp 0x424767
lea edx, [esi + 0x38]
mov eax, esi
call fcn.00422d90
lea eax, [ebp - 0x6b0]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x40]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00428570
dec eax
je 0x424f02
mov eax, dword [ebp - 0x6b0]
test eax, eax
jne 0x423b5f
mov eax, dword [esi + 0x44]
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, 0x507d8a
mov dword [esp + 4], eax
call fcn.0042b7c0
mov eax, 5
jmp 0x424bbf
mov eax, dword [esi + 0x84]
mov dword [esp], eax
call fcn.00421440
lea eax, [ebp - 0x698]
mov dword [esp], eax
call dword [0x4f40a4]
mov dword [esi + 0x84], eax
test eax, eax
je 0x424c6d
mov byte [esi + 0xfd], 1
lea eax, [ebx + 1]
mov dword [esp], eax
call dword [0x4f40a4]
test eax, eax
mov ebx, eax
je 0x424c6d
mov edx, dword [ebp - 0x6c0]
mov dword [esp], edx
call dword [0x4f40ac]
mov dword [ebp - 0x6c0], ebx
jmp 0x423fc5
mov eax, 7
mov dword [esp + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esp], 0x507da6
mov dword [esp + 4], eax
call fcn.00429410
test eax, eax
je 0x424f0d
mov dword [esi + 0x18], 0x6e6c6574
mov word [esi + 0x1c], 0x7465
mov byte [esi + 0x1e], 0
jmp 0x424284
mov edx, dword [ebp + 0x10]
mov byte [edx], 1
jmp 0x424b0c
mov eax, 5
mov dword [esp + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esp], 0x507dae
mov dword [esp + 4], eax
call fcn.00429410
test eax, eax
je 0x424ffc
mov dword [esi + 0x18], 0x54434944
mov byte [esi + 0x1c], 0
jmp 0x42480e
mov eax, 0x507db4
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x6e8]
mov dword [esp], edx
call fcn.004293e0
test eax, eax
je 0x424f9a
or dword [esi + 8], 0x40
mov eax, 0x42e650
mov dword [esi + 0x50], 0xa44
mov word [esi + 0x54], 0xa44
mov dword [esi + 0x114], eax
xor eax, eax
jmp 0x4243f6
mov dword [esp], edi
mov esi, 0x507dbc
mov dword [esp + 4], esi
call fcn.0042b7c0
mov edx, 1
jmp 0x42355c
mov eax, 0x507de3
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x6e8]
mov dword [esp], ecx
call fcn.004293e0
test eax, eax
je 0x425030
or dword [esi + 8], 0x80
mov eax, 0x42dbe0
mov dword [esi + 0x50], 0x185
mov word [esi + 0x54], 0x185
jmp 0x424f72
mov dword [esp], eax
call dword [0x4f40a4]
mov edx, 0x1b
test eax, eax
mov dword [esi + 0x68], eax
je 0x42355c
mov byte [esi + 0x101], 1
mov byte [esi + 0x100], 1
jmp 0x424799
mov ebx, 5
mov dword [esp + 8], ebx
mov eax, dword [esi + 0x30]
mov dword [esp], 0x507de8
mov dword [esp + 4], eax
call fcn.00429410
test eax, eax
je 0x4250d2
mov dword [esi + 0x18], 0x5041444c
mov byte [esi + 0x1c], 0
jmp 0x42480e
mov ebx, 0x507dee
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x6e8]
mov dword [esp], eax
call fcn.004293e0
test eax, eax
je 0x4250e2
or dword [esi + 8], 0x100
mov ecx, 0x42d480
mov edx, fcn.0042d300
mov dword [esi + 0x114], ecx
mov dword [esi + 0x118], edx
mov dword [esp], esi
call fcn.0042d340
mov dword [ebp - 0x6b8], eax
test eax, eax
jne 0x423b65
mov byte [esi + 0x106], 1
xor eax, eax
mov edi, 0xffffffff
mov dword [esp + 0x1c], eax
mov eax, 0xffffffff
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, 0xffffffff
mov dword [esp + 8], eax
mov eax, 0xffffffff
mov dword [esp + 0xc], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00428270
mov dword [ebp - 0x6b8], eax
jmp 0x423b65
mov dword [esi + 0x18], 0x70747468
mov byte [esi + 0x1c], 0
jmp 0x42480e
mov edx, dword [ebp - 0x6e8]
mov esi, 0x507df3
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 8], edx
call fcn.0042b7c0
jmp 0x424f90