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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x48
mov edx, dword [ebp + 8]
xorps xmm0, xmm0
push esi
push edi
movlpd qword [esp + 0x30], xmm0
mov edi, dword [edx + 0x84]
mov ecx, dword [esp + 0x34]
movlpd qword [esp + 0x20], xmm0
test edi, edi
je 0x49733a
mov eax, dword [esp + 0x30]
mov esi, dword [edx + 0x8c]
mov dword [esp + 0x2c], eax
add esi, 0x10
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
nop dword [eax]
mov eax, dword [esi - 8]
cdq
add dword [esp + 0x2c], eax
adc ecx, edx
cmp dword [esi + 4], 0
mov dword [esp + 0x20], ecx
mov ecx, dword [esi]
ja 0x4972fa
test ecx, ecx
je 0x497325
mov eax, dword [esi - 8]
mov edx, 0x4c4b400
push dword [esi + 4]
imul edx
push ecx
push edx
push eax
call fcn.0060e300
cmp edx, dword [esp + 0x18]
jl 0x497325
jg 0x49731d
cmp eax, dword [esp + 0x1c]
jbe 0x497325
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x20]
add esi, 0x20
sub edi, 1
jne 0x4972e0
mov esi, dword [esp + 0x2c]
mov edx, dword [ebp + 8]
jmp 0x49734e
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
mov eax, dword [edx + 0x7c]
test eax, eax
mov edi, dword [edx + 0x78]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x18]
ja 0x497377
test edi, edi
jne 0x497377
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x4c], ecx
jmp 0x4973a8
push dword [esp + 0x4c]
mov eax, ecx
mov edx, 0x4c4b400
mul edx
mov edx, 0x4c4b400
mov ecx, eax
mov eax, esi
mul edx
push edi
add ecx, edx
push ecx
push eax
call fcn.0060e300
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], edx
mov edx, dword [ebp + 8]
test eax, eax
jg 0x4973c5
jl 0x4973b5
cmp dword [esp + 0x1c], 1
ja 0x4973c5
mov dword [esp + 0x1c], SysReAllocStringLen
mov dword [esp + 0x24], 0
mov ecx, dword [edx + 0x58]
mov dword [esp + 0x2c], ecx
test ecx, ecx
jle 0x49744e
cmp ecx, 0x80
jge 0x4973df
mov edi, 0xf
jmp 0x497402
cmp ecx, 0x4000
jge 0x4973ee
mov edi, 0x10
jmp 0x497402
xor eax, eax
cmp ecx, 0x200000
setge al
add eax, 0x11
mov dword [esp + 0x30], eax
mov edi, eax
push 0
xor dl, dl
mov ecx, 0x66917c
call fcn.00493030
add edi, dword [esp + 0x30]
mov edx, eax
add esp, 4
mov dword [esp + 0x20], edx
mov esi, edx
mov ecx, edi
cmp edi, 0x80
jl 0x49746c
cmp edi, 0x4000
jge 0x497438
mov eax, 9
jmp 0x497471
cmp edi, 0x200000
jge 0x497447
mov eax, 0xa
jmp 0x497471
mov eax, 0xb
jmp 0x497471
push 0
xor dl, dl
mov ecx, 0x66917c
call fcn.00493030
mov edi, 0xd
mov dword [esp + 0x24], eax
add esp, 4
mov esi, eax
mov ecx, edi
mov eax, 8
add eax, ecx
mov ecx, esi
push eax
push 3
call fcn.004934d0
mov ecx, dword [ebp + 8]
movzx eax, word [ecx + 0x80]
mov ecx, esi
push eax
call fcn.00493170
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esp + 0x30], eax
cmp ecx, eax
jge 0x4974a6
mov eax, dword [esi + 0xc]
mov byte [ecx + eax], 0x1f
jmp 0x4974d1
cmp dword [esi], 0
je 0x4974d1
add eax, eax
push eax
push dword [esi + 0xc]
call fcn.005fc254
add esp, 8
test eax, eax
je 0x4974d4
mov edx, dword [esp + 0x30]
mov dword [esi + 0xc], eax
lea ecx, [edx + edx]
mov dword [esi + 4], ecx
mov ecx, dword [esi + 8]
mov byte [eax + ecx], 0x1f
inc dword [esi + 8]
push edi
push 4
mov ecx, esi
call fcn.004934d0
mov eax, dword [ebp + 8]
mov edx, 0x66a788
add eax, 8
mov dword [esp + 0x18], 0
mov dword [esp + 0x2c], eax
mov ecx, eax
mov edi, 0xc
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497559
add ecx, 4
add edx, 4
sub edi, 4
jae 0x497500
mov ecx, dword [ebp + 8]
mov edx, 0x66a748
add ecx, 0x34
mov edi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49753d
add ecx, 4
add edx, 4
sub edi, 4
jae 0x497521
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x4c]
add eax, 0x48
jmp 0x49753f
xor eax, eax
xor edx, edx
mov ecx, 0x20
cmp dword [eax + 0x10], 0x5634504d
cmovne ecx, edx
mov dword [esp + 0x18], ecx
jmp 0x497690
mov ecx, dword [esp + 0x2c]
mov edx, 0x66a788
mov edi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49757d
add ecx, 4
add edx, 4
sub edi, 4
jae 0x497567
jmp 0x497690
mov ecx, dword [esp + 0x2c]
mov edx, 0x66a778
mov edi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497690
add ecx, 4
add edx, 4
sub edi, 4
jae 0x497590
mov edi, dword [ebp + 8]
mov edx, 0x66a738
add edi, 0x34
mov dword [esp + 0x30], 0xc
mov ecx, edi
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4975db
add ecx, 4
add edx, 4
sub dword [esp + 0x30], 4
jae 0x4975c0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x4c]
jmp 0x4975dd
xor eax, eax
mov ecx, 0xff
cmp word [eax], cx
jne 0x4975f4
mov dword [esp + 0x18], 0x40
jmp 0x497690
mov ecx, edi
mov dword [esp + 0x30], 0xc
mov edx, 0x66a738
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49761e
add ecx, 4
add edx, 4
sub dword [esp + 0x30], 4
jae 0x497603
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x4c]
jmp 0x497620
xor eax, eax
cmp word [eax], 0x55
je 0x497658
mov ecx, edi
mov dword [esp + 0x30], 0xc
mov edx, 0x66a738
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497650
add ecx, 4
add edx, 4
sub dword [esp + 0x30], 4
jae 0x497635
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x4c]
jmp 0x497652
xor eax, eax
cmp word [eax], 0x50
jne 0x497690
mov ecx, 0x66a738
mov edx, 0xc
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x49767b
add edi, 4
add ecx, 4
sub edx, 4
jae 0x497662
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x4c]
jmp 0x49767d
xor eax, eax
cmp dword [eax + 4], 0x7d00
sbb eax, eax
and eax, 0xfffffffe
add eax, 0x6b
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x2c]
mov edx, 0x66a788
mov edi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4976b5
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4976a0
xor edi, edi
jmp 0x4976de
mov edi, dword [esp + 0x2c]
mov ecx, 0x66a778
mov edx, 0xc
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x4976db
add edi, 4
add ecx, 4
sub edx, 4
jae 0x4976c3
mov edi, 1
jmp 0x4976de
or edi, 0xffffffff
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
cmp ecx, eax
jge 0x497717
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x18]
mov byte [ecx + eax], dl
inc dword [esi + 8]
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
test edi, edi
setne cl
lea ecx, [ecx*4 + 0x11]
mov dword [esp + 0x30], ecx
cmp edx, eax
jge 0x497751
mov eax, dword [esi + 0xc]
mov byte [edx + eax], cl
jmp 0x49777b
cmp dword [esi], 0
je 0x4976f2
add eax, eax
push eax
push dword [esi + 0xc]
mov dword [esp + 0x38], eax
call fcn.005fc254
add esp, 8
test eax, eax
je 0x497748
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
mov dword [esi + 4], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], eax
mov byte [eax + ecx], dl
jmp 0x4976f2
mov edx, dword [esp + 0x20]
mov edx, dword [edx + 8]
jmp 0x4976f8
cmp dword [esi], 0
je 0x49777b
lea edi, [eax + eax]
push edi
push dword [esi + 0xc]
call fcn.005fc254
mov edx, eax
add esp, 8
test edx, edx
je 0x49777e
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x30]
mov dword [esi + 0xc], edx
mov dword [esi + 4], edi
mov byte [edx + ecx], al
inc dword [esi + 8]
push 0x100000
mov ecx, esi
call fcn.00493210
mov edi, dword [esp + 0x1c]
mov ecx, esi
mov eax, edi
shr eax, 0x10
push eax
call fcn.00493170
push edi
mov ecx, esi
call fcn.00493170
mov edi, dword [esp + 0x4c]
mov ecx, esi
mov eax, edi
shr eax, 0x10
push eax
call fcn.00493170
push edi
mov ecx, esi
call fcn.00493170
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x58]
test eax, eax
jle 0x497837
push eax
push 5
mov ecx, esi
call fcn.004934d0
mov eax, dword [ebp + 8]
xor edi, edi
cmp dword [eax + 0x58], edi
jle 0x497837
nop word [eax + eax]
mov eax, dword [eax + 0x54]
mov ecx, dword [esi + 8]
mov dl, byte [edi + eax]
mov eax, dword [esi + 4]
mov byte [esp + 0x17], dl
cmp ecx, eax
jge 0x4977fc
mov eax, dword [esi + 0xc]
mov byte [ecx + eax], dl
jmp 0x49782b
cmp dword [esi], 0
je 0x49782b
add eax, eax
push eax
push dword [esi + 0xc]
mov dword [esp + 0x54], eax
call fcn.005fc254
add esp, 8
test eax, eax
je 0x49782e
mov ecx, dword [esp + 0x4c]
mov dl, byte [esp + 0x17]
mov dword [esi + 4], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], eax
mov byte [eax + ecx], dl
inc dword [esi + 8]
mov eax, dword [ebp + 8]
inc edi
cmp edi, dword [eax + 0x58]
jl 0x4977e0
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
cmp ecx, eax
jge 0x4978b1
mov eax, dword [esi + 0xc]
mov byte [ecx + eax], 6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
cmp ecx, eax
jge 0x4978e7
mov eax, dword [esi + 0xc]
mov byte [ecx + eax], 1
inc dword [esi + 8]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
cmp ecx, eax
jge 0x497921
mov eax, dword [esi + 0xc]
mov byte [ecx + eax], 2
inc dword [esi + 8]
mov edi, dword [esi + 8]
movups xmm0, xmmword [esi]
mov ecx, edi
shr ecx, 0x10
push ecx
movups xmmword [esp + 0x34], xmm0
lea ecx, [esp + 0x34]
mov dword [esp + 0x3c], 0
call fcn.00493170
push edi
lea ecx, [esp + 0x34]
call fcn.00493170
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
cmp dword [esi], 0
je 0x497848
lea edi, [eax + eax]
push edi
push dword [esi + 0xc]
call fcn.005fc254
add esp, 8
test eax, eax
je 0x4978db
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edi
mov byte [eax + ecx], 6
jmp 0x497848
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 8]
jmp 0x49784e
cmp dword [esi], 0
je 0x497860
lea edi, [eax + eax]
push edi
push dword [esi + 0xc]
call fcn.005fc254
add esp, 8
test eax, eax
je 0x497915
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edi
mov byte [eax + ecx], 1
jmp 0x497860
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 8]
jmp 0x497866
cmp dword [esi], 0
je 0x497878
lea edi, [eax + eax]
push edi
push dword [esi + 0xc]
call fcn.005fc254
add esp, 8
test eax, eax
je 0x49794f
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edi
mov byte [eax + ecx], 2
jmp 0x497878
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 8]
jmp 0x49787e