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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [ebp + 8]
and dword [ebp - 0x10], 0
push ebx
movsx ebx, word [eax + 0x978]
push esi
mov esi, ecx
movsx ecx, word [eax + 0x976]
mov eax, dword [esi + 0xa9c]
mov eax, dword [eax + 8]
push edi
lea edi, [eax + eax*4]
shl edi, 1
mov dword [ebp - 0x28], ecx
lea eax, [edi*4 + 0x4c]
add ecx, 0x22
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0x24], 5
mov eax, dword [esi + 0xa9c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + eax - 0x14]
mov dl, byte [ecx + 0x78]
test dl, dl
je 0x41bbad
mov eax, dword [eax + 0x100]
cmp byte [eax + 0x175], dl
sbb eax, eax
inc eax
push eax
lea eax, [ebx + 0x36]
add ecx, 0xe8
push eax
push dword [ebp - 8]
mov dword [ebp - 4], ecx
mov ecx, dword [ecx]
call fcn.0042e2c6
test eax, eax
je 0x41bbad
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0xa9c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + eax]
mov dl, byte [ecx + 0x78]
test dl, dl
je 0x41bbf3
mov eax, dword [eax + 0x100]
cmp byte [eax + 0x175], dl
sbb eax, eax
inc eax
push eax
lea eax, [ebx + 0x5f]
add ecx, 0xe8
push eax
push dword [ebp - 8]
mov dword [ebp - 4], ecx
mov ecx, dword [ecx]
call fcn.0042e2c6
test eax, eax
je 0x41bbf3
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
add dword [ebp - 0xc], 4
add dword [ebp - 8], 0x29
dec dword [ebp - 0x24]
jne 0x41bb66
mov eax, dword [esi + 0xa9c]
mov ecx, dword [eax + 4]
lea ecx, [ecx + ecx*4]
add ecx, dword [eax]
add ecx, edi
mov edi, dword [eax + ecx*4 + 0x38]
and byte [edi + 0x3c], 0
and byte [edi], 0
lea eax, [edi + 0x3c]
mov dword [ebp - 0xc], eax
mov al, byte [edi + 0x78]
test al, al
mov dword [ebp - 0x24], edi
je 0x41bc75
mov ecx, dword [esi + 0xa9c]
mov ecx, dword [ecx + 0x100]
cmp byte [ecx + 0x175], al
jae 0x41bc75
push ecx
push 0x46613c
call fcn.00401ab9
pop ecx
push eax
push edi
call fcn.00442a3e
movzx eax, byte [edi + 0x78]
add esp, 0xc
push eax
push 0x466128
call fcn.00401ab9
pop ecx
push eax
push dword [ebp - 0xc]
call fcn.00442a3e
add esp, 0xc
and dword [ebp - 0x20], 0
lea eax, [edi + 0x7c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
cmp byte [ecx + 0x175], 0
mov dword [ebp - 4], ecx
je 0x41bd40
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
lea eax, [esi + 0x165ac]
mov dword [ebp - 8], eax
jmp 0x41bcaa
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0x2c], eax
je 0x41bcde
push ecx
push eax
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x41bcde
mov eax, dword [ebp - 0x2c]
mov cl, byte [eax + 0x175]
mov edx, dword [ebp - 4]
cmp cl, byte [edx + 0x175]
mov dword [ebp - 0x18], 1
jb 0x41bcf0
inc dword [ebp - 0x14]
add dword [ebp - 8], 4
cmp dword [ebp - 0x14], 0xf0
jl 0x41bca7
jmp 0x41bd3a
push eax
push 0x466114
mov dword [ebp - 0x18], 2
call fcn.00401ab9
pop ecx
push eax
push edi
call fcn.00442a3e
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x175]
add esp, 0xc
push eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax + 0x175]
push eax
push 0x4660fc
call fcn.00401ab9
pop ecx
push eax
push dword [ebp - 0xc]
call fcn.00442a3e
add esp, 0x10
cmp dword [ebp - 0x18], 0
je 0x41bd53
inc dword [ebp - 0x20]
add dword [ebp - 0x1c], 4
cmp dword [ebp - 0x20], 0x14
jl 0x41bc7f
jmp 0x41bd8d
push dword [ebp - 4]
push 0x4660e4
call fcn.00401ab9
pop ecx
push eax
push edi
call fcn.00442a3e
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x175]
add esp, 0xc
push eax
push 0x4660d0
call fcn.00401ab9
pop ecx
push eax
push dword [ebp - 0xc]
call fcn.00442a3e
add esp, 0xc
mov eax, dword [ebp - 0x28]
add eax, 0x11
add edi, 0xcc
mov dword [ebp - 8], eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], 7
mov edi, dword [edi]
cmp dword [edi + 0x70], 0
je 0x41bf4d
and dword [ebp - 4], 0
lea eax, [esi + 0x15968]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], 0x60
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0x14], eax
je 0x41bdfd
lea ecx, [edi + 0x18]
push ecx
add eax, 0x18
push eax
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x41bdfd
mov eax, dword [ebp - 0x14]
mov ax, word [eax + 0x60]
cmp ax, 2
jb 0x41bdfa
movzx eax, ax
add dword [ebp - 4], eax
jmp 0x41bdfd
inc dword [ebp - 4]
add dword [ebp - 0x20], 4
dec dword [ebp - 0x2c]
jne 0x41bdc6
lea eax, [esi + 0x15b10]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], 0xa
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0x14], eax
je 0x41be4d
lea ecx, [edi + 0x18]
push ecx
add eax, 0x18
push eax
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x41be4d
mov eax, dword [ebp - 0x14]
mov ax, word [eax + 0x60]
cmp ax, 2
jb 0x41be4a
movzx eax, ax
add dword [ebp - 4], eax
jmp 0x41be4d
inc dword [ebp - 4]
add dword [ebp - 0x20], 4
dec dword [ebp - 0x2c]
jne 0x41be16
mov eax, dword [esi + 0xa9c]
mov ecx, dword [eax + 0x10]
imul ecx, dword [edi + 0x70]
mov eax, dword [ebp - 4]
cmp eax, ecx
mov dword [ebp - 0x2c], ecx
jl 0x41be73
mov word [edi + 0x60], cx
jmp 0x41beb2
mov word [edi + 0x60], ax
lea eax, [edi + 0x18]
push eax
push 0x4660c8
call fcn.00401ab9
pop ecx
push eax
push dword [ebp - 0x24]
call fcn.00442a3e
add esp, 0xc
push dword [ebp - 0x2c]
push dword [ebp - 4]
push 0x4660b4
call fcn.00401ab9
pop ecx
push eax
push dword [ebp - 0xc]
call fcn.00442a3e
mov ecx, dword [ebp - 0x2c]
add esp, 0x10
movzx eax, word [edi + 0x60]
shl eax, 5
cdq
idiv ecx
mov cl, byte [0x54c734]
neg cl
push 0xa
sbb ecx, ecx
and ecx, 0x8000
add ecx, 0x7fff
movzx ecx, cx
push ecx
lea ecx, [ebx + 0x90]
push eax
sub ecx, eax
push 0x20
add ecx, 0x20
push ecx
push dword [ebp - 8]
mov ecx, dword [0x54c740]
call fcn.004537ac
movzx eax, word [edi + 0x60]
cmp eax, dword [edi + 0x70]
jge 0x41bf09
xor eax, eax
mov dword [ebp - 0x2c], 1
jmp 0x41bf10
and dword [ebp - 0x2c], 0
push 1
pop eax
push eax
lea eax, [ebx + 0xa0]
push eax
mov eax, dword [ebp - 8]
add eax, 0x10
push eax
mov ecx, edi
call fcn.0042e2c6
test eax, eax
je 0x41bf2d
mov dword [ebp - 0x10], edi
push dword [ebp - 0x2c]
movzx eax, word [edi + 0x60]
push 4
push eax
lea eax, [ebx + 0xa4]
push eax
mov eax, dword [ebp - 8]
add eax, 0x26
push eax
call fcn.0042f1c4
add esp, 0x14
mov edi, dword [ebp - 0x1c]
add dword [ebp - 8], 0x29
add edi, 4
dec dword [ebp - 0x18]
mov dword [ebp - 0x1c], edi
jne 0x41bda6
push dword [0x4905e8]
push dword [0x54c740]
call fcn.0044eec1
push 0x141414
push 0xc8c8c8
mov dword [ebp - 8], eax
call fcn.0044ef02
mov eax, dword [esi + 0xa9c]
add eax, 0x14
push eax
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebp - 0x28]
lea edi, [eax + 0x11]
push edi
push dword [ebp - 8]
call fcn.0044efd9
add esp, 0x20
cmp dword [ebp - 0x24], 0
je 0x41bfd5
push dword [ebp - 0x24]
lea eax, [ebx + 0xbc]
push eax
push edi
push dword [ebp - 8]
call fcn.0044efd9
push dword [ebp - 0xc]
lea eax, [ebx + 0xce]
push eax
push edi
push dword [ebp - 8]
call fcn.0044efd9
add esp, 0x20
push dword [ebp - 8]
push dword [0x54c740]
call fcn.0044eef0
pop ecx
pop ecx
mov ecx, dword [ebp + 8]
call fcn.0041e6ed
cmp eax, 1
je 0x41bff7
cmp eax, 2
jne 0x41c004
mov ecx, dword [ebp + 8]
push 0
push 0
push eax
call fcn.0041e25a
mov eax, dword [esi + 0xa9c]
mov eax, dword [eax + 0x10]
push 0
lea eax, [eax + eax*4]
shl eax, 5
push 0x63
pop ecx
cdq
idiv ecx
mov ecx, dword [ebp + 8]
push eax
push 3
call fcn.0041e25a
mov eax, dword [esi + 0xa9c]
mov eax, dword [eax + 8]
mov edi, dword [ebp - 0x28]
push 0
inc eax
push 2
push eax
lea eax, [ebx + 0x32]
push eax
lea eax, [edi + 0x113]
push eax
call fcn.0042f1c4
mov eax, dword [esi + 0xa9c]
push 0
push 2
push dword [eax + 0x10]
lea eax, [ebx + 0x7a]
push eax
lea eax, [edi + 0x128]
push eax
call fcn.0042f1c4
mov cl, byte [0x54c734]
mov eax, dword [esi + 0xa9c]
add esp, 0x28
neg cl
sbb ecx, ecx
and ecx, 0x6720
add ecx, 0x6739
movzx ecx, cx
push ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax]
imul ecx, ecx, 0x29
imul eax, eax, 0x29
push 0x23
push 0x23
lea ecx, [ecx + ebx + 0x24]
push ecx
mov ecx, dword [0x54c740]
lea eax, [eax + edi + 0xf]
push eax
call fcn.0045414b
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x41c0bf
add eax, 0x18
push eax
push esi
call fcn.004259e3
pop ecx
pop ecx
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 4