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

Disassembly:
sub esp, 8
push ebx
mov ebx, dword [esp + 0x10]
push ebp
push esi
mov esi, dword [esp + 0x44]
add ebx, 0x3b6
push edi
mov dword [esp + 0x10], edx
lea edi, [ecx - 0x2ad]
add edx, 0xa6
lea eax, [esi - 0x132f]
mov dword [esp + 0x14], eax
lea ebp, [esi + 0x261]
mov eax, dword [esp + 0x44]
add eax, 0xffffee29
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
add eax, 0xa6
mov dword [esp + 0x44], eax
lea eax, [ebx + 0x405]
cmp edi, eax
jg 0x10004f5a
mov eax, dword [esp + 0x10]
add eax, 0xfffffc7b
cmp ebx, eax
je 0x1000500e
mov eax, dword [esp + 0x24]
sub edi, 0x201
mov ecx, dword [esp + 0x30]
add eax, 0xffffeb05
cmp eax, edi
je 0x10004ce4
lea edx, [ebx - 0x24c]
lea eax, [edi + 0xf8]
cmp eax, edx
jg 0x10004ce4
mov eax, dword [ecx + 0x54]
mov edx, dword [ecx + 0x3c]
sub edx, dword [eax + 0x34]
mov dword [ecx + 0x100], edx
cmp dword [ecx + 0x100], 0
je 0x1000500e
mov edi, dword [ecx + 0x12c]
xor ebp, ebp
mov eax, dword [ecx + 0x54]
add eax, 0x78
imul edx, dword [edi + 0x198], 0x7604d378
add eax, edx
mov dword [esp + 0x1c], eax
lea eax, [ecx + 0x108]
add dword [ecx + 0xfc], eax
mov eax, dword [ecx + 0x2c]
lea edx, [eax - 0x1197]
or edx, eax
mov dword [ecx + 0x2c], edx
cmp edi, 0x1648
jb 0x10004d3a
lea eax, [ecx + 0x1b8]
xor dword [ecx + 0x50], eax
mov eax, dword [ecx]
mov esi, dword [eax + 0x64]
sub esi, 0x43e
cmp esi, 0x1571
jg 0x10004d60
mov edx, dword [ecx + 0x50]
mov eax, 0x1572
sub eax, esi
dec edx
sub eax, 1
jne 0x10004d57
mov dword [ecx + 0x50], edx
mov eax, dword [edi + 0x64]
mov esi, 0x190f
sub eax, 0x9c
cmp eax, esi
jbe 0x10004d8a
mov edx, dword [ecx + 0x50]
sub edx, 0x2d51
inc esi
mov dword [ecx + 0x50], edx
mov eax, dword [edi + 0x64]
sub eax, 0x9c
cmp esi, eax
jb 0x10004d74
movzx edx, byte [0x10027aa7]
mov esi, dword [esp + 0x1c]
add edx, 0xffffe5b3
mov ebx, dword [ecx + 0x3c]
mov eax, dword [ecx + 0x24]
add ebx, dword [esi]
mov dword [esp + 0x24], ebx
mov dword [eax + 0x50], edx
mov eax, dword [ecx + 0x10]
add dword [ecx + 0x15c], eax
dec eax
mov dword [ecx + 0x10], eax
cmp dword [esi + 4], ebp
jbe 0x10004f17
mov eax, dword [ecx + 0x38]
add ebx, ebp
mov edi, dword [ecx + 0x24]
add ebp, 8
mov dword [esp + 0x44], ebx
imul edx, dword [eax + 0x64], 0x77559128
mov eax, dword [ebx + 4]
mov esi, dword [edi + 0x64]
xor esi, 0x19af
sub eax, edx
xor edx, edx
div esi
mov ebx, eax
mov eax, dword [esp + 0x24]
add eax, ebp
cmp dword [ecx + 0x30], 0x1550
mov dword [esp + 0x48], eax
jbe 0x10004e0a
mov edx, 0xffffe935
sub edx, dword [ecx]
add dword [ecx + 0xd8], edx
mov eax, dword [ecx + 0xf8]
mov eax, dword [eax + 0xc8]
sub eax, 0x11d7
mov dword [ecx + 0x118], eax
mov esi, dword [edi + 0x1c]
sub esi, 0x11d7
cmp esi, ebx
jae 0x10004ef5
mov eax, dword [ecx]
mov edx, dword [ecx + 0x12c]
mov eax, dword [eax + 0xc8]
xor eax, 0x1a46
add dword [edx + 0xc8], eax
xor dword [ecx + 0x10], 0xffffff94
mov eax, dword [ecx]
mov edi, dword [ecx + 0x10]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + 0x64]
xor eax, 0x19af
add ebp, eax
mov eax, dword [esp + 0x48]
movzx eax, word [eax + esi*2]
mov edx, eax
shr eax, 0xc
and edx, 0xfff
dec eax
add edx, dword [ecx]
mov ecx, dword [esp + 0x30]
cmp eax, 9
ja case.0x10004e88.4
movzx eax, byte [eax + 0x10005030]
jmp dword [eax*4 + 0x10005020]
mov eax, dword [ecx + 0x194]
or eax, 0x1a4d
or dword [ecx + 0x118], eax
mov eax, dword [ecx + 0x100]
jmp 0x10004ecb
movzx eax, word [ecx + 0x102]
jmp 0x10004ecb
add dword [ecx + 0x194], 0xfe86fc87
lea eax, [edi - 0x1bde]
mov dword [ecx + 0x10], eax
movzx eax, word [ecx + 0x100]
add edx, dword [ecx + 0x3c]
add dword [edx], eax
mov eax, dword [ecx + 0x58]
imul eax, dword [eax + 0x14], 0xe752ece1
cmp dword [ecx + 0xfc], eax
jne 0x10004eec
or dword [ecx + 0x84], 0xafb
inc esi
cmp esi, ebx
jb 0x10004e32
mov eax, dword [ecx + 0x38]
mov edx, dword [ecx]
mov ebx, dword [esp + 0x24]
xor edx, 0x1869
mov dword [eax + 0x194], edx
mov eax, dword [esp + 0x1c]
cmp ebp, dword [eax + 4]
jb 0x10004dc0
mov eax, dword [ecx + 0x194]
pop edi
pop esi
pop ebp
lea edx, [eax + 0x13a4]
xor edx, eax
mov dword [ecx + 0x194], edx
mov edx, dword [ecx + 0x98]
pop ebx
lea eax, [edx + 0x139b]
mov dword [ecx + 0xfc], eax
lea eax, [edx - 0x24c]
mov dword [ecx + 0x98], eax
mov eax, dword [esp + 0x18]
add eax, 0x1dd
add esp, 8
ret
imul edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
or edx, 0x119a
cmp ecx, edx
je 0x10004ffa
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
add eax, 0x139b
xor eax, dword [esi + 0x12c]
cmp ecx, eax
jae 0x10004fdd
sub esp, 0x14
call fcn.10002290
mov word [0x1004d414], ax
add esp, 0x14
mov eax, dword [esp + 0x24]
or ebp, 0x1869
add eax, 0x4b2
imul eax, dword [esi + 0x98]
pop edi
imul eax, dword [esp + 0x40]
imul eax, eax, 0x119a
mov dword [esi + 0x98], eax
imul eax, ebp, 0x174d
or dword [esi + 0xd8], eax
mov eax, dword [esp + 0x24]
pop esi
pop ebp
add eax, 0x1dd
pop ebx
add esp, 8
ret
mov eax, dword [esi + 0x198]
imul eax, edi
pop edi
xor dword [esi + 0x70], eax
mov eax, dword [esp + 0x24]
pop esi
pop ebp
add eax, 0x1dd
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x118]
xor eax, dword [esp + 0x1c]
sub dword [ecx + 0x94], eax
mov eax, dword [esp + 0x28]
pop edi
pop esi
pop ebp
add eax, 0x1dd
pop ebx
add esp, 8
ret