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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14c
add byte [eax], al
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0xec]
cmp eax, 0xf3c
jge 0x42d7ad
inc eax
mov dword [esp + 0x24], edi
mov dword [edi + 0xec], eax
cmp eax, 1
je 0x409580
cmp byte [edi + 0xfc], 0
mov byte [edi + 0x144], 0
jne 0x409386
lea ebx, [ebx]
cmp byte [edi + 0x144], 0
jne 0x409386
cmp byte [0x4974e3], 0
jne 0x40928a
cmp byte [0x4a8668], 0
jne 0x42d7cb
mov esi, dword [0x482708]
push 1
push 0
push 0
push 0
lea eax, [esp + 0x78]
push eax
call esi
test eax, eax
jne 0x409520
cmp byte [0x4974e6], 1
je 0x42d7f3
cmp dword [edi + 0xf8], 1
je 0x42e13b
cmp dword [0x4a8624], 0
jne 0x42d810
cmp byte [0x4974ec], 1
je 0x42d8c0
cmp dword [edi + 0x460], 0
jne 0x42d8da
cmp byte [0x4a863c], 0
jne 0x42da2b
push edi
call fcn.004091b0
cmp al, 1
je case.0x409461.127
lodsd eax, dword [esi]
add byte [eax], al
add byte [eax + 0x4a87b03d], al
add byte [eax], al
cmp byte [0x4a87b0], 0
jne 0x42dc54
mov eax, dword [edi + 0xf8]
cmp eax, 7
je 0x42dcd2
cmp eax, 8
je 0x42dd3d
cmp eax, 9
je 0x42dd3d
cmp eax, 2
je 0x4094cf
cmp eax, 3
je 0x4094cf
cmp eax, 4
je 0x4094cf
cmp eax, 5
je 0x4094cf
cmp eax, 6
je 0x4094cf
mov ecx, dword [ebp + 8]
mov dword [edi + 0xf4], ecx
mov eax, ecx
inc ecx
mov dword [ebp + 8], ecx
cmp eax, dword [0x4a90f8]
jg 0x42dff6
test eax, eax
jle 0x42dff6
shl eax, 4
add eax, dword [0x4a912c]
je 0x42dff6
mov esi, eax
mov ecx, dword [esi + 4]
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov edx, dword [ecx]
movsx eax, word [edx + 8]
cmp eax, ebx
jne 0x4093ae
lea eax, [ebp + 8]
push eax
push esi
push edi
call fcn.0040afa0
cmp byte [edi + 0xfc], 0
je 0x409230
invalid
mov eax, dword [edi + 0xec]
mov byte [edi + 0x144], 0
cmp eax, 1
je 0x4095ab
dec eax
mov dword [edi + 0xec], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 0x34
jne 0x409450
lea eax, [esp + 0x47]
push eax
lea ecx, [esp + 0x4c]
push ecx
push esi
push edi
lea eax, [esp + 0x24]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], ebx
call fcn.004096a0
test eax, eax
jne 0x4093f5
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x14]
mov eax, dword [edx + eax*4]
cmp word [eax + 8], 0x7f
jne 0x42e089
mov esi, dword [esp + 0x54]
cmp esi, ebx
je 0x40941a
mov eax, dword [esi + 0xc]
dec dword [eax]
mov edx, dword [esi + 0xc]
cmp dword [edx], ebx
je 0x42e0a4
push esi
call fcn.004111dc
add esp, 4
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0x50]
cmp eax, 8
je 0x42e0c0
cmp eax, 0xa
je 0x42e0e1
cmp eax, 5
je 0x42e0f8
cmp eax, 0xb
je 0x42e106
cmp eax, 0xc
jne case.0x409461.127
jmp 0x42e124
dec eax
cmp eax, 0x7e
ja case.0x409461.2
movzx eax, byte [eax + 0x409614]
jmp dword [eax*4 + 0x409600]
push edi
mov eax, esi
call fcn.00408fc0
jmp case.0x409461.127
xor eax, eax
lea ecx, [esp + 0xb8]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc4], eax
push ecx
lea eax, [esp + 0x18]
mov edx, esi
mov ebx, edi
mov dword [esp + 0xc4], 1
call fcn.00408cc0
test eax, eax
jne 0x4094be
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x14]
mov eax, dword [edx + eax*4]
cmp word [eax + 8], 0x7f
jne 0x42e005
lea esi, [esp + 0xb8]
call fcn.00408f40
jmp case.0x409461.127
push 0xa
call dword [0x48215c]
cmp dword [edi + 0x2f0], 0
je 0x409505
mov esi, dword [edi + 0x2f8]
call fcn.0040c620
xor ecx, ecx
cmp edx, ecx
jl 0x409505
mov ebx, ecx
jg 0x40958c
cmp eax, dword [edi + 0x2f0]
jae 0x40958c
mov eax, dword [edi + 0xf8]
cmp eax, 3
jl case.0x409461.127
jmp 0x42dec0
cmp dword [esp + 0x6c], 0x12
je 0x42d7dd
lea ecx, [esp + 0x68]
push ecx
mov ecx, 0x4a8630
call fcn.0040d150
test eax, eax
jne 0x409567
lea edx, [esp + 0x68]
push edx
mov ebx, 0x4a8630
call fcn.0040d170
test eax, eax
jne 0x409567
lea eax, [esp + 0x68]
push eax
call dword [0x4825b4]
lea ecx, [esp + 0x68]
push ecx
call dword [0x4826c4]
push 1
push 0
push 0
push 0
lea edx, [esp + 0x78]
push edx
call esi
test eax, eax
je 0x409270
jmp 0x409520
mov esi, edi
call fcn.00410940
jmp 0x409216
cmp dword [edi + 0xf8], 2
jne 0x42dea7
mov byte [edi + 0x144], 1
mov dword [edi + 0xf8], ebx
jmp case.0x409461.127
mov esi, edi
call fcn.0040f190
cmp byte [edi + 0xfc], 1
je 0x4093a3
mov ebx, edi
call fcn.00401a50
push 0
call dword [0x4826bc]
mov edx, dword [0x497518]
push edx
call dword [0x482608]
mov esi, dword [0x4826b8]
push 0
push 0
push 0
lea eax, [esp + 0x148]
push eax
call esi
test eax, eax
jle 0x4093a3
jmp 0x42e158
add eax, 0x5050505
add eax, 0x4050505
jmp [eax - 0x6d]
add eax, 0x9368ff04
lcall 0x5c6, 0x570c4100
loop 0x42d838
punpckhdq mm0, qword [eax]
call 0x3fe741
mov dword [ebp - 0x18], ebx
jmp 0xbc1d8378
or al, 0xb2
mov edx, 0x76e9e853
mov edx, 0x87c6e853
cdq
sub eax, edx
mov eax, dword [ecx]
mov dword [edi - 0x2e0fb275], 0xa5e9e801
stosd dword es:[edi], eax
jge 0x42d7b5
rol dword [ecx], 1
call 0x7dee7de3
mov edx, 0x5c6e853
in al, dx
jne 0x42d811
push ebx
call 0x762eddc7
punpckhdq mm0, qword [eax]
push 0
mov byte [0x6a0f75e6], 0
mov dword [edi - 0x2e0fb275], 0xa5e9e801
stosd dword es:[edi], eax
insd dword es:[edi], dx
rol dword [ecx], 1
call 0x6dee7e00
add eax, ebp
jmp 0xbab083bd
mov edx, 0x28a1e853
adc eax, 0x184820c8
call 0x7b71d89
mov eax, dword [edi - 0x6a76acb0]
xor esi, esi
add byte [ebx + 0x1327840f], cl
add byte [eax], al
push edx
invalid
lodsb al, byte [esi]
add byte [ebp - 0xa], dh
mov eax, dword [edx]
aad 0x60
inc edx
test byte [esi], bl
add byte [eax], al
add byte [ebx + 0xf1a3912], cl
test byte [eax - 0x7d], cl
clc
or al, byte [esi - 0x7d]
rol dword [ebx + edi], 0xb7
push eax
push ebx
mov dword [ebp - 0xfc4208e], edx
je 0x6af692a1
lea eax, [esp - 0x72ffff2c]
push eax
lea ecx, [esp - 0x743dd467]
push ecx
push edx
invalid
call fcn.0047d348
jmp 0x3409383
adc eax, 0x48215c
jmp 0x3409383
invalid
call 0xcf40225a
jmp 0x4092c8
call 0xcf40225a
jmp 0x60e433db
rol dword [ebx - 0x78f0f508], 1
cmp al, 0xb6
push ebx
call 0x1641e84a
pop esp
and dword [eax], ecx
cmp dword [edi - 0xfbb8], 0xffffffff
add byte [ebx*2 - 0x743c49f1], cl
mov bh, 0x4c
add al, 0xff
invalid
adc eax, 0x48215c
jmp 0xc1409383
call 0x7b8d41a
xor ebx, ecx
mov dh, 0xff
and al, 0x85
add byte [ebx], al
cmp eax, 3
ja 0xc1409383
jmp dword [eax*4 - 0x72bd1e73]
mov ss, word [ebp - 0x75]
inc esi
add al, 0x89
add dword [ebx - 0x7838fb3c], 0xffffff8b
dec ebp
invalid
rol dword [ecx], 1
call 0x74ee85f5
mov bl, 0xfd
invalid
call 0xe945e741
jmp 0xf52c94c8
call 0xe945e741
jmp 0xff409383
call 0xe945e741
jmp 0xff409383
call 0xc1408f4a
jmp 0x52572e83
invalid
invalid
call 0xc5443198
jmp 0x516f9383
call 0x84aae27a
jmp 0x409383
mov eax, dword [edi]
test eax, eax
psubsw mm2, qword [ebp - 0x4e]
xchg esp, eax
and al, 0xa8
or byte [eax], al
dec eax
adc eax, 0x49482704
mov dl, 0x94
and al, 0x50
call 0xc544b3e3
jmp 0xc1409383
call 0xc140d41a
jmp 0x516f9390