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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
push ebx
push esi
push edi
mov edi, eax
mov esi, dword [edi + 0x34]
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], eax
cmp byte [edi + 3], al
jne 0x490f97
lea ebx, [eax + 4]
cmp byte [edi + 4], al
je 0x490ff9
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x20]
lea eax, [ecx + edx]
cmp eax, 0x80
jae 0x490fc0
mov eax, dword [ebp + 8]
add cl, dl
mov byte [ebx + eax], cl
mov eax, 1
movzx eax, al
add ebx, eax
jmp 0x490fff
mov ecx, dword [ebp + 8]
add ecx, ebx
test eax, 0xffffc000
jne 0x490fe7
mov edx, eax
and al, 0x7f
mov byte [ecx + 1], al
mov eax, 2
shr edx, 7
movzx eax, al
or dl, 0x80
mov byte [ecx], dl
add ebx, eax
jmp 0x490fff
push 0
push eax
call fcn.0043035a
movzx eax, al
add esp, 8
add ebx, eax
jmp 0x490fff
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x1c], eax
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push edx
add ecx, ebx
push eax
call fcn.0043035a
mov ecx, dword [ebp + 8]
push ecx
add ebx, eax
push edi
lea eax, [esp + 0x48]
call fcn.0043cb3a
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x20]
add esp, 0x10
cmp byte [edi + 2], 0
lea eax, [ecx + edx]
mov dword [esp + 0x14], eax
je 0x49104d
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x1c], edx
mov edx, ecx
mov dword [esp + 0x10], edx
mov dword [ebp + 0x1c], 0
jmp 0x491083
cmp dword [ebp + 0x14], 0
jg 0x4912de
mov ecx, dword [ebp + 0x10]
jl 0x491068
cmp ecx, 0x7fffffff
ja 0x4912de
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x4912de
add eax, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
mov edx, ecx
movzx ecx, word [esp + 0x52]
mov edi, dword [ebp + 0x24]
add ebx, dword [ebp + 8]
mov dword [edi], ecx
movzx ecx, word [esp + 0x50]
add ecx, dword [ebp + 8]
movzx edi, word [esp + 0x4e]
mov dword [esp + 0x30], ecx
test eax, eax
jle 0x4912ba
jmp 0x4910b7
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edi, edi
jne 0x49124b
cmp byte [esi + 0x11], 0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x34], edi
je 0x49111f
mov ebx, dword [0x100b7120]
inc edi
cmp edi, 2
jae 0x4910dd
xor ecx, ecx
jmp 0x49110b
mov eax, 0xcccccccd
mul dword [esi + 0x24]
mov esi, edx
shr esi, 2
inc esi
xor edx, edx
lea eax, [edi - 2]
div esi
xor edx, edx
mov ecx, eax
imul ecx, esi
mov esi, dword [esp + 0x18]
mov eax, ebx
div dword [esi + 0x20]
add ecx, 2
inc eax
cmp ecx, eax
jne 0x49110b
inc ecx
cmp ecx, edi
je 0x4910d3
xor edx, edx
mov eax, ebx
div dword [esi + 0x20]
inc eax
cmp edi, eax
je 0x4910d3
mov dword [esp + 0x20], edi
push 0
push edi
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x38]
push eax
push esi
call fcn.0048f7aa
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x34]
add esp, 0x14
cmp byte [esi + 0x11], 0
mov dword [esp + 0x24], eax
je 0x491184
test eax, eax
jne 0x4912c3
mov eax, dword [esp + 0x34]
test eax, eax
lea ecx, [esp + 0x24]
push ecx
setne dl
push eax
add dl, 3
movzx eax, dl
push eax
mov eax, ebx
mov ecx, esi
call fcn.0048eb9a
add esp, 0xc
cmp dword [esp + 0x24], 0
je 0x49118f
test edi, edi
je 0x491184
mov eax, dword [edi + 0x44]
call fcn.0043d42a
cmp dword [esp + 0x24], 0
jne 0x4912c3
mov eax, dword [esp + 0x30]
mov ecx, ebx
shr ecx, 0x18
mov byte [eax], cl
mov edx, ebx
mov ecx, ebx
shr edx, 0x10
shr ecx, 8
mov byte [eax + 1], dl
mov byte [eax + 2], cl
mov byte [eax + 3], bl
mov eax, dword [esp + 0x28]
test eax, eax
je 0x491226
mov eax, dword [eax + 0x44]
test byte [eax + 0x18], 0x40
mov esi, dword [eax + 0x10]
je 0x491202
dec dword [esi + 0x78]
mov edx, dword [esi + 0x88]
mov dword [eax + 0xc], edx
mov edi, dword [esi + 0x3c]
mov dword [esi + 0x88], eax
mov ecx, dword [eax + 4]
mov ebx, dword [edi]
push ecx
mov ecx, dword [eax + 0x14]
mov eax, dword [esi + 0x98]
cdq
push edx
push eax
dec ecx
push 0
push ecx
call fcn.004ce8ca
push edx
mov edx, dword [ebx + 0x48]
push eax
push edi
call edx
mov edi, dword [esp + 0x3c]
add esp, 0x10
jmp 0x491207
call fcn.004386ca
cmp dword [esi + 0x78], 0
jne 0x491222
mov eax, dword [esi + 0xdc]
cmp dword [eax + 0xc], 0
jne 0x491222
push esi
call fcn.0048bb3a
add esp, 4
mov esi, dword [esp + 0x18]
mov eax, dword [edi + 0x38]
mov edx, dword [esp + 0x10]
mov dword [eax], 0
mov ebx, dword [edi + 0x38]
mov dword [esp + 0x28], edi
mov edi, dword [esi + 0x24]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
add ebx, 4
sub edi, 4
mov esi, eax
cmp eax, edi
jle 0x491253
mov esi, edi
test edx, edx
jle 0x49126b
cmp esi, edx
jle 0x49125d
mov esi, edx
mov ecx, dword [esp + 0x1c]
push esi
push ecx
push ebx
call fcn.004ce718
jmp 0x491274
push esi
push 0
push ebx
call fcn.004ce72a
mov eax, dword [esp + 0x1c]
sub dword [esp + 0x20], esi
add dword [esp + 0x28], esi
sub eax, esi
add esp, 0xc
add ebx, esi
sub edi, esi
mov dword [esp + 0x10], eax
test eax, eax
jne 0x49129f
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x14], 0
jg 0x4910ab
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4912ba
mov eax, dword [eax + 0x44]
call fcn.0043d42a
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4912d3
mov eax, dword [eax + 0x44]
call fcn.0043d42a
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x100b2144
push 0xdf12
push 0x100b2308
push 0xb
call fcn.0048445a
add esp, 0x10
pop edi
pop esi
mov eax, 0xb
pop ebx
mov esp, ebp
pop ebp
ret