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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x78]
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x2c], ecx
cmp eax, 0x10
jle 0x414a43
test al, 1
je 0x414b08
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x28], ecx
jle 0x414ac0
mov eax, dword [esp + 0x2c]
lea ebp, [eax + eax]
cmp ebp, dword [esp + 0x28]
jle 0x414fad
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], esi
mov esi, ebp
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.0041b620
mov eax, dword [esp + 0x28]
mov dword [esp + 4], ebx
mov dword [esp], edi
sub esi, eax
lea ebp, [ebx + eax*4]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebp
call fcn.004041a0
test eax, eax
je 0x414e78
mov edx, dword [esp + 0x28]
jmp 0x414ab3
mov eax, dword [ebx + esi*4]
add esi, 1
add eax, 1
mov dword [edi + esi*4 - 4], eax
jne 0x414e78
cmp edx, esi
jg 0x414aa0
mov edx, 1
jmp 0x414aed
mov ebp, dword [esp + 0x28]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], ebp
call fcn.0041b620
lea eax, [ebx + ebp*4]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.004041a0
mov edx, eax
mov eax, edi
add dword [eax], edx
jae 0x414afc
add dword [eax + 4], 1
lea eax, [eax + 4]
jb 0x414af3
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebp, dword [esp + 0x28]
sar ebp, 1
lea edx, [ebp*4]
lea eax, [ebx + edx]
mov dword [esp + 0x40], edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2c]
lea ecx, [eax + eax]
mov dword [esp + 0x44], ecx
cmp ebp, eax
jge 0x414eb0
sub eax, ebp
add edx, esi
mov dword [esp + 4], esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
call fcn.004041a0
mov ecx, dword [esp + 0x38]
test eax, eax
jne 0x414c5b
cmp ebx, esi
je 0x414ba4
lea edx, [ecx*4]
lea eax, [esi + edx]
add edx, ebx
cmp ebp, ecx
jle 0x414b93
mov dword [esp + 0x30], ebx
mov ecx, dword [esp + 0x3c]
lea esi, [esi]
nop
mov ebx, dword [eax]
add eax, 4
add edx, 4
mov dword [edx - 4], ebx
cmp ecx, eax
jne 0x414b80
mov ebx, dword [esp + 0x30]
xor edx, edx
mov eax, ebx
add dword [eax], edx
jae 0x414ba4
add dword [eax + 4], 1
lea eax, [eax + 4]
jb 0x414b9b
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 4], ebp
mov dword [esp], edi
call fcn.00414a10
lea edx, [ebp + 1]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], esi
lea eax, [ebx + edx*8]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 0x30], eax
call fcn.00404250
mov edx, dword [esp + 0x48]
test eax, eax
je 0x414c80
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x38]
mov edi, edx
mov dword [esp + 0x4c], ebx
jmp 0x414c25
mov edx, dword [esi + eax*4]
mov ebx, dword [esp + 0x30]
add eax, 1
lea ecx, [edx - 1]
mov dword [ebx + eax*4 - 4], ecx
test edx, edx
jne 0x414c70
cmp ebp, eax
jg 0x414c10
mov edx, edi
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
lea eax, [ebp + edx*2]
lea ecx, [ebx + eax*4]
mov eax, 1
jmp 0x414cd1
mov eax, dword [esi + ecx*4]
add ecx, 1
add eax, 1
mov dword [ebx + ecx*4 - 4], eax
jne 0x414b5f
cmp ebp, ecx
jg 0x414c48
mov edx, 1
jmp 0x414b95
mov dword [esp + 0x38], eax
mov edx, edi
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
nop
lea eax, [ebp + edx*2]
lea ecx, [ebx + eax*4]
cmp esi, dword [esp + 0x30]
je 0x414df0
mov edx, dword [esp + 0x38]
shl edx, 2
lea eax, [esi + edx]
add edx, dword [esp + 0x30]
cmp ebp, dword [esp + 0x38]
jle 0x414ccf
mov dword [esp + 0x48], ecx
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x3c]
lea esi, [esi]
mov ecx, dword [eax]
add eax, 4
add edx, 4
mov dword [edx - 4], ecx
cmp ebp, eax
jne 0x414cb8
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
xor eax, eax
mov dword [ecx], 0
mov edx, dword [esp + 0x30]
add dword [edx], eax
jae 0x414ce8
add dword [edx + 4], 1
lea edx, [edx + 4]
jb 0x414cdf
cmp ebp, 0x234
jg 0x414e02
cmp esi, dword [esp + 0x30]
je 0x414f80
lea eax, [ebp + 1]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call fcn.0041b620
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
mov esi, dword [ebx + eax*2]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 4], ebx
mov dword [esp], ebx
call fcn.00404250
mov ecx, dword [esp + 0x34]
add esi, eax
mov eax, ebx
mov dword [ecx], 0
add dword [eax], esi
jae 0x414d4f
add dword [eax + 4], 1
lea eax, [eax + 4]
jb 0x414d46
mov eax, dword [ecx]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.00404247
mov esi, dword [edi]
mov dword [esp + 0xc], 1
mov dword [esp + 8], ebp
mov dword [esp + 4], edi
and esi, 1
mov dword [esp], edi
add esi, eax
call fcn.00404300
mov ecx, dword [esp + 0x40]
mov eax, esi
shr esi, 1
shl eax, 0x1f
or dword [edi + ecx - 4], eax
mov eax, edi
add dword [eax], esi
jae 0x414da6
add dword [eax + 4], 1
lea eax, [eax + 4]
jb 0x414d9d
mov edx, dword [esp + 0x44]
lea eax, [edi + ecx]
cmp dword [esp + 0x28], edx
jg 0x414ef0
mov esi, dword [esp + 0x34]
mov esi, dword [esi]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00404250
add esi, eax
mov eax, edi
sub dword [eax], esi
jae 0x414de2
sub dword [eax + 4], 1
lea eax, [eax + 4]
jb 0x414dd9
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ecx], 0
cmp ebp, 0x234
jle 0x414f80
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + ebp*4]
add eax, ebp
mov dword [esp + 0x38], eax
mov dword [esp + 4], 1
mov dword [esp], ebp
call fcn.0041b140
mov ecx, eax
mov eax, 1
shl eax, cl
sub eax, 1
test ebp, eax
je 0x414e39
nop
sar eax, 1
sub ecx, 1
test ebp, eax
jne 0x414e30
cmp ecx, 3
jle 0x414cf4
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 8], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.0041b1d0
mov esi, dword [esp + 0x34]
mov dword [esi], eax
jmp 0x414d51
cmp ebx, edi
je 0x414afc
lea eax, [esi*4]
add ebx, eax
add eax, edi
cmp dword [esp + 0x28], esi
jle 0x414ea7
lea esi, [esi]
mov edx, dword [ebx]
add ebx, 4
add eax, 4
mov dword [eax - 4], edx
cmp ebp, ebx
jne 0x414e98
xor edx, edx
jmp 0x414aed
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 4], ebp
mov dword [esp], edi
call fcn.00414a10
cmp ebp, 0x234
jle 0x414f80
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], esi
mov dword [esp + 0x38], eax
jmp 0x414e0f
sub edx, ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00404250
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x44]
mov edx, eax
mov eax, dword [esp + 0x34]
mov esi, dword [eax]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
add eax, eax
sub eax, ebp
shl eax, 2
add ebx, eax
add eax, edi
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004042f7
add esi, eax
mov eax, dword [edi]
mov edx, eax
sub edx, esi
mov dword [edi], edx
cmp esi, eax
jbe 0x414afc
mov ebx, dword [esp + 0x44]
mov eax, 1
jmp 0x414f74
mov edx, dword [edi + eax*4]
lea ecx, [edx - 1]
mov dword [edi + eax*4], ecx
add eax, 1
test edx, edx
jne 0x414afc
cmp ebx, eax
jg 0x414f60
jmp 0x414afc
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.0041b620
mov esi, dword [esp + 0x44]
sub esi, ebp
jne 0x414fc5
mov eax, dword [esp + 0x34]
mov dword [eax], 0
xor eax, eax
jmp 0x414d51
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], edi
mov dword [esp + 0x78], eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0041b620
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.00404250
test eax, eax
jne 0x415001
mov esi, dword [esp + 0x34]
mov dword [esi], 0
jmp 0x414d51
mov eax, dword [ebx + esi*4]
add esi, 1
lea edx, [eax - 1]
mov dword [ebx + esi*4 - 4], edx
test eax, eax
jne 0x41502a
cmp ebp, esi
jg 0x414ff0
mov edx, 1
mov esi, dword [esp + 0x34]
mov eax, ebx
mov dword [esi], 0
add dword [eax], edx
jae 0x415023
add dword [eax + 4], 1
lea eax, [eax + 4]
jb 0x41501a
mov eax, dword [esi]
jmp 0x414d51
xor edx, edx
jmp 0x41500a