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

Disassembly:
push 0xffffffffffffffff
push 0x5624e1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c
mov al, byte [esp + 0x4c]
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov ebx, ecx
mov byte [esp + 0x3c], al
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
push 6
push 0x59e5d8
lea ecx, [esp + 0x2c]
mov dword [esp + 0x5c], ebp
call fcn.005318a0
push 6
push 0x59c0fc
lea ecx, [esp + 0x28]
mov byte [esp + 0x5c], 1
call fcn.005318a0
push 6
push 0x59c0f4
lea ecx, [esp + 0x24]
mov byte [esp + 0x5c], 2
call fcn.005318a0
push ebp
push ebp
push ecx
mov byte [esp + 0x60], 3
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x59b910
mov byte [esp + 0x28], 0
call fcn.005318a0
push ecx
mov byte [esp + 0x64], 4
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x59c0ec
call fcn.005318a0
mov ecx, 0x5c6628
mov byte [esp + 0x64], 3
call fcn.00533b90
mov ecx, ebx
call fcn.0043a0f0
mov ecx, ebx
call fcn.00438e00
mov esi, dword [esp + 0x5c]
and esi, 0xff
lea ecx, [esi + esi*2]
lea eax, [esi + ecx*4]
shl eax, 2
mov dword [esp + 0x18], eax
mov dl, byte [eax + 0x573e62]
mov di, word [eax + 0x573e58]
mov cl, byte [eax + 0x573e6c]
mov byte [esp + 0x12], dl
mov dx, word [eax + 0x573e5c]
mov eax, esi
sub eax, ebp
mov byte [esp + 0x2c], cl
mov word [esp + 0x28], dx
je 0x439040
dec eax
je 0x438ffc
sub eax, 2
jne 0x439082
push ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x59b910
call fcn.005318a0
push ecx
mov byte [esp + 0x64], 7
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x59e5d0
call fcn.005318a0
mov ecx, 0x5c6628
mov byte [esp + 0x64], 3
call fcn.00533b90
jmp 0x439082
push ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x59b910
call fcn.005318a0
push ecx
mov byte [esp + 0x64], 6
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x59d32c
call fcn.005318a0
mov ecx, 0x5c6628
mov byte [esp + 0x64], 3
call fcn.00533b90
mov byte [esp + 0x14], 0x80
jmp 0x439082
push ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x59b910
call fcn.005318a0
push ecx
mov byte [esp + 0x64], 5
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x59d32c
call fcn.005318a0
mov ecx, 0x5c6628
mov byte [esp + 0x64], 3
call fcn.00533b90
mov byte [esp + 0x14], 0x3d
mov eax, dword [esp + 0x28]
cmp ax, bp
je 0x4390e6
xor ecx, ecx
mov cl, ah
push ecx
push 4
lea ecx, [esp + 0x24]
call fcn.00531ad0
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x1c]
push edx
push 5
call fcn.00531ad0
push ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x59b910
call fcn.005318a0
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
mov byte [esp + 0x68], 8
call fcn.00531810
mov ecx, 0x5c6628
mov byte [esp + 0x64], 3
call fcn.00533b90
mov cl, byte [esp + 0x12]
mov al, byte [esp + 0x2c]
cmp al, cl
jbe 0x439129
mov ecx, dword [esp + 0x2c]
lea edx, [esi + esi*2]
and ecx, 0xff
push 2
lea eax, [esi + edx*4]
lea edx, [ecx + eax*2]
lea ecx, [ebx + 0xc]
push ecx
lea ecx, [ebx + 0x78]
mov ax, word [edx*2 + 0x573e6c]
movsx eax, ax
lea eax, [eax + eax*4]
lea edx, [eax + eax*4 + 0x59e2dc]
push edx
call fcn.0043cb50
push ebp
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x59b910
call fcn.005318a0
push ecx
mov byte [esp + 0x64], 9
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x59c0e4
call fcn.005318a0
mov ecx, 0x5c6628
mov byte [esp + 0x64], 3
call fcn.00533b90
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x3c]
push eax
push ecx
mov ecx, ebx
call fcn.00439740
push edi
push 5
lea ecx, [esp + 0x2c]
call fcn.00531ad0
movzx dx, byte [esp + 0x12]
mov word [esp + 0x12], dx
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00531810
mov ecx, dword [0x5c6634]
call fcn.005396d0
mov ax, word [esp + 0x12]
cmp ax, 1
jl 0x4391f1
mov ecx, dword [esp + 0x18]
movsx ebp, ax
lea edi, [ecx + 0x573e63]
mov dl, byte [edi]
lea ecx, [esp + 0x20]
push edx
push 5
call fcn.00531ad0
push 1
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00531810
mov ecx, dword [0x5c6634]
call fcn.00539850
inc edi
dec ebp
jne 0x4391c1
mov cl, byte [esp + 0x3c]
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x44], esp
mov dword [esp + 0x44], edi
mov byte [edi], cl
mov ecx, dword [esp + 0x50]
test ecx, ecx
jne 0x439210
xor eax, eax
jmp 0x439219
mov eax, dword [esp + 0x54]
sub eax, ecx
sar eax, 2
test eax, eax
jge 0x43921f
xor eax, eax
lea edx, [eax*4]
push edx
call fcn.00556a96
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x58]
mov ebp, dword [esp + 0x54]
add esp, 4
mov edi, eax
cmp ebp, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], edi
je 0x439274
mov dword [esp + 0x48], edi
test edi, edi
mov byte [esp + 0x64], 0xa
je 0x43925d
push ebp
mov ecx, edi
call fcn.00531810
mov eax, dword [esp + 0x40]
add ebp, 4
add edi, 4
cmp ebp, eax
mov byte [esp + 0x64], 3
mov dword [esp + 0x3c], edi
jne 0x439248
mov eax, dword [esp + 0x44]
mov ecx, ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
call fcn.00439560
test ax, ax
je 0x4393f9
mov ecx, dword [0x5c6634]
call fcn.00539bf0
mov di, ax
inc edi
test di, di
je 0x43918d
cmp byte [esp + 0x5c], 1
ja 0x4393a2
movsx eax, di
dec eax
je 0x439334
dec eax
je 0x4392c6
dec eax
je 0x43945c
jmp 0x43918d
mov eax, dword [esp + 0x18]
movzx cx, byte [esp + 0x14]
mov ax, word [eax + 0x573e70]
cmp cx, ax
jbe 0x43918d
mov edx, dword [esp + 0x14]
and eax, 0xffff
and edx, 0xff
sub edx, 0x20
cmp edx, eax
jle 0x4392fd
add byte [esp + 0x14], 0xe0
jmp 0x43930b
mov eax, dword [esp + 0x18]
mov cl, byte [eax + 0x573e70]
mov byte [esp + 0x14], cl
mov dl, byte [esp + 0x14]
lea eax, [esi + esi*4]
lea ecx, [ebx + 0xc]
push 2
mov byte [eax + eax*4 + 0x59e56f], dl
lea edx, [eax + eax*4 + 0x59e568]
push ecx
push edx
lea ecx, [ebx + 0x78]
call fcn.0043cb50
jmp 0x43918d
mov eax, dword [esp + 0x18]
movzx cx, byte [esp + 0x14]
mov ax, word [eax + 0x573e6e]
cmp cx, ax
jae 0x43918d
mov edx, dword [esp + 0x14]
and eax, 0xffff
and edx, 0xff
add edx, 0x20
cmp edx, eax
jge 0x43936b
add byte [esp + 0x14], 0x20
jmp 0x439379
mov eax, dword [esp + 0x18]
mov cl, byte [eax + 0x573e6e]
mov byte [esp + 0x14], cl
mov dl, byte [esp + 0x14]
lea eax, [esi + esi*4]
lea ecx, [ebx + 0xc]
push 2
mov byte [eax + eax*4 + 0x59e56f], dl
lea edx, [eax + eax*4 + 0x59e568]
push ecx
push edx
lea ecx, [ebx + 0x78]
call fcn.0043cb50
jmp 0x43918d
lea eax, [esi + esi*2]
movsx edx, di
lea ecx, [esi + eax*4]
lea eax, [edx + ecx*2]
mov al, byte [eax*2 + 0x573e6c]
cmp al, 0xff
mov byte [esp + 0x28], al
je 0x4393df
mov eax, dword [esp + 0x28]
lea ecx, [ebx + 0xc]
and eax, 0xff
push 2
push ecx
lea ecx, [ebx + 0x78]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4 + 0x59e2dc]
push edx
call fcn.0043cb50
mov eax, dword [esp + 0x18]
movzx cx, byte [eax + 0x573e62]
cmp di, cx
je 0x4394e9
jmp 0x43918d
lea ecx, [esp + 0x1c]
mov byte [esp + 0x54], 2
call fcn.00531940
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], 1
call fcn.00531940
lea ecx, [esp + 0x24]
mov byte [esp + 0x54], 0
call fcn.00531940
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
cmp esi, eax
mov dword [esp + 0x54], 0xffffffff
mov edi, eax
je 0x43944b
mov ecx, esi
call fcn.00531940
add esi, 4
cmp esi, edi
jne 0x439439
mov esi, dword [esp + 0x40]
push esi
call fcn.00556360
add esp, 4
xor ax, ax
jmp 0x439548
lea edx, [esi + esi*2]
movsx ecx, di
lea eax, [esi + edx*4]
lea edx, [ecx + eax*2]
mov al, byte [edx*2 + 0x573e6c]
cmp al, 0xff
mov byte [esp + 0x28], al
je 0x439499
lea eax, [ebx + 0xc]
push 2
push eax
mov eax, dword [esp + 0x30]
and eax, 0xff
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4 + 0x59e2dc]
push ecx
lea ecx, [ebx + 0x78]
call fcn.0043cb50
lea ecx, [esp + 0x1c]
mov byte [esp + 0x54], 2
call fcn.00531940
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], 1
call fcn.00531940
lea ecx, [esp + 0x24]
mov byte [esp + 0x54], 0
call fcn.00531940
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
cmp esi, eax
mov dword [esp + 0x54], 0xffffffff
mov edi, eax
je 0x43953b
mov ecx, esi
call fcn.00531940
add esi, 4
cmp esi, edi
jne 0x4394d9
jmp 0x439537
lea ecx, [esp + 0x1c]
mov byte [esp + 0x54], 2
call fcn.00531940
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], 1
call fcn.00531940
lea ecx, [esp + 0x24]
mov byte [esp + 0x54], 0
call fcn.00531940
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
cmp esi, eax
mov dword [esp + 0x54], 0xffffffff
mov edi, eax
je 0x43953b
mov ecx, esi
call fcn.00531940
add esi, 4
cmp esi, edi
jne 0x439529
mov esi, dword [esp + 0x40]
push esi
call fcn.00556360
add esp, 4
mov ax, 1
mov ecx, dword [esp + 0x4c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x48
ret 4