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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4d4538
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x646c
call fcn.004c1c40
mov eax, dword [0x4ec0b4]
xor eax, esp
mov dword [esp + 0x6468], eax
push ebx
push esi
push edi
mov eax, dword [0x4ec0b4]
xor eax, esp
push eax
lea eax, [esp + 0x6480]
mov dword fs:[0], eax
xor esi, esi
push 0x40
lea ecx, [esp + 0x50]
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x44], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
call fcn.004376c0
mov dword [esp + 0x6488], esi
lea ecx, [esp + 0x10c]
call fcn.00480330
mov byte [esp + 0x6488], 1
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov byte [esp + 0x6488], 2
lea ecx, [esp + 0xac]
call fcn.00480330
mov byte [esp + 0x6488], 3
mov eax, dword [esp + 0x4c]
mov dword [0x522790], eax
mov dword [0x521550], 1
nop
cmp byte [0x535c28], 0
jne 0x439065
mov esi, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], eax
lea edi, [eax + 1]
mov edi, edi
mov ebx, dword [esp + 0x34]
cmp ebx, 0x40
jl 0x4381d6
cmp byte [0x53396c], 0
je 0x43861a
mov eax, dword [esp + 0x50]
cmp ebx, eax
jl 0x4381f8
cmp edi, dword [esp + 0x54]
jbe 0x4381f4
mov ecx, edi
sub ecx, eax
push ecx
lea ecx, [esp + 0x50]
call fcn.004376c0
jmp 0x4381f8
mov dword [esp + 0x50], edi
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x18]
push 4
add eax, edx
push 0x521584
mov dword [0x522790], eax
call fcn.00440ac0
test eax, eax
je 0x438501
push 4
push 0x5327fd
push 0x521584
call fcn.004c3e8e
add esp, 0xc
test eax, eax
jne 0x438516
call fcn.00464220
test eax, eax
jne 0x4385e1
movzx edx, byte [0x532831]
movzx eax, word [0x532850]
push edx
push 0x532834
push 2
xor ecx, ecx
push eax
mov word [0x5328d4], cx
call fcn.00440eb0
test eax, eax
je 0x43827c
cmp eax, esi
jle 0x438273
mov esi, eax
cmp eax, 1
jg 0x4385ef
movzx ecx, word [0x532852]
push 0
push 0
push 3
push ecx
call fcn.00440eb0
test eax, eax
je 0x4382a2
cmp eax, esi
jle 0x438299
mov esi, eax
cmp eax, 1
jg 0x4385ef
movzx edx, word [0x532852]
mov eax, dword [0x5327f0]
push 0
push edx
push eax
call fcn.00463970
movzx ecx, word [0x532852]
mov edx, dword [0x5327f0]
push 0x532836
push ecx
push edx
call fcn.00486810
movzx eax, word [0x532854]
push 0
push 0
push 0
push eax
call fcn.00440eb0
test eax, eax
je 0x4382f6
cmp eax, esi
jle 0x4382ed
mov esi, eax
cmp eax, 1
jg 0x4385ef
movzx eax, word [0x532852]
mov edx, dword [0x5338d4]
push 0x3000
lea ecx, [esp + 0x3478]
push ecx
push edx
push eax
mov eax, dword [0x5327f0]
call fcn.004375b0
test al, al
je 0x438348
push 0x800
push 0x5328d4
lea ecx, [esp + 0x347c]
push ecx
call fcn.004874e0
push 0x800
push 0
push 0x5328d4
call fcn.00460a40
movzx eax, word [0x532838]
movzx ecx, word [0x53283a]
lea edx, [esp + 0xa4]
push edx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
mov edx, dword [0x522790]
add edx, 0x28
push edx
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
mov ecx, dword [0x522790]
xor eax, eax
mov dword [ecx + 0x30], eax
add ecx, 0x30
mov dword [ecx + 4], eax
mov ecx, dword [0x522790]
add ecx, 0x38
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov eax, dword [0x522790]
lea ecx, [eax + 0x38]
push ecx
mov ecx, dword [0x5327f0]
lea edx, [eax + 0x30]
add eax, 0x28
push edx
push eax
movzx eax, word [0x532852]
call fcn.004374c0
movzx eax, word [0x532852]
mov ecx, dword [0x5327f0]
call fcn.00437660
mov bl, al
test bl, bl
je 0x4383f5
push 0x5328d4
push 0x605
call fcn.00475cc0
push eax
push 0x55147a
call fcn.004adf30
add esp, 0xc
lea ecx, [esp + 0x16c]
call fcn.00402350
mov byte [esp + 0x6488], 4
push 0x2300
lea eax, [esp + 0x170]
push 0
push eax
call fcn.004c2670
add esp, 0xc
push 0x800
push 0x5328d4
lea ecx, [esp + 0x194]
push ecx
call fcn.0047fbe0
mov edx, dword [0x522790]
add edx, 0x28
push edx
lea ecx, [esp + 0x11a0]
call fcn.00482da0
cmp dword [0x534b74], 1
mov eax, dword [0x532848]
mov ecx, dword [0x53284c]
mov dword [esp + 0x11bc], eax
mov dword [esp + 0x11c0], ecx
mov eax, 5
je 0x43848b
cmp dword [0x54c1e4], 0
jne 0x43848b
cmp byte [0x550434], 0
jne 0x43848b
mov eax, VariantClear
test bl, bl
jne 0x4384d2
push eax
push 0
lea edx, [esp + 0x174]
push edx
mov ecx, 0x546060
call fcn.00421a30
test eax, eax
je 0x4384d2
call fcn.00437190
test eax, eax
je 0x4384ce
push 0x5328d4
lea ecx, [esp + 0x110]
call fcn.004801a0
inc dword [esp + 0x34]
inc edi
add dword [esp + 0x18], 0x48
jmp 0x4384d2
inc dword [esp + 0x2c]
add dword [esp + 0x24], 1
adc dword [esp + 0x28], 0
mov byte [esp + 0x6488], 3
mov eax, dword [esp + 0x118c]
test eax, eax
je 0x4381c0
push eax
call fcn.004c23c4
add esp, 4
jmp 0x4381c0
mov dword [esp + 0x10], 0x33
mov dword [esp + 0x14], 1
jmp 0x43861e
mov edx, dword [0x532878]
mov eax, edx
xor eax, dword [esp + 0x24]
xor ecx, ecx
and eax, 0xffff
or eax, ecx
mov dword [esp + 0x10], esi
je 0x43856e
cmp edx, 0xffff
jne 0x438541
cmp dword [0x53287c], ecx
je 0x43856e
push 0x2ae
call fcn.00475cc0
push eax
push 0x55147a
call fcn.004adf30
add esp, 8
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 1
jmp 0x43861e
push 4
push 0x532802
push 0x521584
mov byte [esp + 0x2478], 0x50
mov dword [esp + 0x2479], 0x6064b
call fcn.004c3e8e
add esp, 0xc
test eax, eax
je 0x4385cf
cmp byte [0x533974], 0
je 0x4385bd
push 4
lea eax, [esp + 0x2470]
push eax
push 0x521584
call fcn.004c3e8e
add esp, 0xc
test eax, eax
je 0x4385cf
mov dword [esp + 0x3c], 1
mov dword [esp + 0x14], 1
jmp 0x43861e
mov dword [esp + 0x3c], 0
mov dword [esp + 0x14], 1
jmp 0x43861e
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
jmp 0x43861e
push 0x5328d4
push 0x2ab
mov dword [esp + 0x18], esi
call fcn.00475cc0
push eax
push 0x55147a
call fcn.004adf30
add esp, 0xc
mov dword [esp + 0x14], 1
jmp 0x43861e
mov dword [esp + 0x10], esi
mov ecx, dword [0x5327e0]
mov edx, dword [0x5327e4]
mov eax, dword [0x5327a0]
mov dword [esp + 0x84], ecx
mov ecx, dword [0x5327a8]
mov dword [esp + 0x88], edx
mov edx, dword [0x5327ac]
xor esi, esi
cmp byte [0x53396c], 0
mov dword [esp + 0xa0], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
je 0x4386b1
push 0x4d8bac
push 0x55147a
mov dword [0x533970], esi
call fcn.00462140
mov ecx, dword [0x5327c0]
cmp ecx, esi
je 0x43868a
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov dword [0x5327c0], esi
call fcn.00440740
cmp byte [0x54c339], 0
push 0x55147a
sete al
lea eax, [eax*4 + 0x54]
push eax
call fcn.004a1410
cmp ebx, esi
mov dword [esp + 0x18], esi
jle 0x438fee
mov eax, dword [esp + 0x40]
shl eax, 6
mov dword [esp + 0x9c], eax
jmp 0x4386d0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x9c]
add ecx, eax
lea edx, [eax + eax*8]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x38], ecx
lea ecx, [eax + edx*8]
mov dword [0x522790], ecx
lea ecx, [esp + 0x10c]
call fcn.00480480
cmp byte [0x53396c], 0
mov dword [esp + 0x90], eax
je 0x438774
mov edx, dword [0x522790]
mov eax, dword [edx + 0x20]
cmp eax, dword [0x533970]
je 0x438774
movzx ecx, word [0x532868]
cmp eax, ecx
jne 0x43873a
push 0x4d8b60
push 0x55147a
call fcn.00462140
jmp 0x438745
push eax
push 0x55147a
call fcn.00437860
mov edx, dword [0x522790]
mov ecx, dword [0x5327c0]
mov eax, dword [edx + 0x20]
mov dword [0x533970], eax
test ecx, ecx
je 0x438765
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x5327c0], 0
call fcn.00440740
mov eax, dword [0x522790]
mov esi, dword [eax]
add esi, dword [0x5327e8]
mov edi, dword [eax + 4]
adc edi, dword [0x5327ec]
push 0
push 0x2000
push edi
push esi
mov dword [esp + 0xa4], esi
call fcn.004c4cf0
mov ebx, eax
mov eax, esi
sub eax, ebx
mov esi, edi
sbb esi, edx
test edi, edi
jg 0x43886c
jl 0x4387c1
cmp dword [esp + 0x94], 0
jae 0x43886c
push 0x2ae
call fcn.00475cc0
push eax
push 0x55147a
call fcn.004adf30
add esp, 8
cmp dword [esp + 0x38], 0
mov dword [esp + 0x10], 2
jne 0x43885f
mov eax, dword [0x5327e8]
mov ecx, dword [0x5327ec]
mov edx, eax
or edx, ecx
je 0x43885f
mov dword [esp + 0x20], ecx
xor ecx, ecx
push ecx
mov dword [esp + 0x20], eax
mov eax, dword [0x522790]
mov dword [0x5327e8], ecx
mov dword [0x5327ec], ecx
mov edi, dword [eax + 4]
mov esi, dword [eax]
push 0x2000
push edi
push esi
mov dword [esp + 0xa4], esi
call fcn.004c4cf0
mov ebx, eax
mov eax, esi
sub eax, ebx
mov esi, edi
sbb esi, edx
test edi, edi
jg 0x43886c
jl 0x438847
cmp dword [esp + 0x94], 0
jae 0x43886c
push 0x2ae
call fcn.00475cc0
push eax
push 0x55147a
call fcn.004adf30
add esp, 8
mov dword [esp + 0x10], 3
jmp case.0x438dd2.78
xor edi, edi
cmp eax, dword [0x5327e0]
jne 0x4388ad
cmp esi, dword [0x5327e4]
jne 0x4388ad
cmp byte [0x53396c], 0
jne 0x4388ad
mov eax, dword [0x5327a0]
mov ecx, dword [0x53279c]
sub eax, ebx
sub eax, ecx
cdq
add dword [0x5327a8], eax
adc dword [0x5327ac], edx
add ebx, ecx
mov dword [0x5327a0], ebx
jmp 0x43892a
mov ecx, dword [0x5327c0]
mov edx, dword [ecx]
push edi
push esi
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [0x5327c0]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [0x53279c]
push 0x2000
push ecx
mov dword [0x5327e0], eax
mov dword [0x5327e4], edx
call fcn.00440950
cdq
mov ecx, edx
cmp ecx, edi
mov esi, eax
mov dword [0x5327a8], esi
mov dword [0x5327ac], ecx
jg 0x438909
jl 0x438847
cmp esi, edi
jbe 0x438847
mov edx, dword [0x53279c]
lea eax, [ebx + edx]
mov dword [0x5327a0], eax
mov eax, ebx
cdq
sub esi, eax
sbb ecx, edx
mov dword [0x5327a8], esi
mov dword [0x5327ac], ecx
push 4
push 0x521584
call fcn.00440ac0
test eax, eax
je 0x438847
push 4
push 0x5327f8
push 0x521584
call fcn.004c3e8e
add esp, 0xc
test eax, eax
je 0x438a1e
push 0x2ae
call fcn.00475cc0
push eax
push 0x55147a
call fcn.004adf30
mov eax, dword [0x5327e8]
mov ecx, dword [0x5327ec]
add esp, 8
mov dword [esp + 0x10], 2
mov edx, eax
cmp dword [esp + 0x38], edi
jne 0x438993
or edx, ecx
jne 0x4389b3
jmp 0x43899b
or edx, ecx
jne case.0x438dd2.78
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov ebx, edx
or ebx, esi
je case.0x438dd2.78
mov ebx, eax
or ebx, ecx
je 0x4389c9
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [0x5327e8], edi
mov dword [0x5327ec], edi
jmp 0x4389d5
mov dword [0x5327e8], edx
mov dword [0x5327ec], esi
mov eax, dword [0x522790]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
call fcn.00440d00
cmp eax, edi
jne 0x438847
push 4
push 0x521584
call fcn.00440ac0
test eax, eax
je 0x438847
push 4
push 0x5327f8
push 0x521584
call fcn.004c3e8e
add esp, 0xc
test eax, eax
jne 0x438847
call fcn.00463b00
mov esi, eax
cmp esi, edi
je 0x438a4a
push 0x2ae
call fcn.00475cc0
push eax
push 0x55147a
call fcn.004adf30
add esp, 8
mov dword [esp + 0x10], esi
jmp case.0x438dd2.78
movzx ecx, word [0x532828]
push edi
push 0x53280a
push 2
xor eax, eax
push ecx
mov word [0x5328d4], ax
call fcn.00440eb0
cmp eax, edi
je 0x438a9c
cmp eax, dword [esp + 0x10]
jle 0x438a75
mov dword [esp + 0x10], eax
cmp eax, 1
jle 0x438a9c
push 0x5328d4
push 0x2ab
call fcn.00475cc0
push eax
push 0x55147a
call fcn.004adf30
add esp, 0xc
jmp case.0x438dd2.78
mov eax, dword [0x5327f0]
cmp eax, edi
je 0x438ab4
push eax
call fcn.004c23c4
add esp, 4
mov dword [0x5327f0], edi
movzx edx, word [0x53282a]
push edi
push edi
push 3
push edx
call fcn.00440eb0
cmp eax, edi
je 0x438ad8
cmp eax, dword [esp + 0x10]
jle 0x438ad3
mov dword [esp + 0x10], eax
cmp eax, 1
jg 0x438a7a
movzx eax, word [0x53282a]
mov ecx, dword [0x5327f0]
push 1
push eax
push ecx
call fcn.00463970
mov eax, dword [0x5338d4]
movzx ecx, word [0x53282a]
push 0x3000
lea edx, [esp + 0x3478]
push edx
push eax
mov eax, dword [0x5327f0]
push ecx
call fcn.004375b0
test al, al
je 0x438b3e
push 0x800
push 0x5328d4
lea edx, [esp + 0x347c]
push edx
call fcn.004874e0
push 0x800
push edi
push 0x5328d4
call fcn.00460a40
mov eax, dword [0x522790]
mov ecx, dword [eax + 0x28]
mov dword [0x5338d8], ecx
mov edx, dword [eax + 0x2c]
mov dword [0x5338dc], edx
mov ecx, dword [eax + 0x30]
mov dword [0x5338e0], ecx
mov edx, dword [eax + 0x34]
mov dword [0x5338e4], edx
mov ecx, dword [eax + 0x38]
mov dword [0x5338e8], ecx
mov edx, dword [eax + 0x3c]
lea eax, [esp + 0x64]
push eax
movzx eax, word [0x53282a]
lea ecx, [esp + 0x60]
mov dword [0x5338ec], edx
push ecx
mov ecx, dword [0x5327f0]
lea edx, [esp + 0x74]
push edx
call fcn.004374c0
test al, al
je 0x438bd8
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x5c]
mov dword [0x5338d8], eax
mov eax, dword [esp + 0x60]
mov dword [0x5338dc], ecx
mov ecx, dword [esp + 0x64]
mov dword [0x5338e0], edx
mov edx, dword [esp + 0x68]
mov dword [0x5338e4], eax
mov dword [0x5338e8], ecx
mov dword [0x5338ec], edx
movzx eax, word [0x53282a]
mov ecx, dword [0x5327f0]
push 0x53280c
push eax
push ecx
call fcn.00486810
mov eax, dword [esp + 0x90]
cmp eax, edi
je 0x438c11
cmp word [eax], di
je 0x438c11
push 0x800
push eax
push 0x5328d4
call fcn.0047fbe0
push 0x5328d4
call fcn.00460740
cmp word [eax], 0x5c
sete bl
test bl, bl
je 0x438c2b
xor edx, edx
mov word [eax], dx
cmp word [0x5328d4], di
je 0x438c66
cmp word [0x5328d6], di
je 0x438c66
mov eax, 0x5328d8
cmp word [0x5328d8], di
je 0x438c66
jmp 0x438c50
cmp word [eax], 0x3a
jne 0x438c5e
mov ecx, 0x5f
mov word [eax], cx
add eax, 2
cmp word [eax], di
jne 0x438c50
push 0x5328d4
push 0x5328d4
call fcn.00460cb0
push 0x800
push 0x5328d4
push edi
call fcn.0040aa80
mov eax, dword [0x522790]
test byte [eax + 0x24], 0x10
je 0x438ca6
mov edx, dword [eax + 0x10]
or edx, dword [eax + 0x14]
jne 0x438ca6
mov eax, dword [eax + 0x1c]
cmp eax, edi
je 0x438ca4
cmp eax, 0xb
jne 0x438ca6
mov bl, 1
cmp word [0x55045a], 0x49
movzx edx, byte [0x54c339]
sete al
push edi
movzx ecx, al
push ecx
push edx
push 0x5328d4
push edi
call fcn.0040a670
test al, al
je 0x438fee
movzx eax, word [0x55045a]
push eax
call fcn.004877a0
cmp eax, 0x49
jne 0x438cf9
push 0x5328d4
push 0x55147a
push 0x55045c
push edi
push edi
call fcn.00442290
cmp byte [0x54c339], 0
jne case.0x438dd2.89
xor esi, esi
test bl, bl
jne 0x438e1b
push 0x5328d4
call fcn.00441420
cmp eax, 0xffffffff
je 0x438e01
cmp eax, edi
je 0x438d54
cmp eax, 1
jne case.0x438dd2.89
mov eax, dword [0x54c190]
cmp eax, 2
je case.0x438dd2.78
cmp byte [0x54c1b4], 0
jne 0x438d50
cmp byte [0x54c1b3], 0
je 0x438d62
cmp esi, edi
jmp 0x438d5c
mov eax, dword [0x54c190]
cmp eax, 2
je case.0x438dd2.78
cmp eax, edi
je case.0x438dd2.66
cmp eax, 3
jne case.0x438dd2.89
xor eax, eax
movzx ecx, word [eax + 0x5328d4]
mov word [esp + eax + 0x2474], cx
add eax, 2
cmp cx, di
jne 0x438d71
movzx ecx, word [0x532810]
movzx edx, word [0x53280e]
mov eax, dword [0x521574]
push edi
shl ecx, 0x10
add ecx, edx
push ecx
mov ecx, dword [0x521570]
push eax
push ecx
lea edx, [esp + 0x2484]
push edx
push edi
call fcn.0040b990
cmp al, 0x43
je 0x438fee
movsx eax, al
add eax, 0xffffffbf
cmp eax, 0x38
ja case.0x438dd2.66
movzx eax, byte [eax + 0x439370]
jmp dword [eax*4 + 0x43935c]
xor eax, eax
jmp 0x438de0
movzx ecx, word [esp + eax + 0x2474]
mov word [eax + 0x5328d4], cx
add eax, 2
cmp cx, di
jne 0x438de0
mov esi, 1
jmp 0x438d10
cmp byte [0x54c1b3], 0
je case.0x438dd2.89
cmp esi, edi
je case.0x438dd2.78
jmp case.0x438dd2.89
cmp byte [0x54c1b3], 0
jne case.0x438dd2.78
cmp word [0x5328d4], di
je case.0x438dd2.78
cmp dword [0x54c1b8], 1
je case.0x438dd2.78
mov ecx, dword [0x522790]
mov eax, dword [ecx + 0x1c]
xor esi, esi
cmp eax, edi
je 0x438e56
cmp eax, 0xb
jne 0x438e59
mov esi, dword [ecx + 0x24]
push 0x5328d4
call fcn.0043d340
test al, al
jne 0x438eeb
cmp byte [0x54c316], al
push esi
sete cl
movzx edx, cl
push edx
push 0x5328d4
call fcn.0043d970
test eax, eax
je 0x438eeb
push 1
push 0x5328d4
call fcn.0043da20
cmp byte [0x54c316], 0
push esi
sete al
movzx ecx, al
push ecx
push 0x5328d4
call fcn.0043d970
test eax, eax
je 0x438eeb
push 0x5328d4
push 0x1f7
call fcn.00475cc0
push eax
push 0x55147a
call fcn.004adf30
add esp, 0xc
push 0x5328d4
mov ecx, 0x51ff10
call fcn.00433cb0
mov ecx, 0x51ff10
call fcn.00433f70
jmp case.0x438dd2.78
push 0x5328d4
lea ecx, [esp + 0xb0]
call fcn.004801a0
mov edx, dword [0x5338dc]
mov eax, dword [0x5338d8]
push edx
push eax
lea ecx, [esp + 0x7c]
call fcn.004378c0
mov ecx, dword [0x5338ec]
mov edx, dword [0x5338e8]
push ecx
push edx
lea ecx, [esp + 0x7c]
call fcn.004378c0
mov eax, dword [0x5338e4]
mov ecx, dword [0x5338e0]
push eax
push ecx
lea ecx, [esp + 0x7c]
call fcn.004378c0
jmp case.0x438dd2.78
mov dword [0x54c190], 1
mov edx, dword [0x522790]
test byte [edx + 0x40], 1
je 0x438fb5
call fcn.00487070
cmp eax, edi
je 0x438fb5
cmp eax, 9
je 0x4391c5
cmp eax, 1
jne 0x438f9c
cmp dword [0x521530], edi
jne 0x438f96
push 0x5328d4
push 0x1fb
call fcn.00475cc0
push eax
push 0x55147a
call fcn.004adf30
add esp, 0xc
inc dword [esp + 0x30]
jmp case.0x438dd2.78
cmp eax, dword [esp + 0x10]
jle 0x438fa6
mov dword [esp + 0x10], eax
push 0x5328d4
push 0x1fb
jmp 0x438a84
mov dword [0x5328a4], edi
call fcn.00437a40
cmp eax, edi
je case.0x438dd2.78
cmp eax, dword [esp + 0x10]
jle 0x438fce
mov dword [esp + 0x10], eax
cmp dword [0x5328a4], 1
jg 0x4391d3
mov eax, dword [esp + 0x18]
inc eax
cmp eax, dword [esp + 0x34]
mov dword [esp + 0x18], eax
jl 0x4386d0
mov edx, dword [esp + 0x88]
mov ecx, dword [0x5327c0]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push 0
push edx
mov edx, dword [esp + 0x8c]
push edx
call eax
mov ecx, dword [0x5327c0]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [0x53279c]
push 0x2000
push ecx
mov dword [0x5327e0], eax
mov dword [0x5327e4], edx
call fcn.00440950
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
inc dword [esp + 0x40]
cmp dword [esp + 0x14], 0
mov dword [0x5327a0], edx
mov dword [0x5327a8], eax
mov dword [0x5327ac], ecx
je 0x4381a0
push 0x800
lea edx, [esp + 0x2478]
push edx
lea ecx, [esp + 0xb4]
call fcn.004803b0
test al, al
je 0x439175
mov esi, dword [esp + 0x74]
add esi, 0x10
lea ecx, [ecx]
mov eax, dword [esi - 0x10]
mov dword [esp + 0x64], eax
mov ecx, dword [esi - 0xc]
mov dword [esp + 0x68], ecx
mov edx, dword [esi - 8]
mov dword [esp + 0x24], edx
mov eax, dword [esi - 4]
mov dword [esp + 0x28], eax
mov ecx, dword [esi]
mov dword [esp + 0x1c], ecx
mov edx, dword [esi + 4]
lea ecx, [esp + 0x44]
mov dword [esp + 0x20], edx
call fcn.00482f00
lea ecx, [esp + 0x6c]
call fcn.00482f00
lea ecx, [esp + 0x5c]
call fcn.00482f00
cmp dword [0x54d404], 0
je 0x4390eb
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x48]
call fcn.00482da0
cmp dword [0x54d408], 0
je 0x439110
cmp dword [esp + 0x28], 0
jne 0x439102
cmp dword [esp + 0x24], 0
je 0x439110
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x70]
call fcn.00482da0
cmp dword [0x54d40c], 0
je 0x439135
cmp dword [esp + 0x20], 0
jne 0x439127
cmp dword [esp + 0x1c], 0
je 0x439135
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x60]
call fcn.00482da0
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x70]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x2480]
push eax
call fcn.0043d190
push 0x800
lea ecx, [esp + 0x2478]
push ecx
lea ecx, [esp + 0xb4]
add esi, 0x18
call fcn.004803b0
test al, al
jne 0x439090
cmp byte [0x535c28], 0
jne 0x439239
cmp dword [esp + 0x3c], 0
je 0x439239
cmp byte [0x53396c], 0
jne 0x439239
push 0x2ae
call fcn.00475cc0
push eax
push 0x55147a
call fcn.004adf30
mov edi, dword [esp + 0x18]
add esp, 8
test edi, edi
jne 0x43923d
mov edi, 1
jmp 0x43923d
push edi
call fcn.004ad8e0
add esp, 4
jmp 0x439065
mov byte [esp + 0x6488], 2
lea ecx, [esp + 0xac]
call fcn.00401b50
mov byte [esp + 0x6488], 1
mov eax, dword [esp + 0x74]
cmp eax, edi
je 0x439200
push eax
call fcn.004c23c4
add esp, 4
mov byte [esp + 0x6488], 0
lea ecx, [esp + 0x10c]
call fcn.00401b50
mov dword [esp + 0x6488], 0xffffffff
mov eax, dword [esp + 0x4c]
cmp eax, edi
je 0x439230
push eax
call fcn.004c23c4
add esp, 4
mov eax, dword [esp + 0x10]
jmp 0x439338
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
movzx ebx, word [esp + 0x30]
inc esi
cmp esi, ebx
jne 0x439276
cmp word [0x55045a], 0x49
je 0x439276
cmp dword [0x5338f0], 0
jne 0x439276
push 0x346
call fcn.00475cc0
push eax
push 0x55147a
call fcn.004adf30
add esp, 8
test esi, esi
jne 0x439291
cmp edi, 1
jg 0x439291
xor dx, dx
cmp dx, word [esp + 0x2c]
sbb edi, edi
and edi, 0x46
add edi, 0xb
jmp 0x4392c6
cmp esi, ebx
jne 0x4392a1
cmp edi, 1
jg 0x4392a1
mov edi, 0x52
jmp 0x4392c6
cmp word [esp + 0x2c], 0
jbe 0x4392b5
cmp edi, 1
jg 0x4392b5
mov edi, 0x51
jmp 0x4392c6
cmp word [esp + 0x30], 0
jbe 0x4392c6
test edi, edi
jne 0x4392c6
mov edi, 1
mov byte [esp + 0x6488], 2
mov eax, dword [esp + 0xac]
test eax, eax
je 0x4392e2
push eax
call fcn.004c23c4
add esp, 4
mov byte [esp + 0x6488], 1
cmp dword [esp + 0x74], 0
je 0x4392fe
mov eax, dword [esp + 0x74]
push eax
call fcn.004c23c4
add esp, 4
mov byte [esp + 0x6488], 0
mov eax, dword [esp + 0x10c]
test eax, eax
je 0x43931a
push eax
call fcn.004c23c4
add esp, 4
mov dword [esp + 0x6488], 0xffffffff
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x439336
push eax
call fcn.004c23c4
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x6480]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6468]
xor ecx, esp
call fcn.004c1c22
mov esp, ebp
pop ebp
ret