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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c2fee
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2f54
call fcn.004b0000
mov eax, dword [0x4d98f0]
xor eax, esp
mov dword [esp + 0x2f50], eax
push ebx
push esi
push edi
mov eax, dword [0x4d98f0]
xor eax, esp
push eax
lea eax, [esp + 0x2f68]
mov dword fs:[0], eax
xor esi, esi
push 0x1200
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x60], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x20], esi
call fcn.004b00f7
mov edi, eax
add esp, 4
mov dword [esp + 0x4c], edi
cmp edi, esi
jne 0x430618
mov ecx, 0x5072f4
call fcn.0042cb70
mov eax, 0x40
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x2f70], esi
lea ecx, [esp + 0x1c4]
call fcn.00470340
mov byte [esp + 0x2f70], 1
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov byte [esp + 0x2f70], 2
lea ecx, [esp + 0x11c]
call fcn.00470340
mov byte [esp + 0x2f70], 3
mov dword [0x509bb0], edi
mov dword [0x508970], 1
jmp 0x430680
cmp byte [0x51b848], 0
jne 0x431650
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x3c]
cmp eax, 0x40
jl 0x4306bd
cmp byte [0x51a58c], 0
je 0x430b59
cmp eax, edi
jl 0x430719
mov eax, dword [esp + 0x30]
cmp eax, esi
jbe 0x430713
sub eax, edi
add edi, eax
mov dword [esp + 0x50], edi
cmp edi, esi
jbe 0x430719
mov eax, esi
shr eax, 2
lea esi, [eax + esi + 0x20]
cmp edi, esi
jbe 0x4306e4
mov esi, edi
mov edx, dword [esp + 0x4c]
lea ecx, [esi + esi*8]
add ecx, ecx
add ecx, ecx
add ecx, ecx
push ecx
push edx
call fcn.004b024f
add esp, 8
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x43070d
mov ecx, 0x5072f4
call fcn.0042cb70
mov dword [esp + 0x54], esi
jmp 0x430719
mov edi, eax
mov dword [esp + 0x50], edi
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
push 4
add eax, ecx
push 0x5089a4
mov dword [0x509bb0], eax
call fcn.004397a0
test eax, eax
je 0x430a72
push 4
push 0x519c1d
push 0x5089a4
call fcn.004b18a7
add esp, 0xc
test eax, eax
jne 0x430a7f
call fcn.0045a7f0
test eax, eax
jne 0x430b2e
movzx eax, byte [0x519c51]
movzx ecx, word [0x519c70]
push eax
push 0x519c54
push 2
xor edx, edx
push ecx
mov word [0x519cf4], dx
call fcn.00439d10
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x4307a5
cmp eax, ebx
jle 0x43079c
mov ebx, eax
mov dword [esp + 0x14], ebx
cmp eax, 1
jg 0x430b34
movzx edx, word [0x519c72]
push 0
push 0
push 3
push edx
call fcn.00439d10
test eax, eax
je 0x4307cf
cmp eax, ebx
jle 0x4307c6
mov ebx, eax
mov dword [esp + 0x14], ebx
cmp eax, 1
jg 0x430b34
movzx eax, word [0x519c72]
mov ecx, dword [0x519c10]
push 0
push eax
push ecx
call fcn.00459f30
movzx edx, word [0x519c72]
mov eax, dword [0x519c10]
push 0x519c56
push edx
push eax
call fcn.004766c0
movzx ecx, word [0x519c74]
push 0
push 0
push 0
push ecx
call fcn.00439d10
test eax, eax
je 0x430825
cmp eax, ebx
jle 0x43081c
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x430b34
mov eax, dword [0x519c54]
movzx ecx, word [0x519c72]
shr eax, 0xb
and al, 1
push 0x1800
mov byte [esp + 0x1f], al
mov eax, dword [0x51a4f4]
lea edx, [esp + 0x1760]
push edx
push eax
mov eax, dword [0x519c10]
push ecx
call fcn.0042fbc0
test al, al
je 0x430878
push 0x400
push 0x519cf4
lea edx, [esp + 0x1764]
push edx
call fcn.00477270
mov byte [esp + 0x1b], 1
movzx ecx, word [0x519c58]
movzx edx, word [0x519c5a]
lea eax, [esp + 0xa8]
push eax
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
mov eax, dword [0x509bb0]
add eax, 0x28
push eax
lea ecx, [esp + 0xac]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
mov ecx, dword [0x509bb0]
xor eax, eax
mov dword [ecx + 0x30], eax
add ecx, 0x30
mov dword [ecx + 4], eax
mov ecx, dword [0x509bb0]
add ecx, 0x38
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov eax, dword [0x509bb0]
lea edx, [eax + 0x38]
lea ecx, [eax + 0x30]
push edx
push ecx
mov ecx, dword [0x519c10]
add eax, 0x28
push eax
movzx eax, word [0x519c72]
call fcn.0042fad0
movzx eax, word [0x519c72]
mov ecx, dword [0x519c10]
call fcn.0042fc80
mov bl, al
test bl, bl
je 0x430924
push 0x519cf4
push 0x343
call fcn.00466860
push eax
push 0x529c92
call fcn.00499df0
add esp, 0xc
lea ecx, [esp + 0x26c]
call fcn.00402680
mov byte [esp + 0x2f70], 4
push 0xce8
lea edx, [esp + 0x270]
push 0
push edx
call fcn.004b0470
add esp, 0xc
push 0x400
push 0x519cf4
lea eax, [esp + 0x6a4]
push eax
call fcn.0046fc70
push 0x400
lea ecx, [esp + 0x2a0]
push ecx
lea edx, [esp + 0x6a4]
push edx
call fcn.00455da0
mov eax, dword [0x509bb0]
add eax, 0x28
push eax
lea ecx, [esp + 0xeb4]
call fcn.00472da0
mov eax, dword [esp + 0x274]
mov ecx, dword [0x519c68]
mov edx, dword [0x519c6c]
or eax, 0x200
cmp dword [0x51af94], 1
mov word [esp + 0x274], ax
mov dword [esp + 0xf4c], ecx
mov dword [esp + 0xf50], edx
mov eax, 5
je 0x4309e8
cmp dword [0x527248], 0
jne 0x4309e8
cmp byte [0x528c3c], 0
jne 0x4309e8
mov eax, VariantClear
test bl, bl
jne 0x430a43
push eax
push 0
lea ecx, [esp + 0x274]
push ecx
mov ecx, 0x5238d0
call fcn.0041da70
test eax, eax
je 0x430a43
call fcn.0042f740
test eax, eax
je 0x430a3f
mov eax, 0x519cf4
cmp byte [esp + 0x1b], bl
jne 0x430a1e
mov eax, 0x4c6d80
push eax
lea ecx, [esp + 0x1c8]
call fcn.004703f0
mov eax, 1
add dword [esp + 0x3c], eax
add dword [esp + 0x30], eax
add dword [esp + 0x20], 0x48
jmp 0x430a43
inc dword [esp + 0x44]
add dword [esp + 0x34], 1
adc dword [esp + 0x38], 0
mov byte [esp + 0x2f70], 3
mov eax, dword [esp + 0xe9c]
test eax, eax
je 0x4306a7
push eax
call fcn.004b01c1
add esp, 4
jmp 0x4306a7
mov dword [esp + 0x14], 0x33
jmp 0x430b51
mov edx, dword [0x519c98]
mov eax, edx
xor eax, dword [esp + 0x34]
xor ecx, ecx
and eax, 0xffff
or eax, ecx
je 0x430acb
cmp edx, 0xffff
jne 0x430aa6
cmp dword [0x519c9c], ecx
je 0x430acb
push 0x2ad
call fcn.00466860
push eax
push 0x529c92
call fcn.00499df0
add esp, 8
mov dword [esp + 0x14], 3
jmp 0x430b51
push 4
push 0x519c22
push 0x5089a4
mov byte [esp + 0xf60], 0x50
mov dword [esp + 0xf61], 0x6064b
call fcn.004b18a7
add esp, 0xc
test eax, eax
je 0x430b24
cmp byte [0x51a594], 0
je 0x430b1a
push 4
lea edx, [esp + 0xf58]
push edx
push 0x5089a4
call fcn.004b18a7
add esp, 0xc
test eax, eax
je 0x430b24
mov dword [esp + 0x58], 1
jmp 0x430b51
mov dword [esp + 0x58], 0
jmp 0x430b51
mov dword [esp + 0x14], eax
jmp 0x430b51
push 0x519cf4
push 0x2ab
call fcn.00466860
push eax
push 0x529c92
call fcn.00499df0
add esp, 0xc
mov dword [esp + 0x1c], 1
mov eax, dword [0x519c00]
mov ecx, dword [0x519c04]
mov edx, dword [0x519bc0]
mov dword [esp + 0x8c], eax
mov eax, dword [0x519bc8]
mov dword [esp + 0x90], ecx
mov ecx, dword [0x519bcc]
xor esi, esi
cmp byte [0x51a58c], 0
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
je 0x430c13
cmp byte [0x529892], 0
mov dword [0x51a590], esi
je 0x430bc1
push 0x4c7ff0
push 0x529892
call fcn.00457d70
cmp word [0x529c92], si
je 0x430bd9
push 0x4c6b18
push 0x529c92
call fcn.00457e10
mov ecx, dword [0x519be0]
cmp ecx, esi
je 0x430beb
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x519be0], esi
call fcn.004393d0
cmp byte [0x527342], 0
push 0x529c92
sete cl
push esi
lea ecx, [ecx*4 + 0x54]
push ecx
call fcn.0048cef0
cmp dword [esp + 0x3c], esi
mov dword [esp + 0x20], esi
jle 0x4315d7
mov eax, dword [esp + 0x5c]
shl eax, 6
mov dword [esp + 0x30], eax
lea esp, [esp]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x4c]
add edx, eax
lea eax, [eax + eax*8]
mov dword [esp + 0x48], edx
lea edx, [ecx + eax*8]
lea ecx, [esp + 0x1c4]
mov dword [0x509bb0], edx
call fcn.00470660
cmp byte [0x51a58c], 0
mov dword [esp + 0x94], eax
je 0x430d22
mov eax, dword [0x509bb0]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x51a590]
je 0x430d22
movzx ecx, word [0x519c88]
cmp eax, ecx
jne 0x430cc0
cmp byte [0x529892], 0
je 0x430ca5
push 0x4c7fec
push 0x529892
call fcn.00457d70
cmp word [0x529c92], 0
je 0x430cf2
push 0x4c6acc
push 0x529c92
call fcn.00457e10
jmp 0x430cf2
cmp byte [0x529892], 0
je 0x430cd4
push eax
push 0x529892
call fcn.0042fa70
cmp word [0x529c92], 0
je 0x430cf2
mov edx, dword [0x509bb0]
mov eax, dword [edx + 0x20]
push eax
push 0x529c92
call fcn.0042fd70
mov ecx, dword [0x509bb0]
mov edx, dword [ecx + 0x20]
mov ecx, dword [0x519be0]
mov dword [0x51a590], edx
test ecx, ecx
je 0x430d13
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov dword [0x519be0], 0
call fcn.004393d0
mov eax, dword [0x509bb0]
mov ebx, dword [eax]
add ebx, dword [0x519c08]
mov esi, dword [eax + 4]
adc esi, dword [0x519c0c]
push 0
push 0x2000
push esi
push ebx
call fcn.004b1ee0
mov edi, eax
mov eax, ebx
sub eax, edi
mov ecx, esi
sbb ecx, edx
mov dword [esp + 0x78], edx
test esi, esi
jg 0x430e08
jl 0x430d66
test ebx, ebx
jae 0x430e08
push 0x2ad
call fcn.00466860
push eax
push 0x529c92
call fcn.00499df0
add esp, 8
cmp dword [esp + 0x48], 0
mov dword [esp + 0x14], 2
jne 0x430dfb
mov eax, dword [0x519c08]
mov ecx, dword [0x519c0c]
mov edx, eax
or edx, ecx
je 0x430dfb
mov dword [esp + 0x28], ecx
xor ecx, ecx
push ecx
mov dword [esp + 0x28], eax
mov eax, dword [0x509bb0]
mov dword [0x519c08], ecx
mov dword [0x519c0c], ecx
mov ebx, dword [eax + 4]
mov esi, dword [eax]
push 0x2000
push ebx
push esi
call fcn.004b1ee0
mov edi, eax
mov eax, esi
sub eax, edi
mov ecx, ebx
sbb ecx, edx
mov dword [esp + 0x78], edx
test ebx, ebx
jg 0x430e08
jl 0x430de3
test esi, esi
jae 0x430e08
push 0x2ad
call fcn.00466860
push eax
push 0x529c92
call fcn.00499df0
add esp, 8
mov dword [esp + 0x14], 3
jmp case.0x431393.78
cmp eax, dword [0x519c00]
jne 0x430e47
cmp ecx, dword [0x519c04]
jne 0x430e47
cmp byte [0x51a58c], 0
jne 0x430e47
mov eax, dword [0x519bc0]
mov ecx, dword [0x519bbc]
sub eax, edi
sub eax, ecx
cdq
add dword [0x519bc8], eax
adc dword [0x519bcc], edx
add edi, ecx
mov dword [0x519bc0], edi
jmp 0x430ec0
push 0
push ecx
mov ecx, dword [0x519be0]
push eax
call fcn.00434b50
mov ecx, dword [0x519be0]
call fcn.00434340
mov dword [0x519c00], eax
mov eax, dword [0x519bbc]
push 0x2000
push eax
mov dword [0x519c04], edx
call fcn.00439600
cdq
mov ecx, edx
mov esi, eax
mov dword [0x519bc8], esi
mov dword [0x519bcc], ecx
test ecx, ecx
jg 0x430e9f
jl 0x430de3
test esi, esi
jbe 0x430de3
mov edx, dword [0x519bbc]
lea eax, [edi + edx]
mov dword [0x519bc0], eax
mov eax, edi
cdq
sub esi, eax
sbb ecx, edx
mov dword [0x519bc8], esi
mov dword [0x519bcc], ecx
push 4
push 0x5089a4
call fcn.004397a0
test eax, eax
je 0x430de3
push 4
push 0x519c18
push 0x5089a4
call fcn.004b18a7
add esp, 0xc
test eax, eax
je 0x430fb7
push 0x2ad
call fcn.00466860
push eax
push 0x529c92
call fcn.00499df0
mov eax, dword [0x519c08]
mov ecx, dword [0x519c0c]
add esp, 8
cmp dword [esp + 0x48], 0
mov edi, 2
mov dword [esp + 0x14], edi
mov edx, eax
jne 0x430f2b
or edx, ecx
jne 0x430f4b
jmp 0x430f33
or edx, ecx
jne case.0x431393.78
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov ebx, edx
or ebx, esi
je case.0x431393.78
mov ebx, eax
or ebx, ecx
je 0x430f61
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x28], ecx
mov dword [0x519c08], eax
mov dword [0x519c0c], eax
jmp 0x430f6d
mov dword [0x519c08], edx
mov dword [0x519c0c], esi
mov eax, dword [0x509bb0]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
call fcn.00439a00
test eax, eax
jne 0x430de3
push 4
push 0x5089a4
call fcn.004397a0
test eax, eax
je 0x430de3
push 4
push 0x519c18
push 0x5089a4
call fcn.004b18a7
add esp, 0xc
test eax, eax
je 0x430fbb
jmp 0x430de3
mov edi, dword [esp + 0x14]
call fcn.0045a0c0
mov esi, eax
test esi, esi
je 0x430fe7
push 0x2ad
call fcn.00466860
push eax
push 0x529c92
call fcn.00499df0
add esp, 8
mov dword [esp + 0x14], esi
jmp case.0x431393.78
movzx ecx, word [0x519c48]
xor eax, eax
push eax
push 0x519c2a
push 2
push ecx
mov word [0x519cf4], ax
call fcn.00439d10
test eax, eax
je 0x431039
cmp eax, edi
jle 0x431012
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jle 0x431039
push 0x519cf4
push 0x2ab
call fcn.00466860
push eax
push 0x529c92
call fcn.00499df0
add esp, 0xc
jmp case.0x431393.78
mov eax, dword [0x519c10]
test eax, eax
je 0x431055
push eax
call fcn.004b01c1
add esp, 4
mov dword [0x519c10], 0
movzx edx, word [0x519c4a]
push 0
push 0
push 3
push edx
call fcn.00439d10
test eax, eax
je 0x431079
cmp eax, edi
jle 0x431074
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x431017
movzx eax, word [0x519c4a]
mov ecx, dword [0x519c10]
push 1
push eax
push ecx
call fcn.00459f30
mov eax, dword [0x51a4f4]
movzx ecx, word [0x519c4a]
push 0x1800
lea edx, [esp + 0x1760]
push edx
push eax
mov eax, dword [0x519c10]
push ecx
call fcn.0042fbc0
test al, al
je 0x4310cf
push 0x400
push 0x519cf4
lea edx, [esp + 0x1764]
push edx
call fcn.00477270
mov eax, dword [0x509bb0]
mov ecx, dword [eax + 0x28]
mov dword [0x51a4f8], ecx
mov edx, dword [eax + 0x2c]
mov dword [0x51a4fc], edx
mov ecx, dword [eax + 0x30]
mov dword [0x51a500], ecx
mov edx, dword [eax + 0x34]
mov dword [0x51a504], edx
mov ecx, dword [eax + 0x38]
mov dword [0x51a508], ecx
mov edx, dword [eax + 0x3c]
lea eax, [esp + 0x6c]
push eax
movzx eax, word [0x519c4a]
lea ecx, [esp + 0xa4]
mov dword [0x51a50c], edx
push ecx
mov ecx, dword [0x519c10]
lea edx, [esp + 0xa0]
push edx
call fcn.0042fad0
test al, al
je 0x43117b
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov dword [0x51a4f8], eax
mov eax, dword [esp + 0xa4]
mov dword [0x51a4fc], ecx
mov ecx, dword [esp + 0x6c]
mov dword [0x51a500], edx
mov edx, dword [esp + 0x70]
mov dword [0x51a504], eax
mov dword [0x51a508], ecx
mov dword [0x51a50c], edx
movzx eax, word [0x519c4a]
mov ecx, dword [0x519c10]
push 0x519c2c
push eax
push ecx
call fcn.004766c0
mov eax, dword [esp + 0x94]
test eax, eax
je 0x4311b5
cmp word [eax], 0
je 0x4311b5
push 0x400
push eax
push 0x519cf4
call fcn.0046fc70
push 0x519cf4
call fcn.00455760
cmp word [eax], 0x5c
sete bl
test bl, bl
je 0x4311cf
xor edx, edx
mov word [eax], dx
cmp word [0x519cf4], 0
je 0x431209
cmp word [0x519cf6], 0
je 0x431209
cmp word [0x519cf8], 0
mov eax, 0x519cf8
je 0x431209
cmp word [eax], 0x3a
jne 0x431200
mov ecx, 0x5f
mov word [eax], cx
add eax, 2
cmp word [eax], 0
jne 0x4311f2
push 0x519cf4
push 0x519cf4
call fcn.00456070
push 0x400
push 0x519cf4
push 0
call fcn.0040a5b0
mov eax, dword [0x509bb0]
test byte [eax + 0x24], 0x10
je 0x43124a
mov edx, dword [eax + 0x10]
or edx, dword [eax + 0x14]
jne 0x43124a
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x431248
cmp eax, 0xb
jne 0x43124a
mov bl, 1
cmp byte [0x528c62], 0x49
movzx edx, byte [0x527342]
sete al
push 0
movzx ecx, al
push ecx
push edx
push 0x519cf4
push 0
call fcn.0040a190
test al, al
je 0x4315d7
movsx eax, byte [0x528c62]
push eax
call fcn.004b14d1
add esp, 4
cmp eax, 0x49
jne 0x4312aa
push 0x519cf4
push 0
push 0x529c92
push 0x529892
push 0x528c63
push 0
push 0
call fcn.0043b2a0
cmp byte [0x527342], 0
jne case.0x431393.89
xor esi, esi
test bl, bl
jne 0x4313db
push 0x519cf4
call fcn.00439c40
cmp eax, 0xffffffff
je 0x4313c1
test eax, eax
je 0x431305
cmp eax, 1
jne case.0x431393.89
mov eax, dword [0x5271f8]
cmp eax, 2
je case.0x431393.78
cmp byte [0x527219], 0
jne 0x431301
cmp byte [0x527218], 0
je 0x431313
test esi, esi
jmp 0x43130d
mov eax, dword [0x5271f8]
cmp eax, 2
je case.0x431393.78
test eax, eax
je case.0x431393.66
cmp eax, 3
jne case.0x431393.89
xor eax, eax
jmp 0x431330
movzx ecx, word [eax + 0x519cf4]
mov word [esp + eax + 0xf5c], cx
add eax, 2
test cx, cx
jne 0x431330
movzx ecx, word [0x519c30]
movzx edx, word [0x519c2e]
mov eax, dword [0x508994]
push 0
shl ecx, 0x10
add ecx, edx
push ecx
mov ecx, dword [0x508990]
push eax
push ecx
lea edx, [esp + 0xf6c]
push edx
push 0
call fcn.0040b2f0
cmp al, 0x43
je 0x4315d7
movsx eax, al
add eax, 0xffffffbf
cmp eax, 0x38
ja case.0x431393.66
movzx eax, byte [eax + 0x4319b4]
jmp dword [eax*4 + 0x4319a0]
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0xf5c]
mov word [eax + 0x519cf4], cx
add eax, 2
test cx, cx
jne 0x4313a0
mov esi, 1
jmp 0x4312c1
cmp byte [0x527218], 0
je case.0x431393.89
test esi, esi
je case.0x431393.78
jmp case.0x431393.89
cmp byte [0x527218], 0
jne case.0x431393.78
cmp word [0x519cf4], 0
je case.0x431393.78
cmp dword [0x52721c], 1
je case.0x431393.78
mov ecx, dword [0x509bb0]
mov eax, dword [ecx + 0x1c]
xor esi, esi
test eax, eax
je 0x431417
cmp eax, 0xb
jne 0x43141a
mov esi, dword [ecx + 0x24]
push 0x519cf4
call fcn.00435620
test al, al
jne 0x4314b2
cmp byte [0x5272e3], al
push esi
sete cl
movzx edx, cl
push edx
push 0x519cf4
push 0
call fcn.00435df0
test eax, eax
je 0x4314b2
push 1
push 0x519cf4
call fcn.00435fc0
cmp byte [0x5272e3], 0
push esi
sete al
movzx ecx, al
push ecx
push 0x519cf4
push 0
call fcn.00435df0
test eax, eax
je 0x4314b2
push 0x519cf4
push 0x1f7
call fcn.00466860
push eax
push 0x529c92
call fcn.00499df0
add esp, 0xc
push 0x519cf4
push 0
mov ecx, 0x5072f4
call fcn.0042c8f0
mov ecx, 0x5072f4
call fcn.0042caa0
jmp case.0x431393.78
push 0x519cf4
lea ecx, [esp + 0x120]
call fcn.004703f0
mov edx, dword [0x51a4fc]
mov eax, dword [0x51a4f8]
push edx
push eax
lea ecx, [esp + 0x68]
call fcn.0041b900
mov ecx, dword [0x51a50c]
mov edx, dword [0x51a508]
push ecx
push edx
lea ecx, [esp + 0x68]
call fcn.0041b900
mov eax, dword [0x51a504]
mov ecx, dword [0x51a500]
push eax
push ecx
lea ecx, [esp + 0x68]
call fcn.0041b900
jmp case.0x431393.78
mov dword [0x5271f8], 1
mov edx, dword [0x509bb0]
test byte [edx + 0x40], 1
je 0x431596
call fcn.00476eb0
test eax, eax
je 0x431596
cmp eax, 9
je 0x4317d2
cmp eax, 1
jne 0x43157d
cmp dword [0x508950], 0
jne 0x431577
cmp dword [0x51a510], 0
je 0x43155a
push 0
call fcn.00499800
add esp, 4
inc dword [esp + 0x40]
jmp case.0x431393.78
push 0x519cf4
push 0x1fb
call fcn.00466860
push eax
push 0x529c92
call fcn.00499df0
add esp, 0xc
inc dword [esp + 0x40]
jmp case.0x431393.78
cmp eax, dword [esp + 0x14]
jle 0x431587
mov dword [esp + 0x14], eax
push 0x519cf4
push 0x1fb
jmp 0x431021
mov dword [0x519cc4], 0
call fcn.0042ff20
test eax, eax
je case.0x431393.78
mov esi, dword [esp + 0x14]
cmp eax, esi
jle 0x4315b7
mov esi, eax
mov dword [esp + 0x14], esi
cmp dword [0x519cc4], 1
jg 0x4317e1
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
jl 0x430c30
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
push 0
push eax
push ecx
mov ecx, dword [0x519be0]
call fcn.00434b50
mov ecx, dword [0x519be0]
call fcn.00434340
mov dword [0x519c04], edx
mov edx, dword [0x519bbc]
push 0x2000
push edx
mov dword [0x519c00], eax
call fcn.00439600
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
inc dword [esp + 0x5c]
cmp dword [esp + 0x1c], 0
mov dword [0x519bc0], eax
mov dword [0x519bc8], ecx
mov dword [0x519bcc], edx
je 0x430680
push 0x400
lea eax, [esp + 0xf60]
push eax
lea ecx, [esp + 0x124]
call fcn.00470700
test al, al
je 0x431782
mov esi, dword [esp + 0x60]
add esi, 0x10
jmp 0x431680
mov ecx, dword [esi - 0x10]
mov dword [esp + 0x6c], ecx
mov edx, dword [esi - 0xc]
mov dword [esp + 0x70], edx
mov eax, dword [esi - 8]
mov dword [esp + 0x34], eax
mov ecx, dword [esi - 4]
mov dword [esp + 0x38], ecx
mov edx, dword [esi]
mov dword [esp + 0x24], edx
mov eax, dword [esi + 4]
lea ecx, [esp + 0xf8]
mov dword [esp + 0x28], eax
call fcn.004128b0
lea ecx, [esp + 0xd4]
call fcn.004128b0
lea ecx, [esp + 0xb0]
call fcn.004128b0
cmp dword [0x52780c], 0
je 0x4316e7
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0xfc]
call fcn.00472da0
cmp dword [0x527810], 0
je 0x43170f
cmp dword [esp + 0x38], 0
jne 0x4316fe
cmp dword [esp + 0x34], 0
je 0x43170f
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0xd8]
call fcn.00472da0
cmp dword [0x527814], 0
je 0x431737
cmp dword [esp + 0x28], 0
jne 0x431726
cmp dword [esp + 0x24], 0
je 0x431737
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0xb4]
call fcn.00472da0
lea ecx, [esp + 0xb0]
push ecx
lea edx, [esp + 0xd8]
push edx
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0xf68]
push ecx
push 0
call fcn.00436160
push 0x400
lea edx, [esp + 0xf60]
push edx
lea ecx, [esp + 0x124]
add esi, 0x18
call fcn.00470700
test al, al
jne 0x431680
cmp byte [0x51b848], 0
jne 0x431845
cmp dword [esp + 0x58], 0
je 0x431845
cmp byte [0x51a58c], 0
jne 0x431845
push 0x2ad
call fcn.00466860
push eax
push 0x529c92
call fcn.00499df0
mov ebx, dword [esp + 0x1c]
add esp, 8
test ebx, ebx
jne 0x431849
mov ebx, 1
jmp 0x431849
push 0
call fcn.00499800
add esp, 4
jmp 0x431650
mov byte [esp + 0x2f70], 2
lea ecx, [esp + 0x11c]
call fcn.00401e20
mov byte [esp + 0x2f70], 1
mov eax, dword [esp + 0x60]
test eax, eax
je 0x43180e
push eax
call fcn.004b01c1
add esp, 4
mov byte [esp + 0x2f70], 0
lea ecx, [esp + 0x1c4]
call fcn.00401e20
mov dword [esp + 0x2f70], 0xffffffff
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x43183e
push eax
call fcn.004b01c1
add esp, 4
mov eax, esi
jmp 0x43197b
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x48]
movzx edi, word [esp + 0x40]
inc esi
cmp esi, edi
jne 0x431881
cmp byte [0x528c62], 0x49
je 0x431881
cmp dword [0x51a510], 0
jne 0x431881
push 0x345
call fcn.00466860
push eax
push 0x529c92
call fcn.00499df0
add esp, 8
test esi, esi
jne 0x43189c
cmp ebx, 1
jg 0x43189c
xor ax, ax
cmp ax, word [esp + 0x44]
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
jmp 0x4318d1
cmp esi, edi
jne 0x4318ac
cmp ebx, 1
jg 0x4318ac
mov ebx, 0x52
jmp 0x4318d1
cmp word [esp + 0x44], 0
jbe 0x4318c0
cmp ebx, 1
jg 0x4318c0
mov ebx, 0x51
jmp 0x4318d1
cmp word [esp + 0x40], 0
jbe 0x4318d1
test ebx, ebx
jne 0x4318d1
mov ebx, 1
mov byte [esp + 0x2f70], 6
mov eax, dword [esp + 0x12c]
test eax, eax
je 0x4318ed
push eax
call fcn.004b01c1
add esp, 4
mov byte [esp + 0x2f70], 2
mov eax, dword [esp + 0x11c]
test eax, eax
je 0x431909
push eax
call fcn.004b01c1
add esp, 4
mov byte [esp + 0x2f70], 1
cmp dword [esp + 0x60], 0
je 0x431925
mov ecx, dword [esp + 0x60]
push ecx
call fcn.004b01c1
add esp, 4
mov byte [esp + 0x2f70], 8
mov eax, dword [esp + 0x1d4]
test eax, eax
je 0x431941
push eax
call fcn.004b01c1
add esp, 4
mov byte [esp + 0x2f70], 0
mov eax, dword [esp + 0x1c4]
test eax, eax
je 0x43195d
push eax
call fcn.004b01c1
add esp, 4
mov dword [esp + 0x2f70], 0xffffffff
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x431979
push eax
call fcn.004b01c1
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0x2f68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2f50]
xor ecx, esp
call fcn.004affec
mov esp, ebp
pop ebp
ret