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

Disassembly:
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ebp - 0xc58]
je 0x4083ec
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x4081b7
mov dword [ebp - 0x710], 0
push edx
push ebx
add esp, 4
or edx, 0x14a37
pop edx
push edi
sub edi, 0xf42e
pop edi
push eax
push edi
add esp, 4
and eax, 0x2c10
or eax, 0x6bda
xor eax, 0xc69d
or eax, 0x2381
pop eax
cmp dword [ebp - 0x710], 0
jne 0x408472
push esi
push ebx
add esp, 4
and esi, 0xd7b2
pop esi
push ecx
push ebx
add esp, 4
sub ecx, 0xfa64
xor ecx, 0x1037d
pop ecx
push ecx
sub ecx, 0x10fc6
or ecx, 0x3567
add ecx, 0x2402
pop ecx
mov dword [ebp - 0xa58], 0
jmp 0x408f9a
push ebx
push edx
add esp, 4
add ebx, 0x9905
call 0x40848c
add byte [ebx], dh
dec ebp
cmp bh, byte [eax]
dec esp
cmp eax, 0xc4834637
add al, 0x81
jecxz 0x40850c
jp 0x408495
add byte [ecx + 0x243ff3], al
add byte [ebx + 0x52], bl
xor ebx, 0x243f
pop ebx
push edx
and edx, 0x12d09
pop edx
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x4084e3
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x4087d4
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x40850b
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x4087d4
mov edx, 8
or byte [eax], al
add byte [eax], al
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x40853d
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x4087d4
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x408562
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x4087d4
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x4085bc
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x4087c8
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x40862c
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4086de
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x4086de
push eax
or eax, 0xe174
sub eax, 0x15644
or eax, 0xfa59
xor eax, 0xd335
pop eax
push ecx
push edx
add esp, 4
and ecx, 0xc5c0
pop ecx
push eax
push ecx
add esp, 4
xor eax, 0x3f02
pop eax
mov ecx, dword [ebp - 0x71c]
inc dword [ebx]
lea edi, [eax - 2]
invalid
dec dword [edi]
mov esi, 0x78858b11
invalid
invalid
dec dword [edi]
mov esi, 0xf7d0058c
invalid
invalid
cmp edx, ecx
je 0x4086d0
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x4086d7
jmp 0x40861d
jmp 0x4086de
push edx
push ebx
add esp, 4
sub edx, 0x29b3
and edx, 0x9a81
pop edx
push ecx
or ecx, 0x1304a
call 0x408706
add byte [ecx + eax*2 + 0x4e], al
inc edi
dec esp
cmp byte [eax + 0x3b], dl
inc edx
add esp, 4
or ecx, 0xbe8e
pop ecx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x40873d
mov dword [ebp - 0xc5c], 0
jmp 0x4087ac
push ecx
sub ecx, 0x1277c
or ecx, 0x111d7
pop ecx
push ecx
call 0x408759
add byte [ebx], bh
aas
inc ebx
dec ecx
inc edi
xor eax, 0x8104c483
leave
adc eax, 0xeb000091
add eax, dword [eax + ecx*2 + 0x40]
jmp 0x40876e
pop ecx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x4087a2
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x4087ac
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x4087c3
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x4087d4
jmp 0x4085ad
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x4088af
push esi
push edx
add esp, 4
jmp 0x4087ec
sub esi, 0xf4c7
add esi, 0x11488
call 0x408807
add byte [esi + 0x49], al
cmp byte [eax], bh
inc ebx
cmp al, 0x50
cmp al, 0x39
add esp, 4
pop esi
push ecx
xor ecx, 0x8c17
pop ecx
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push edx
and edx, 0x121ac
add edx, 0x4c0a
pop edx
push ebx
jmp 0x408835
jmp 0x40883e
pop ebx
push edx
add edx, 0x53b5
pop edx
push edx
jmp 0x408850
pop edx
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x4088af
push ebx
push ecx
add esp, 4
sub ebx, 0xbfa3
or ebx, 0x156b1
sub ebx, 0xc6b0
or ebx, 0xf88d
pop ebx
push ecx
or ecx, 0x2125
xor ecx, 0xae02
and ecx, 0x12c49
pop ecx
mov dword [ebp - 0xa58], 0
jmp 0x408f9a
push edx
add edx, 0x5930
add edx, 0x11680
add edx, 0x6c3d
or edx, 0xd04e
pop edx
push eax
push edi
add esp, 4
and eax, 0x10899
pop eax
push ecx
push ebx
add esp, 4
xor ecx, 0x132cf
pop ecx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push esi
push edi
add esp, 4
sub esi, 0x1c1b
xor esi, 0x115e6
pop esi
push edi
and edi, 0x13a0f
and edi, 0x7a1c
pop edi
push edx
push edi
add esp, 4
add edx, 0x604e
add edx, 0x12f5c
pop edx
cmp dword [ebp - 0x1574], 0
jne 0x408953
mov dword [ebp - 0x2a8], 0
jmp 0x408bfa
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push edx
push edi
add esp, 4
or edx, 0xcaa5
xor edx, 0x149d4
jmp 0x40897c
jmp 0x408982
pop edx
push ecx
xor ecx, 0x110da
pop ecx
push edx
push edx
add esp, 4
add edx, 0x135cc
pop edx
cmp dword [ebp - 0xc68], 0
jne 0x4089af
mov dword [ebp - 0x2a8], 0
jmp 0x408bfa
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push edx
push edi
add esp, 4
add edx, 0x1299c
and edx, 0x120a
sub edx, 0x10b1c
or edx, 0x16929
pop edx
push ebx
add ebx, 0x533f
or ebx, 0x1754e
xor ebx, 0x460b
pop ebx
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
inc eax
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x40903f
push ecx
xor ecx, 0x6275
or ecx, 0x17a38
sub ecx, 0x14fd7
add ecx, 0x17ddb
pop ecx
push eax
push ebx
add esp, 4
or eax, 0x16433
or eax, 0xdb7
and eax, 0x15f37
pop eax
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x40905c
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x4090b8
push ecx
push edx
add esp, 4
sub ecx, 0xfe78
pop ecx
push edi
push ecx
add esp, 4
add edi, 0xf68f
add byte [ecx + 0x185dac7], al
add byte [ecx + 0x1071ee7], al
add byte [ecx + 0x14203c7], al
add byte [edi + 0x50], bl
and eax, 0x1b45
pop eax
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x40904d
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call dword [ebp - 0x191c]
test eax, eax
jne 0x409130
push edx
add edx, 0x8d28
or edx, 0x168fc
jmp fcn.00409100