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

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], 0xffffffff
call dword [0x1000c030]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov ebp, edx
xor edx, edx
shr ebp, 6
cmp ebx, edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edx
jl 0x414a7e
cmp dword [esi + 4], edx
jl 0x414a7e
jg 0x41492a
cmp dword [esi], edx
jbe 0x414a7e
mov dword [edi + 0xc3cc], ebp
mov ecx, dword [edi + 0x1c]
lea eax, [edi + 0xb5f0]
cmp ecx, edx
jbe 0x41498a
cmp dword [eax], 0
je 0x41497b
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x414962
mov ecx, dword [eax + 8]
lea ebx, [ecx + ecx*8]
shl ebx, 4
add ebx, ecx
shl ebx, 5
mov dword [ebx + edi + 0x12b8], 0xffffffff
mov ecx, dword [eax + 8]
lea ebx, [ecx + ecx*8]
shl ebx, 4
add ebx, ecx
shl ebx, 5
mov dword [ebx + edi + 0x12bc], 0
mov ecx, dword [edi + 0x1c]
inc edx
add eax, 0x78
cmp edx, ecx
jb 0x41493d
mov ebx, dword [esp + 0x24]
test ebx, ebx
jl 0x414adf
mov ecx, dword [esi + 4]
mov edx, dword [esi]
test ecx, ecx
jg 0x4149ae
jl 0x4149a1
test edx, edx
ja 0x4149ae
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
je 0x414adf
imul ebx, ebx, 0x78
mov ebp, dword [ebx + edi + 0xb640]
lea eax, [ebx + edi]
add ebp, edx
mov dword [eax + 0xb640], ebp
mov ebx, dword [eax + 0xb644]
adc ebx, ecx
mov dword [eax + 0xb644], ebx
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov esi, dword [eax + 0xb648]
add esi, ecx
mov dword [eax + 0xb648], esi
mov ecx, dword [eax + 0xb64c]
adc ecx, edx
mov dword [eax + 0xb64c], ecx
mov edx, dword [edi + 0x1c]
mov esi, dword [eax + 0xb628]
lea ecx, [edx + 0x5d4]
shl ecx, 5
add ecx, edi
mov ebx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov ebp, ebx
or ebp, ecx
je 0x414ac5
mov ebp, esi
shl ebp, 5
lea ebp, [edi + ebp + 0xbab0]
mov dword [esp + 0x1c], ebp
mov ebp, dword [ebp + 4]
cmp ebp, ecx
jl 0x414ac5
jg 0x414a41
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
cmp ecx, ebx
jbe 0x414ac5
mov dword [edi + 0xc3d0], 0
mov dword [edi + 0xc608], 0xfffffff4
mov edx, dword [eax + 0xb5f8]
push 0xfffffffffffffff4
push edx
add edi, 0xc60c
push 0x1000e614
push edi
call fcn.00416926
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc
mov eax, dword [edi + 0xc3cc]
cmp eax, edx
je 0x414930
mov ecx, ebp
sub ecx, eax
cmp ecx, 0x1e
jbe 0x414930
mov dword [edi + 0xc608], 0xfffffff2
push 0xfffffffffffffff2
add edi, 0xc60c
push 0x1000e5f8
push edi
call fcn.00416926
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc
cmp edx, 1
jne 0x414c71
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
jne 0x414eb6
mov ebp, dword [esp + 0x10]
mov eax, dword [edi + 0x1c]
lea esi, [edi + 0xb5f0]
test eax, eax
mov dword [esp + 0x1c], 0
jbe 0x414bec
cmp dword [esi], 0
je 0x414bd1
mov ebx, dword [esp + 0x10]
mov eax, dword [esi + 0x3c]
mov ebp, dword [esi + 8]
sub ebx, eax
jne 0x414b14
mov ebx, 1
mov ecx, dword [esi + 0x54]
mov edx, dword [esi + 0x50]
push 0
push ebx
push ecx
push edx
call fcn.004170a8
lea ecx, [ebp + ebp*8]
mov dword [esi + 0x48], eax
shl ecx, 4
add ecx, ebp
shl ecx, 5
add ecx, edi
cmp eax, dword [ecx + 0x12bc]
jbe 0x414b45
mov edx, eax
mov dword [ecx + 0x12bc], edx
test ebx, ebx
jbe 0x414bd1
cmp ebx, 0x28
ja 0x414b64
mov eax, dword [esi + 0x54]
test eax, eax
jl 0x414bd1
jg 0x414b64
cmp dword [esi + 0x50], 0x100000
jbe 0x414bd1
mov eax, dword [esi + 0x48]
test eax, eax
mov dword [esi + 0x44], eax
jne 0x414b75
mov dword [esi + 0x44], 1
mov eax, dword [esi + 0x44]
mov edx, dword [ecx + 0x12b8]
cmp eax, edx
jae 0x414b88
mov dword [ecx + 0x12b8], eax
mov eax, dword [esi + 0x44]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jbe 0x414b97
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x40]
sub eax, edx
cmp eax, 0xa
jbe 0x414bd1
mov ecx, dword [esi + 0x58]
xor ebx, ebx
push ebx
push eax
mov eax, dword [esi + 0x5c]
push eax
push ecx
call fcn.004170a8
cmp eax, ebx
mov dword [esi + 0x4c], eax
jne 0x414bc4
mov dword [esi + 0x4c], 1
mov edx, dword [esp + 0x10]
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x40], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x1c]
inc eax
add esi, 0x78
cmp eax, ecx
mov dword [esp + 0x1c], eax
jb 0x414af8
mov ebp, dword [esp + 0x10]
mov ecx, dword [edi + 0xc3c8]
mov eax, ebp
sub eax, ecx
je 0x414d14
cmp eax, 0x78
ja 0x414c21
mov ecx, dword [edi + 0xc3c4]
test ecx, ecx
jl 0x414d14
jg 0x414c21
cmp dword [edi + 0xc3c0], 0x100000
jbe 0x414d14
mov ecx, dword [edi + 0xc3c0]
push 0
push eax
mov eax, dword [edi + 0xc3c4]
push eax
push ecx
call fcn.004170a8
cmp eax, 0x100
mov dword [edi + 0x58], eax
jae 0x414d14
mov dword [edi + 0xc608], 0xfffffff5
push 0xfffffffffffffff5
add edi, 0xc60c
push 0x1000e5d0
push edi
call fcn.00416926
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc
xor ecx, ecx
test edx, edx
jbe 0x414c9a
lea eax, [edi + 0xbaa8]
mov ebx, dword [eax + 0xc]
mov ebp, dword [eax + 4]
cmp ebx, ebp
jl 0x414c9a
jg 0x414c92
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp ebx, ebp
jb 0x414c9a
inc ecx
add eax, 0x20
cmp ecx, edx
jb 0x414c7d
cmp ecx, edx
jne 0x414adb
shl esi, 5
mov ecx, dword [esi + edi + 0xbaac]
mov edx, dword [esi + edi + 0xbaa8]
lea eax, [esi + edi]
mov esi, dword [esi + edi + 0xbab4]
mov edi, dword [eax + 0xbab0]
cmp esi, ecx
jl 0x414cfb
jg 0x414ccd
cmp edi, edx
jbe 0x414cfb
sub edx, edi
sbb ecx, esi
mov esi, dword [esp + 0x28]
mov edi, dword [esi]
add edi, edx
mov dword [esi], edi
mov edx, dword [esi + 4]
adc edx, ecx
mov dword [esi + 4], edx
mov ecx, dword [eax + 0xbaa8]
mov dword [eax + 0xbab0], ecx
mov edx, dword [eax + 0xbaac]
mov dword [eax + 0xbab4], edx
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
mov dword [eax], 1
mov eax, 1
pop ebx
add esp, 0x10
ret 0xc
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
test eax, eax
jl 0x414d4f
mov ecx, dword [ebx + 4]
test ecx, ecx
jl 0x414d4f
jg 0x414d2e
cmp dword [ebx], 0
jbe 0x414d4f
lea edx, [esp + 0x18]
mov ecx, edi
push edx
push ebx
push ebp
push eax
call fcn.00414ec8
mov ecx, dword [esp + 0x2c]
test eax, eax
mov dword [ecx], eax
jne 0x414eb6
mov ebx, dword [esp + 0x28]
mov eax, dword [edi + 0x1c]
xor ebp, ebp
test eax, eax
lea esi, [edi + 0xb5f0]
jbe 0x414e1e
cmp dword [esi], 0
je 0x414e0b
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x414e0b
mov eax, dword [esp + 0x14]
xor edx, edx
div ecx
cmp eax, 8
jbe 0x414d8b
cmp ecx, 0x4000
jb 0x414d93
cmp ecx, 0x100
jae 0x414e0b
mov ebx, dword [esi + 0x38]
push 0x2ee2
push esi
mov ecx, edi
call fcn.00414678
cmp eax, 1
jne 0x414dc1
mov eax, dword [esi + 8]
lea edx, [eax + eax*8]
shl edx, 4
add edx, eax
shl edx, 5
mov dword [edx + edi + 0x12c4], 1
push ebp
mov ecx, edi
call fcn.00414848
push ebx
push ebp
mov ecx, edi
call fcn.004134a8
test eax, eax
jne 0x414de4
mov eax, dword [edi + 0xc600]
test eax, eax
je 0x414e77
cmp ebp, dword [esp + 0x24]
jne 0x414e0b
mov eax, dword [edi + 0xc3c0]
mov ecx, dword [edi + 0xc3c4]
or eax, ecx
jne 0x414e0b
mov eax, dword [esp + 0x28]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [edi + 0x1c]
inc ebp
add esi, 0x78
cmp ebp, eax
jb 0x414d62
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
test eax, eax
jl 0x414eac
mov ecx, dword [edi + 0x1c]
xor esi, esi
test ecx, ecx
jbe 0x414eac
lea eax, [edi + 0xbaa8]
or edx, 0xffffffff
mov ebp, dword [eax + 0xc]
cmp ebp, dword [eax + 4]
jg 0x414e52
jl 0x414e4d
mov ebp, dword [eax + 8]
cmp ebp, dword [eax]
jae 0x414e52
cmp dword [eax + 0x14], edx
je 0x414e5c
inc esi
add eax, 0x20
cmp esi, ecx
jb 0x414e3c
jmp 0x414eac
mov ecx, dword [esp + 0x18]
push esi
push ecx
mov ecx, edi
call fcn.004134a8
test eax, eax
jne 0x414e83
mov eax, dword [edi + 0xc600]
test eax, eax
jne 0x414e83
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 0xc
cmp esi, dword [esp + 0x24]
jne 0x414eac
mov edx, dword [edi + 0xc3c0]
mov eax, dword [edi + 0xc3c4]
add edi, 0xc3c0
or edx, eax
jne 0x414eac
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x10
ret 0xc