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

Disassembly:
mov eax, dword [0x45f1bf0]
mov ecx, dword [0x4e1108]
sub esp, 0x108
cmp eax, ecx
mov eax, dword [0x4e21f0]
push ebx
push ebp
push esi
push edi
je 0x408877
cmp eax, 1
jne 0x408916
test byte [0x45f1bc4], 1
jne 0x408885
cmp eax, 1
jne 0x4088df
mov esi, dword [0x4d8030]
call fcn.00405320
test esi, esi
jne 0x4088df
push 0xffffffffffffffff
push esi
push 0x15c
mov ecx, 9
mov eax, 0xfffffffe
mov edi, 0x4d7f80
push 0x110
push 0x60
rep stosd dword es:[edi], eax
push 0x16c
mov dword [0x4d8030], 1
mov dword [0x4a130c], 0xffffffff
call fcn.00448610
mov edx, eax
add esp, 0x18
mov dword [0x4e2200], edx
jmp 0x4088e5
mov edx, dword [0x4e2200]
mov edi, 0x4a1488
or ecx, 0xffffffff
xor eax, eax
mov dword [0x4e21f0], 0
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x45f1a90
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x40891c
mov edx, dword [0x4e2200]
cmp dword [0x4d8030], 1
jne 0x408df1
test edx, edx
je 0x408df1
mov eax, dword [edx + 0x78]
test eax, eax
jle 0x408df1
mov eax, dword [edx + 0xc]
mov ecx, dword [0x54c834]
push 1
push ecx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
push 0x68
push edx
push eax
call fcn.0047e210
mov eax, dword [0x4a12fc]
add esp, 0x14
xor esi, esi
lea ecx, [eax + eax*8]
shl ecx, 3
sub ecx, eax
lea ecx, [ecx + ecx*4]
mov edx, dword [ecx*8 + 0x462749c]
test edx, edx
jle 0x4089b5
mov edx, dword [0x4e2200]
lea ecx, [esi + 0x6613]
push 1
push ecx
mov eax, dword [edx + 0xc]
push 0x69
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
push edx
push eax
call fcn.0047e210
mov eax, dword [0x4a12fc]
add esp, 0x14
inc esi
lea ecx, [eax + eax*8]
shl ecx, 3
sub ecx, eax
lea ecx, [ecx + ecx*4]
cmp esi, dword [ecx*8 + 0x462749c]
jl 0x408977
test byte [0x45f1bc4], 1
je 0x4089d8
mov edx, dword [0x45f1bf0]
mov ecx, dword [0x4d7f9c]
cmp edx, ecx
jne 0x4089d8
call fcn.00405320
mov eax, dword [0x4a12fc]
mov edx, dword [0x4e2200]
test edx, edx
je 0x408df1
mov ecx, dword [edx + 0x18]
mov ebx, dword [edx + 0x1c]
add ecx, 0x20
add ebx, 0xfc
mov dword [esp + 0x14], ecx
lea ecx, [eax + eax*8]
shl ecx, 3
sub ecx, eax
xor ebp, ebp
lea ecx, [ecx + ecx*4]
mov esi, dword [ecx*8 + 0x462749c]
test esi, esi
jle 0x408c54
mov dword [esp + 0x10], 0x4d7f80
lea ecx, [eax*8]
sub ecx, eax
add ecx, ebp
lea edx, [ecx + ecx*2]
lea edx, [edx + edx*8]
shl edx, 1
sub edx, ecx
shl edx, 1
cmp word [edx + 0x462b000], 1
jne 0x408c2a
mov esi, dword [esp + 0x10]
mov ecx, dword [0x45f1b90]
cmp ecx, dword [esi]
jne 0x408c2a
lea esi, [edx + 0x462b021]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x18
jbe 0x408abf
push 0x18
lea edx, [esp + 0x1c]
push esi
push edx
call fcn.004924c0
lea eax, [esp + 0x24]
mov byte [esp + 0x3c], 0
push eax
call fcn.00411900
add esp, 0x10
cmp eax, 3
jne 0x408a99
mov byte [esp + 0x2f], 0
add esi, 0x17
jmp 0x408aa1
mov byte [esp + 0x30], 0
add esi, 0x18
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x18]
push 0
push ecx
push 0
push 1
push ebx
push edx
call fcn.0041d860
add esp, 0x18
add ebx, 0x14
jmp 0x408a5a
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x18]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
mov edi, 1
push ecx
push 0
push edi
push ebx
push edx
call fcn.0041d860
mov al, byte [0x45f1bc4]
add esp, 0x18
test al, 1
mov eax, dword [0x4a12fc]
je 0x408c2a
lea ecx, [eax*8]
sub ecx, eax
add ecx, ebp
lea edx, [ecx + ecx*2]
lea edx, [edx + edx*8]
shl edx, 1
sub edx, ecx
shl edx, 1
cmp word [edx + 0x462b004], 2
je 0x408b69
lea ecx, [eax + eax*8]
shl ecx, 3
sub ecx, eax
lea ecx, [ecx + ecx*4]
cmp dword [ecx*8 + 0x462745c], 0x18c34
jne 0x408b59
cmp word [edx + 0x462b002], 0x258
je 0x408c2a
push 0
push ebp
call fcn.00408020
add esp, 8
jmp 0x408c25
lea ecx, [eax + eax*8]
xor esi, esi
shl ecx, 3
sub ecx, eax
lea edx, [ecx + ecx*4]
mov edx, dword [edx*8 + 0x462749c]
test edx, edx
jle 0x408bc4
lea ecx, [eax + eax*8]
lea ecx, [eax + ecx*4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*2]
lea eax, [eax*2 + 0x462b004]
cmp word [eax - 4], di
jne 0x408ba1
cmp word [eax], 2
je 0x408ba1
inc esi
add eax, 0x6a
dec edx
jne 0x408b94
test esi, esi
jle 0x408bc4
push 0xf0
push 0x140
push 0xdc
call fcn.00488190
add esp, 0xc
jmp 0x408c25
call fcn.00405320
mov eax, dword [0x461b658]
mov dword [0x4e21e8], edi
test eax, eax
push str.WFFFF
je 0x408beb
mov ecx, dword [0x461b404]
push ecx
call fcn.0048f1e0
jmp 0x408bf7
mov edx, dword [0x461b404]
push edx
call fcn.0043ad20
add esp, 8
push 0xf0
push 0x140
push 0xcb
call fcn.00488190
add esp, 0xc
mov dword [0x4a130c], 0xffffffff
mov dword [0x4e21f8], 0
mov eax, dword [0x4a12fc]
mov ecx, dword [esp + 0x10]
inc ebp
add ecx, 4
mov dword [esp + 0x10], ecx
lea ecx, [eax + eax*8]
shl ecx, 3
sub ecx, eax
lea ecx, [ecx + ecx*4]
cmp ebp, dword [ecx*8 + 0x462749c]
jl 0x408a1d
mov edx, dword [0x4e2200]
test edx, edx
je 0x408df1
lea ecx, [eax + eax*8]
mov ebx, dword [edx + 0x18]
shl ecx, 3
sub ecx, eax
mov edi, dword [edx + 0x1c]
add ebx, 0x28
add edi, 0x20
lea eax, [ecx + ecx*4]
push 0x10
shl eax, 3
mov dl, byte [eax + 0x46274bd]
lea ecx, [eax + 0x46274bd]
test dl, dl
je 0x408c90
lea edx, [esp + 0x1c]
push edx
push ecx
jmp 0x408c9c
lea ecx, [esp + 0x1c]
lea edx, [eax + 0x46274ac]
push ecx
push edx
call fcn.0044a940
add esp, 0xc
lea eax, [esp + 0x18]
lea ecx, [ebx - 0x1c]
push 0
push eax
push 0
push 1
push edi
push ecx
call fcn.0041d860
mov ecx, dword [0x4a12fc]
add esp, 0x18
add edi, 0x1a
add ebx, 0x12
lea eax, [ecx + ecx*8]
xor esi, esi
shl eax, 3
sub eax, ecx
lea edx, [eax + eax*4]
mov eax, dword [edx*8 + 0x462749c]
test eax, eax
jle 0x408dc5
mov dword [esp + 0x10], 0x4d7f80
lea edx, [ecx*8]
sub edx, ecx
add edx, esi
lea eax, [edx + edx*2]
lea eax, [eax + eax*8]
shl eax, 1
sub eax, edx
shl eax, 1
cmp word [eax + 0x462b000], 1
jne 0x408d9e
lea eax, [eax + 0x462b008]
lea ecx, [esp + 0x18]
push eax
push str._________22s
push ecx
mov ebp, 7
call fcn.004923a7
mov edx, dword [0x4a12fc]
add esp, 0xc
lea eax, [edx*8]
sub eax, edx
add eax, esi
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, eax
shl ecx, 1
cmp word [ecx + 0x462b004], 2
je 0x408d7b
lea eax, [edx + edx*8]
shl eax, 3
sub eax, edx
lea edx, [eax + eax*4]
cmp dword [edx*8 + 0x462745c], 0x18c34
jne 0x408d79
cmp word [ecx + 0x462b002], 0x258
je 0x408d7b
xor ebp, ebp
lea eax, [esp + 0x18]
push 2
push eax
push ebp
push 1
lea ecx, [ebx - 0x2b]
push edi
push ecx
call fcn.0041d860
mov edx, dword [esp + 0x28]
mov ecx, dword [0x4a12fc]
add esp, 0x18
mov dword [edx], eax
lea eax, [ecx + ecx*8]
mov ebp, dword [esp + 0x10]
shl eax, 3
sub eax, ecx
add edi, 0x19
inc esi
add ebp, 4
lea eax, [eax + eax*4]
mov dword [esp + 0x10], ebp
cmp esi, dword [eax*8 + 0x462749c]
jl 0x408cec
mov ecx, dword [0x4e2200]
push 2
push 0x65ba
push 0x69
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0xc]
add eax, 0x14a
mov edx, dword [ecx + 0x14]
push eax
push edx
call fcn.0047e210
add esp, 0x14
mov dword [0x4d7f9c], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x108
ret