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

Disassembly:
push 0xffffffffffffffff
push 0x6afd31
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xdc
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0x3c]
call fcn.006107f0
lea ecx, [esp + 0xa0]
mov dword [esp + 0xf4], 0
call fcn.0060d180
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 1
call fcn.0060fe70
lea ecx, [esp + 0xc8]
mov byte [esp + 0xf4], 2
call fcn.00546ec0
mov eax, dword [0x704a50]
mov ecx, dword [0x704a54]
mov edx, dword [0x704a44]
mov dword [esp + 0x50], eax
mov eax, dword [0x704a48]
mov dword [esp + 0x54], ecx
mov ecx, dword [0x704a4c]
mov dword [esp + 0x5c], eax
mov al, byte [esp + 0xfc]
mov byte [esp + 0xf4], 3
test al, al
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], ecx
jne 0x49671e
mov byte [esp + 0x55], 0xc0
jmp 0x496727
cmp al, 1
jne 0x496727
mov byte [esp + 0x55], 0xb0
mov al, byte [0x71bb5c]
test al, al
je 0x49673f
push 0x1f4
call fcn.0041ad00
add esp, 4
jmp 0x496785
sub esp, 0x24
lea eax, [esp + 0x74]
mov edx, esp
mov dword [esp + 0x58], esp
push 1
push eax
push edx
lea ecx, [esp + 0xf8]
call fcn.00547f90
lea ecx, [esp + 0xc4]
call fcn.0060d330
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push ecx
lea ecx, [esp + 0xa8]
call fcn.0060d6b0
lea ecx, [esp + 0x14]
call fcn.006101a0
lea ecx, [esp + 0x10]
call fcn.00610330
cmp ax, 4
jg 0x496873
mov al, byte [0x71bb5c]
test al, al
jne 0x496873
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x703420
call fcn.0060ff10
push ecx
mov byte [esp + 0x104], 0xc
mov ecx, esp
mov dword [esp + 0x74], esp
push 6
push 0x704464
call fcn.0060ff10
mov ecx, 0x71b930
mov byte [esp + 0x104], 3
call fcn.006115e0
lea ecx, [esp + 0xc8]
mov byte [esp + 0xf4], 2
call fcn.00546f80
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 1
call fcn.0060ffb0
lea ecx, [esp + 0xa0]
mov byte [esp + 0xf4], 0
call fcn.0060d280
mov eax, dword [esp + 0x44]
test eax, eax
je 0x49684d
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x496844
cmp al, 0xff
je 0x496844
dec al
mov byte [ecx], al
xor ax, ax
jmp 0x496eab
push ecx
call fcn.00697880
add esp, 4
xor ax, ax
jmp 0x496eab
push 6
push 0x70443c
call fcn.0060ff10
mov ecx, 0x71b930
mov byte [esp + 0x104], 3
call fcn.006115e0
mov dl, byte [esp + 0x1b]
sub esp, 0x10
mov ebx, esp
xor eax, eax
mov edi, str.999999999
or ecx, 0xffffffff
mov byte [ebx], dl
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x74], esp
mov ebp, ecx
push 1
push ebp
mov ecx, ebx
call fcn.00414210
test al, al
je 0x4968ca
mov edi, dword [ebx + 4]
mov ecx, ebp
mov eax, ecx
mov esi, str.999999999
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.004141f0
sub esp, 0x10
lea edx, [esp + 0x3b]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
push str._________
mov byte [esp + 0x11c], 4
call fcn.00413110
sub esp, 0x10
lea eax, [esp + 0x6b]
mov ecx, esp
mov dword [esp + 0xb8], esp
push eax
push 0x7043e0
mov byte [esp + 0x12c], 5
call fcn.00413110
sub esp, 0x10
lea edx, [esp + 0x7a]
mov ecx, esp
mov dword [esp + 0x104], esp
push edx
push 0x71b8d8
mov byte [esp + 0x13c], 6
call fcn.00413110
push ecx
mov byte [esp + 0x138], 7
mov ecx, esp
mov dword [esp + 0x60], esp
push 6
push 0x704370
call fcn.0060ff10
push ecx
mov byte [esp + 0x13c], 8
mov ecx, esp
mov dword [esp + 0x5c], esp
push 6
push 0x704444
call fcn.0060ff10
lea eax, [esp + 0xd4]
mov ecx, 0x71b930
push eax
mov byte [esp + 0x140], 3
call fcn.00611b50
mov cx, word [eax]
lea esi, [eax + 4]
mov word [esp + 0x3c], cx
mov ecx, dword [0x6ce1fc]
mov eax, dword [esi + 8]
mov byte [esp + 0xf4], 9
mov ebx, eax
cmp ecx, ebx
jae 0x4969a4
mov ebx, ecx
lea edx, [esp + 0x40]
cmp edx, esi
jne 0x4969c9
push ecx
push ebx
lea ecx, [esp + 0x48]
call fcn.004140d0
xor esi, esi
lea ecx, [esp + 0x40]
push esi
push esi
call fcn.004140d0
jmp 0x496a52
test ebx, ebx
jbe 0x496a16
cmp ebx, eax
jne 0x496a16
mov eax, dword [esi + 4]
test eax, eax
jne 0x4969dd
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x496a16
push 1
lea ecx, [esp + 0x44]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4969fa
mov eax, 0x6ce1f8
mov dword [esp + 0x44], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x48], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x4c], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x496a50
push 1
push ebx
lea ecx, [esp + 0x48]
call fcn.00414210
test al, al
je 0x496a50
mov esi, dword [esi + 4]
test esi, esi
jne 0x496a32
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x44]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x44]
call fcn.004141f0
xor esi, esi
mov eax, dword [esp + 0x94]
mov byte [esp + 0xf4], 3
cmp eax, esi
je 0x496a82
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x496a79
cmp al, 0xff
je 0x496a79
dec al
mov byte [ecx], al
jmp 0x496a82
push ecx
call fcn.00697880
add esp, 4
lea ecx, [esp + 0x78]
mov dword [esp + 0x94], esi
push ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
call fcn.00610a50
mov edi, dword [eax + 8]
mov eax, dword [esp + 0x7c]
cmp eax, esi
je 0x496acd
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x496ac4
cmp al, 0xff
je 0x496ac4
dec al
mov byte [ecx], al
jmp 0x496acd
push ecx
call fcn.00697880
add esp, 4
lea edx, [esp + 0x68]
lea ecx, [esp + 0x3c]
push edx
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
call fcn.00610a50
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x496afc
mov eax, 0x6ce1f8
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00698355
mov eax, dword [esp + 0x74]
add esp, 8
cmp eax, esi
je 0x496b2f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x496b26
cmp al, 0xff
je 0x496b26
dec al
mov byte [ecx], al
jmp 0x496b2f
push ecx
call fcn.00697880
add esp, 4
lea ecx, [esp + 0x3c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
call fcn.00610a40
cmp ax, 2
je 0x496c50
lea ecx, [esp + 0x3c]
call fcn.00610a40
cmp ax, 1
jne 0x496873
mov al, byte [esp + 0x28]
cmp al, 0x30
jl 0x496c25
mov cl, byte [esp + 0x29]
cmp cl, 0x30
jl 0x496c25
cmp byte [esp + 0x2b], 0x30
jl 0x496c25
mov dl, byte [esp + 0x2c]
cmp dl, 0x30
jl 0x496c25
cmp byte [esp + 0x2e], 0x30
jl 0x496c25
mov bl, byte [esp + 0x2f]
cmp bl, 0x30
jl 0x496c25
cmp di, 8
jl 0x496c25
sub cl, 0x30
sub bl, 0x30
sub al, 0x30
mov byte [esp + 0x21], cl
mov cl, byte [esp + 0x2b]
sub dl, 0x30
mov byte [esp + 0x25], bl
mov bl, byte [esp + 0x21]
shl al, 4
sub cl, 0x30
mov byte [esp + 0x23], dl
mov dl, byte [esp + 0x2e]
or al, bl
mov bl, byte [esp + 0x23]
sub dl, 0x30
shl cl, 4
or cl, bl
mov bl, byte [esp + 0x25]
shl dl, 4
or dl, bl
cmp cl, 0x12
ja 0x496bfa
cmp dl, 0x31
jbe 0x496cb7
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x703420
call fcn.0060ff10
push ecx
mov byte [esp + 0x104], 0xb
mov ecx, esp
mov dword [esp + 0x2c], esp
jmp 0x496855
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x703420
call fcn.0060ff10
push ecx
mov byte [esp + 0x104], 0xa
mov ecx, esp
mov dword [esp + 0x2c], esp
jmp 0x496855
lea ecx, [esp + 0xc8]
mov byte [esp + 0xf4], 2
call fcn.00546f80
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 1
call fcn.0060ffb0
lea ecx, [esp + 0xa0]
mov byte [esp + 0xf4], 0
call fcn.0060d280
mov eax, dword [esp + 0x44]
cmp eax, esi
je 0x49684d
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x496844
cmp al, 0xff
je 0x496844
dec al
mov byte [ecx], al
xor ax, ax
jmp 0x496eab
xor ebx, ebx
cmp byte [0x71bb5c], bl
je 0x496d75
push 0x14
call fcn.0041ad00
add esp, 4
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x703420
call fcn.0060ff10
push ecx
mov byte [esp + 0x104], 0xd
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x704434
call fcn.0060ff10
mov ecx, 0x71b930
mov byte [esp + 0x104], 3
call fcn.006115e0
lea ecx, [esp + 0xc8]
mov byte [esp + 0xf4], 2
call fcn.00546f80
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 1
call fcn.0060ffb0
lea ecx, [esp + 0xa0]
mov byte [esp + 0xf4], bl
call fcn.0060d280
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x496ea7
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x496e9e
cmp al, 0xff
je 0x496e9e
dec al
mov byte [ecx], al
jmp 0x496ea7
sub esp, 0x24
mov byte [esp + 0x83], cl
mov byte [esp + 0x84], dl
mov ecx, esp
mov dword [esp + 0x38], esp
lea edx, [esp + 0x7c]
push 1
push edx
push ecx
lea ecx, [esp + 0xf8]
mov byte [esp + 0x8e], al
call fcn.00547f90
lea ecx, [esp + 0xc4]
call fcn.0060d330
push ecx
lea ecx, [esp + 0xa4]
mov eax, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0060d6b0
lea ecx, [esp + 0x14]
call fcn.006101a0
lea ecx, [esp + 0x10]
call fcn.00610330
push ebx
push 1
push ecx
cmp ax, 4
mov ecx, esp
jge 0x496e0d
mov dword [esp + 0x20], esp
push 6
push 0x703420
call fcn.0060ff10
push ecx
mov byte [esp + 0x104], 0xe
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x704464
jmp 0x496e33
mov dword [esp + 0x20], esp
push 6
push 0x703420
call fcn.0060ff10
push ecx
mov byte [esp + 0x104], 0xf
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x704434
call fcn.0060ff10
mov ecx, 0x71b930
mov byte [esp + 0x104], 3
call fcn.006115e0
lea ecx, [esp + 0xc8]
mov byte [esp + 0xf4], 2
call fcn.00546f80
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 1
call fcn.0060ffb0
lea ecx, [esp + 0xa0]
mov byte [esp + 0xf4], bl
call fcn.0060d280
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x496ea7
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x496e9e
cmp al, 0xff
je 0x496e9e
dec al
mov byte [ecx], al
jmp 0x496ea7
push ecx
call fcn.00697880
add esp, 4
mov ax, 1
mov ecx, dword [esp + 0xec]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xe8
ret 4