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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x9c
mov edx, eax
mov ebx, dword [eax + 0x5c]
mov dword [esp + 0x28], eax
mov edx, dword [edx + 0xc]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], 2
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0x48], eax
mov eax, dword [ecx]
mov dword [esp + 0x4c], edx
mov dword [esp], eax
call dword [ecx + 0x2c4]
mov esi, dword [esp + 0x28]
mov eax, dword [esi]
mov dword [esp], eax
call dword [esi + 0x2cc]
mov edx, eax
mov dword [esi + 0x10], eax
sar edx, 0x1f
mov dword [esi + 8], eax
mov dword [esi + 0x14], edx
mov dword [esi + 0xc], edx
mov eax, esi
lea edx, [esp + 0x70]
call fcn.00419680
mov esi, eax
mov edi, edx
test edx, edx
js 0x41ae5f
lea eax, [esp + 0x70]
mov dword [esp], eax
call fcn.0041d3d0
mov dword [esp + 0x14], 0
cmp eax, ebx
je 0x41ae6c
add esi, 1
mov eax, dword [esp + 0x28]
adc edi, 0
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp], 0
mov dword [esp + 4], 0
call fcn.004197b0
test eax, eax
js 0x41ae5a
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x34]
shl eax, 5
mov dword [esp + 4], eax
mov eax, dword [edx + 0x48]
mov dword [esp], eax
call sub.MSVCRT.DLL_realloc
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x48], eax
mov eax, dword [ecx + 0x34]
shl eax, 4
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x4c]
mov dword [esp], eax
call sub.MSVCRT.DLL_realloc
mov ebx, dword [esp + 0x28]
mov dword [ebx + 0x4c], eax
mov ebx, dword [ebx + 0x34]
lea eax, [ebx*8]
mov dword [esp], eax
call sub.MSVCRT.DLL_malloc
mov edx, dword [esp + 0x28]
mov dword [edx + 0x3c], eax
mov eax, ebx
shl eax, 4
mov dword [esp], eax
call sub.MSVCRT.DLL_malloc
mov ecx, dword [esp + 0x28]
test ebx, ebx
mov dword [ecx + 0x44], eax
jle 0x41afb5
add ecx, 0x78
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x44], ecx
lea ebp, [esp + 0x50]
lea esi, [esi]
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x41afe0
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x4c]
mov ecx, esi
mov eax, dword [ebx + 0x3c]
mov ebx, dword [esp + 0x48]
mov edx, ebx
mov dword [eax + 4], esi
mov dword [eax], ebx
mov eax, dword [esp + 0x28]
call fcn.00419630
mov esi, dword [esp + 0x28]
mov eax, dword [esi + 0x3c]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
and edx, ecx
inc edx
je 0x41af16
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
shl ebx, 2
xor edi, edi
mov eax, dword [esi + 0x40]
mov dword [esp + 0x40], ebx
mov eax, dword [eax + ebx]
mov ebx, dword [esp + 0x44]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0041e610
mov esi, dword [esp + 0x30]
shl esi, 5
or ebx, 0xffffffff
mov dword [esp + 0x2c], esi
xor esi, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
mov esi, ebx
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x44]
nop
lea esi, [esi]
lea edx, [esp + 0x80]
mov eax, edi
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0xffffffff
call fcn.004192e0
test edx, edx
js 0x41b087
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.0041d3d0
mov ecx, dword [esp + 0x40]
mov edx, eax
mov eax, dword [edi + 0x40]
cmp edx, dword [eax + ecx]
jne 0x41b087
lea eax, [esp + 0x80]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0041e070
lea esi, [esi]
mov dword [esp + 4], ebp
mov dword [esp], ebx
call fcn.0041e6a0
cmp eax, 0
je 0x41aea5
jle 0x41ae10
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x2c]
mov edx, dword [edi + 0x48]
add eax, edx
mov dword [esp], eax
call fcn.00421f00
cmp esi, 0xffffffff
mov ecx, eax
je 0x41ae56
lea eax, [eax + esi]
sar eax, 2
mov edx, eax
sar edx, 0x1f
add dword [esp + 0x20], eax
adc dword [esp + 0x24], edx
mov esi, ecx
jmp 0x41ae10
mov esi, 0xffffff80
add esp, 0x9c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], eax
mov eax, esi
add eax, 1
mov edx, edi
adc edx, 0
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x28]
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.004197b0
mov esi, 0xffffff80
test eax, eax
je 0x41ac91
jmp 0x41ae5f
lea edx, [esp + 0x80]
mov dword [esp], edx
call fcn.0041d320
and eax, edx
inc eax
je 0x41adb0
lea ecx, [esp + 0x80]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov dword [esp], ecx
call fcn.0041d320
mov ecx, eax
mov ebx, edx
sub ecx, esi
sbb ebx, edi
mov esi, ecx
mov edi, ebx
mov edx, edi
mov ebx, edi
sar edx, 0x1f
xor ebx, 0xffffffff
mov dword [esp + 0x38], ebx
mov ebx, edx
xor ebx, 0xffffffff
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], ebx
mov edx, dword [esp + 0x3c]
mov ecx, dword [eax + 0x44]
sar edx, 0x1f
mov eax, edx
and edx, edi
and eax, esi
mov esi, dword [esp + 0x34]
mov dword [ecx + esi], eax
mov dword [ecx + esi + 4], edx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
inc ebx
mov eax, dword [esi + 0x38]
mov dword [esp + 0x20], ebx
mov edx, dword [eax + ebx*8]
mov ecx, dword [eax + ebx*8 + 4]
mov eax, esi
mov ebx, esi
call fcn.00419630
jmp 0x41af56
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.0041d320
and eax, edx
inc eax
jne 0x41b048
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], esi
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.00419680
mov edi, eax
mov esi, edx
test edx, edx
jns 0x41af38
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
shl eax, 5
mov ecx, dword [esi + 0x48]
add eax, ecx
mov dword [esp], eax
call fcn.00420bd0
mov ebx, dword [esi + 0x4c]
mov eax, dword [esp + 0x34]
add eax, ebx
mov dword [esp], eax
call fcn.00420ab0
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
add eax, 0x10
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
cmp ebx, dword [eax + 0x34]
jl 0x41ad20
mov eax, dword [esp + 0x28]
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.0041a7e0
add esp, 0x9c
mov esi, eax
pop ebx
mov eax, esi
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
shl ebx, 3
mov eax, dword [edx + 0x38]
mov edx, dword [eax + ebx]
mov ecx, dword [eax + ebx + 4]
mov eax, dword [esp + 0x28]
call fcn.00419630
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov esi, dword [eax + 0x4c]
mov edi, dword [eax + 0x48]
mov ecx, dword [esp + 0x34]
shl edx, 5
add ecx, esi
add edx, edi
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004194a0
test eax, eax
js 0x41b094
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x3c]
mov dword [eax + ebx], edx
mov dword [eax + ebx + 4], ecx
jmp 0x41ad59
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x34]
add ebx, 8
mov edx, dword [eax + 0x44]
add ebx, edx
lea edx, [esp + 0x80]
mov dword [esp], edx
call fcn.0041d320
mov ecx, dword [esp + 0x28]
mov esi, eax
mov edi, edx
mov edx, dword [esp + 0x34]
mov eax, dword [ecx + 0x44]
sub esi, dword [eax + edx]
sbb edi, dword [eax + edx + 4]
mov dword [ebx], esi
mov dword [ebx + 4], edi
jmp 0x41af95
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
jmp 0x41aee0
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x3c]
mov dword [eax + ebx], 0xffffffff
mov dword [eax + ebx + 4], 0xffffffff
jmp 0x41af16