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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x4e7744]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
mov ebx, dword [esp + 0x74]
cmp dword [ebx + 0x28], 0
push ebp
mov ebp, dword [esp + 0x7c]
mov eax, dword [ebx + 8]
push esi
lea esi, [ebx + 0x28]
mov dword [esp + 0x38], ebx
push edi
mov edi, dword [eax + 0x18]
mov dword [esp + 0x34], ebp
jne 0x497bf7
push esi
push 0
push 0
push edi
call fcn.004982b0
add esp, 0x10
test eax, eax
jne 0x498039
mov eax, dword [ebp + 8]
cdq
add eax, dword [ebx + 0x30]
adc edx, dword [ebx + 0x34]
add eax, 9
adc edx, 0
push edx
push eax
push dword [esi]
push edi
call fcn.00497810
push ebp
push ebx
call fcn.00498700
add esp, 0x18
test eax, eax
jne 0x498039
mov eax, dword [ebx + 0x30]
xor ebp, ebp
mov ecx, dword [esi]
mov edi, ebp
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 8]
mov ebx, ebp
mov dword [esp + 0x30], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebp
mov eax, dword [eax + 0xc]
mov dword [esp + 0x38], eax
cdq
mov esi, edx
mov dword [esp + 0x10], ebp
push esi
push eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], eax
call fcn.00466e30
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
jne 0x497c79
lea ebp, [edi + 7]
jmp 0x497cb5
mov ebx, dword [esp + 0x40]
push esi
push dword [esp + 0x30]
push dword [esp + 0x20]
push ebx
call fcn.004aa930
mov esi, eax
cdq
sub ebx, eax
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x30]
mov edi, esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
sbb esi, edx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
inc dword [eax + 0x1c]
mov eax, dword [esi + 8]
cdq
push edx
push eax
lea eax, [esp + 0x74]
push eax
call fcn.0046e690
add esp, 0xc
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], eax
mov ecx, eax
test eax, eax
jle 0x497d6f
test ebp, ebp
jne 0x497d6b
mov esi, ebx
sub esi, edi
cmp ecx, esi
cmovle esi, ecx
sub eax, ecx
lea ecx, [esp + 0x6c]
add eax, ecx
push esi
push eax
mov eax, dword [esp + 0x30]
add eax, edi
push eax
call fcn.004ac060
add edi, esi
add esp, 0xc
cmp edi, ebx
jne 0x497d55
mov ebp, dword [esp + 0x20]
mov eax, ebp
mov ecx, dword [esp + 0x24]
cdq
add eax, dword [esp + 0x10]
adc edx, dword [esp + 0x14]
sub edi, ebp
mov ecx, dword [ecx]
push edx
push eax
mov eax, dword [esp + 0x30]
add eax, ebp
push edi
push eax
push dword [esp + 0x34]
mov eax, dword [ecx + 0xc]
call eax
mov ebp, eax
xor edi, edi
mov eax, ebx
mov dword [esp + 0x34], edi
cdq
add esp, 0x14
add dword [esp + 0x10], eax
adc dword [esp + 0x14], edx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
sub ecx, esi
mov dword [esp + 0x18], ecx
test ecx, ecx
jg 0x497ce5
mov esi, dword [esp + 0x34]
mov esi, dword [esi]
mov dword [esp + 0x2c], esi
test esi, esi
je 0x497f88
lea ecx, [ecx]
mov eax, dword [esi + 4]
mov dword [esp + 0x38], eax
mov eax, dword [esi]
cdq
mov ecx, eax
test edx, edx
ja 0x497dd9
jb 0x497d97
cmp ecx, 0x7f
ja 0x497dab
mov eax, 1
and cl, 0x7f
mov byte [esp + 0x6c], cl
mov esi, eax
mov dword [esp + 0x18], eax
jmp 0x497dfc
test edx, edx
ja 0x497dd9
jb 0x497db9
cmp ecx, 0x3fff
ja 0x497dd9
mov eax, ecx
shrd eax, edx, 7
or al, 0x80
and cl, 0x7f
mov byte [esp + 0x6c], al
mov eax, 2
mov byte [esp + 0x6d], cl
mov esi, eax
mov dword [esp + 0x18], eax
jmp 0x497dfc
push edx
push ecx
lea eax, [esp + 0x74]
push eax
call fcn.00443350
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jle 0x497e74
mov esi, eax
jmp 0x497dfc
mov ebx, dword [esp + 0x1c]
test ebp, ebp
jne 0x497e74
sub ebx, edi
lea ecx, [esp + 0x6c]
cmp esi, ebx
cmovle ebx, esi
sub eax, esi
add eax, ecx
push ebx
push eax
mov eax, dword [esp + 0x30]
add eax, edi
push eax
call fcn.004ac060
add edi, ebx
add esp, 0xc
cmp edi, dword [esp + 0x1c]
jne 0x497e6a
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, ebp
cdq
add eax, dword [esp + 0x10]
adc edx, dword [esp + 0x14]
sub edi, ebp
push edx
push eax
mov eax, dword [esp + 0x30]
add eax, ebp
push edi
push eax
push dword [esp + 0x34]
mov eax, dword [ecx + 0xc]
call eax
mov ebp, eax
xor edi, edi
mov eax, dword [esp + 0x30]
add esp, 0x14
cdq
add dword [esp + 0x10], eax
mov dword [esp + 0x20], edi
adc dword [esp + 0x14], edx
mov eax, dword [esp + 0x18]
sub esi, ebx
test esi, esi
jg 0x497df8
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov esi, eax
mov dword [esp + 0x30], eax
test eax, eax
jle 0x497f0f
test ebp, ebp
jne 0x497f0f
mov ebx, dword [esp + 0x1c]
sub ebx, edi
cmp esi, ebx
cmovle ebx, esi
sub eax, esi
add ecx, 8
add eax, ecx
push ebx
push eax
mov eax, dword [esp + 0x30]
add eax, edi
push eax
call fcn.004ac060
add edi, ebx
add esp, 0xc
cmp edi, dword [esp + 0x1c]
jne 0x497efd
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, ebp
cdq
add eax, dword [esp + 0x10]
adc edx, dword [esp + 0x14]
sub edi, ebp
push edx
push eax
mov eax, dword [esp + 0x30]
add eax, ebp
push edi
push eax
push dword [esp + 0x34]
mov eax, dword [ecx + 0xc]
call eax
mov ebp, eax
xor edi, edi
mov eax, dword [esp + 0x30]
add esp, 0x14
cdq
add dword [esp + 0x10], eax
mov dword [esp + 0x20], edi
adc dword [esp + 0x14], edx
mov ecx, dword [esp + 0x2c]
sub esi, ebx
mov eax, dword [esp + 0x30]
test esi, esi
jg 0x497e88
mov eax, dword [esp + 0x34]
cmp dword [eax + 4], 0
jne 0x497f72
cmp dword [0x4e6008], 0
je 0x497f68
mov eax, dword [0x4e86d8]
test eax, eax
je 0x497f35
push eax
call dword [0x4e6058]
add esp, 4
mov esi, dword [esp + 0x2c]
push esi
call dword [0x4e6034]
sub dword [0x4e8678], eax
dec dword [0x4e869c]
push esi
call dword [0x4e602c]
mov eax, dword [0x4e86d8]
add esp, 8
test eax, eax
je 0x497f72
push eax
call dword [0x4e6060]
jmp 0x497f6f
push ecx
call dword [0x4e602c]
add esp, 4
mov eax, dword [esp + 0x38]
mov esi, eax
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x497d80
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
mov dword [eax], esi
test ebp, ebp
jne 0x497fc9
test ebx, ebx
je 0x497fc9
mov ecx, dword [esp + 0x20]
cmp edi, ecx
jle 0x497fc9
mov ebp, dword [esp + 0x24]
mov eax, ecx
cdq
add eax, dword [esp + 0x10]
adc edx, dword [esp + 0x14]
mov esi, dword [ebp]
push edx
push eax
mov eax, edi
sub eax, ecx
add ecx, ebx
push eax
push ecx
mov ecx, dword [esi + 0xc]
push ebp
call ecx
add esp, 0x14
mov ebp, eax
mov ecx, dword [esp + 0x3c]
mov eax, edi
cdq
add eax, dword [esp + 0x10]
adc edx, dword [esp + 0x14]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
test ebx, ebx
je 0x498037
cmp dword [0x4e6008], 0
je 0x49802d
mov eax, dword [0x4e86d8]
test eax, eax
je 0x497ffe
push eax
call dword [0x4e6058]
add esp, 4
push ebx
call dword [0x4e6034]
sub dword [0x4e8678], eax
dec dword [0x4e869c]
push ebx
call dword [0x4e602c]
mov eax, dword [0x4e86d8]
add esp, 8
test eax, eax
je 0x498037
push eax
call dword [0x4e6060]
jmp 0x498034
push ebx
call dword [0x4e602c]
add esp, 4
mov eax, ebp
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004aa4f4
add esp, 0x6c
ret