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

Disassembly:
sub esp, 0x70
mov eax, dword [0x691844]
xor eax, esp
mov dword [esp + 0x6c], eax
movzx eax, byte [esp + 0x74]
dec eax
push esi
mov esi, dword [esp + 0x7c]
cmp eax, 0x64
ja case.default.0x495f1b
movzx eax, byte [eax + 0x49759c]
push ebx
push edi
jmp dword [eax*4 + 0x4974a8]
mov ecx, dword [0x69e254]
test ecx, ecx
je case.0x495f1b.32
mov edx, dword [esi + 8]
push edx
call fcn.00497e70
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
push 0
push 0x5c
push str..CharacterCalcManager.cpp
call fcn.00527110
add esp, 0xc
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69e254]
test ecx, ecx
je case.0x495f1b.32
mov eax, dword [esi + 8]
push eax
call fcn.00497ed0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
push 0
push 0x6a
push str..CharacterCalcManager.cpp
call fcn.00527110
add esp, 0xc
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69e254]
test ecx, ecx
je case.0x495f1b.32
mov edx, dword [ecx]
mov eax, dword [esi + 8]
mov edx, dword [edx + 0x54]
push 1
push eax
call edx
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
push 0
push 0x79
push str..CharacterCalcManager.cpp
call fcn.00527110
add esp, 0xc
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov edi, dword [0x69e254]
test edi, edi
je case.0x495f1b.32
mov al, byte [esi + 0x10]
push ebp
test al, al
jne 0x4960a1
mov ebp, dword [esi + 8]
sub ebp, dword [edi + 0x6c2]
mov ebx, dword [esi + 0xc]
sbb ebx, dword [edi + 0x6c6]
mov eax, ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], eax
test ebx, ebx
jg 0x496083
jl 0x496052
test eax, eax
jae 0x496083
movzx eax, word [edi + 0x44c]
push eax
mov ecx, 0x6a5408
call fcn.00495cd0
push 1
add eax, ebp
push 0
mov ebx, edx
adc ebx, dword [esp + 0x1c]
push 0
mov ecx, edi
mov dword [esp + 0x38], eax
call fcn.00498320
mov edi, dword [0x69e254]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push 1
push ecx
push edx
mov ecx, edi
call fcn.00498320
mov eax, dword [esp + 0x2c]
push ebx
push eax
push 0x84
jmp 0x49611b
cmp al, 1
jne 0x496135
mov eax, dword [esi + 8]
mov ebp, dword [edi + 0x6c2]
mov esi, dword [esi + 0xc]
sub ebp, eax
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x6c6]
sbb eax, esi
mov ebx, ebp
mov dword [esp + 0x30], esi
mov esi, eax
mov ecx, ebx
or ecx, esi
mov dword [esp + 0x14], eax
je 0x496135
movzx eax, word [edi + 0x44c]
cmp ax, 0x63
je 0x496135
test esi, esi
jg 0x496101
jl 0x4960ec
test ebx, ebx
jae 0x496101
push eax
mov ecx, 0x6a5408
call fcn.00495cd0
mov ebx, eax
mov esi, edx
add ebx, ebp
adc esi, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push 1
push edx
push eax
mov ecx, edi
call fcn.00498320
push esi
push ebx
push 0x86
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x13
push 0x6a0f60
call fcn.004d8020
add esp, 0x14
pop ebp
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
push 0
push 0xaf
push str..CharacterCalcManager.cpp
call fcn.00527110
add esp, 0xc
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69e254]
test ecx, ecx
je case.0x495f1b.32
mov edx, dword [ecx]
mov eax, dword [esi + 8]
mov edx, dword [edx + 0xb0]
push eax
call edx
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69e254]
test ecx, ecx
je case.0x495f1b.32
mov eax, dword [ecx]
mov edx, dword [esi + 8]
mov eax, dword [eax + 0xb4]
push edx
call eax
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69e254]
test ecx, ecx
je case.0x495f1b.32
mov edx, dword [ecx]
mov eax, dword [esi + 8]
mov edx, dword [edx + 0xc4]
push eax
call edx
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov eax, dword [esi + 8]
push eax
mov ecx, 0x69e250
call fcn.0049ff30
test eax, eax
je case.0x495f1b.32
cmp dword [eax + 0x404], 1
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, 0x6e4b00
push eax
jne 0x496249
push 0xcc7
call fcn.005626d0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
push 0x1f
call fcn.005626d0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov edi, dword [0x69e254]
test edi, edi
je case.0x495f1b.32
movzx ecx, word [edi + 0x44c]
push ecx
mov ecx, 0x6a5408
call fcn.00495cd0
mov ecx, dword [esi + 0xe]
cmp ecx, edx
jl 0x4962a6
jg 0x496294
mov ecx, dword [esi + 0xa]
cmp ecx, eax
jbe 0x4962a6
sub eax, 1
sbb edx, 0
mov dword [esi + 0xa], eax
mov dword [esi + 0xe], edx
mov edi, dword [0x69e254]
movzx eax, word [esi + 8]
mov edx, dword [edi]
mov edx, dword [edx + 0xb8]
push eax
mov ecx, edi
call edx
mov eax, dword [esi + 0x16]
mov ecx, dword [esi + 0x12]
push eax
push ecx
mov ecx, dword [0x69e254]
call fcn.00498240
mov ecx, dword [0x69e254]
push 1
push 0
push 0
call fcn.00498320
movzx eax, word [esi + 8]
mov ecx, dword [0x69e254]
cmp ax, word [ecx + 0x6e6]
jbe 0x4962fb
mov word [ecx + 0x6e6], ax
mov ecx, dword [0x69e254]
movzx eax, word [ecx + 0x44c]
lea edx, [ecx + 0x9dc]
push edx
push eax
push 1
mov ecx, 0x6ccea8
call fcn.00551de0
mov ecx, dword [0x69e254]
movzx edx, word [ecx + 0x44c]
push edx
push 0x18
mov ecx, 0x68d360
call fcn.004f73d0
mov ecx, 0x6a3890
call fcn.004f5340
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
cmp dword [0x69e254], 0
je case.0x495f1b.32
movzx eax, word [esi + 8]
mov ecx, dword [0x6938ac]
test ax, ax
je 0x4963a4
push eax
push 1
call fcn.00445190
mov eax, dword [0x6938ac]
cmp dword [eax + 0x10], 0
jne case.0x495f1b.32
mov ecx, dword [0x6938b4]
push 1
push 2
call fcn.00447470
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
call fcn.00445210
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69e254]
test ecx, ecx
je case.0x495f1b.32
movzx edx, word [esi + 8]
push edx
call fcn.00499ce0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69e254]
test ecx, ecx
je case.0x495f1b.32
movzx eax, word [esi + 8]
push eax
call fcn.00499d20
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69e254]
test ecx, ecx
je case.0x495f1b.32
movzx edx, word [esi + 8]
push edx
call fcn.00499d60
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69e254]
test ecx, ecx
je case.0x495f1b.32
movzx eax, word [esi + 8]
push eax
call fcn.00499da0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov eax, dword [esi + 4]
push eax
mov ecx, 0x69e250
call fcn.0049ff30
test eax, eax
je case.0x495f1b.32
mov ecx, dword [esi + 8]
mov edx, dword [eax]
mov edx, dword [edx + 0xbc]
push ecx
mov ecx, eax
call edx
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
xor eax, eax
mov dword [esp + 0x15], eax
mov dword [esp + 0x19], eax
mov dword [esp + 0x1d], eax
mov word [esp + 0x21], ax
mov byte [esp + 0x23], al
mov byte [esp + 0x28], al
mov dword [esp + 0x29], eax
mov dword [esp + 0x2d], eax
mov dword [esp + 0x31], eax
mov word [esp + 0x35], ax
mov byte [esp + 0x37], al
mov eax, dword [esi + 8]
push eax
mov byte [esp + 0x18], 0
call fcn.00526ec0
add esp, 4
lea edx, [esp + 0x14]
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x4964f0
mov ecx, dword [esi + 8]
imul ecx, ecx, 0x3e8
push ecx
call fcn.00526ec0
add esp, 4
lea edx, [esp + 0x28]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x496510
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x2c]
push eax
push 0x286
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x1a
push 0x6a0f60
call fcn.004d8020
add esp, 0x14
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
push 0x287
jmp 0x497216
mov ecx, dword [0x69e254]
test ecx, ecx
je case.0x495f1b.32
mov edx, dword [esi + 8]
push edx
call fcn.00498730
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov eax, dword [0x69e254]
test eax, eax
je case.0x495f1b.32
mov ecx, dword [esi + 8]
pop edi
pop ebx
mov dword [eax + 0xa0c], ecx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov eax, dword [0x69e254]
test eax, eax
je case.0x495f1b.32
mov cl, byte [esi + 0xc]
test cl, cl
jne 0x496630
mov esi, dword [esi + 8]
mov edi, esi
sub edi, dword [eax + 0xa04]
push esi
lea ecx, [eax + 0x9dc]
call fcn.00550f30
push edi
push 0x87
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x14
push 0x6a0f60
call fcn.004d8020
mov edx, dword [0x69e254]
add esp, 0x10
add edx, 0x9dc
push edx
push 0
push 8
mov ecx, 0x6ccea8
call fcn.00551de0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
cmp cl, 2
jne case.0x495f1b.32
push 0
push 0x18a
push str..CharacterCalcManager.cpp
call fcn.00527110
add esp, 0xc
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69386c]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
push 0
call edx
mov ecx, dword [0x693a28]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
push 0
call edx
movzx eax, word [esi + 8]
push eax
mov ecx, 0x6ccea8
call fcn.00552a40
mov edx, dword [0x69386c]
mov edi, eax
movzx ecx, word [edi]
mov dword [edx + 0x2cc], ecx
mov eax, dword [0x69e254]
movzx ecx, word [esi + 8]
add eax, 0x9dc
push eax
push ecx
mov ecx, 0x6ccea8
call fcn.00552a70
lea edx, [edi + 2]
push edx
push 0x89
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x18
push 0x6a0f60
call fcn.004d8020
movzx eax, word [edi]
add esp, 0x10
push eax
push 0x17
mov ecx, 0x68d360
call fcn.004f73d0
mov ecx, dword [0x693a28]
call fcn.0047bbb0
mov ecx, dword [0x693a28]
call fcn.0047bc10
mov ecx, dword [0x693b10]
call fcn.005897d0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69386c]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
push 0
call eax
mov ecx, dword [0x693a28]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
push 0
call eax
movzx ecx, word [esi + 8]
push ecx
mov ecx, 0x6ccea8
call fcn.00552a40
mov edi, eax
movzx edx, word [edi]
mov eax, dword [0x69386c]
mov dword [eax + 0x2cc], edx
mov ecx, dword [0x69e254]
movzx edx, word [esi + 8]
add ecx, 0x9dc
push ecx
push edx
mov ecx, 0x6ccea8
call fcn.00552b50
lea eax, [edi + 2]
push eax
push 0x89
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x18
push 0x6a0f60
call fcn.004d8020
movzx ecx, word [edi]
add esp, 0x10
push ecx
push 0x17
mov ecx, 0x68d360
call fcn.004f73d0
mov ecx, dword [0x693a28]
call fcn.0047bbb0
mov ecx, dword [0x693a28]
call fcn.0047bc10
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69386c]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
push 0
call eax
mov ecx, dword [0x693a28]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
push 0
call eax
movzx ecx, word [esi + 8]
push ecx
mov ecx, 0x6ccea8
call fcn.00552a40
add eax, 2
push eax
push 0x8a
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x19
push 0x6a0f60
call fcn.004d8020
add esp, 0x10
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69386c]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
push 0
call eax
mov ecx, dword [0x693a28]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
push 0
call eax
movzx ecx, word [esi + 8]
push ecx
mov ecx, 0x6ccea8
call fcn.00552a40
mov edi, eax
movzx edx, word [edi]
mov eax, dword [0x69386c]
mov dword [eax + 0x2cc], edx
mov ecx, dword [0x69e254]
movzx edx, word [esi + 8]
add ecx, 0x9dc
push ecx
push edx
mov ecx, 0x6ccea8
call fcn.00552c50
lea eax, [edi + 2]
push eax
push 0x2e4
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x18
push 0x6a0f60
call fcn.004d8020
movzx ecx, word [edi]
add esp, 0x10
push ecx
push 0x17
mov ecx, 0x68d360
call fcn.004f73d0
mov ecx, dword [0x693a28]
call fcn.0047bbb0
mov ecx, dword [0x693a28]
call fcn.0047bc10
mov edx, 0x81
cmp word [esi + 8], dx
jmp 0x496992
mov ecx, dword [0x69386c]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
push 0
call edx
mov ecx, dword [0x693a28]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
push 0
call edx
movzx eax, word [esi + 8]
push eax
mov ecx, 0x6ccea8
call fcn.00552a40
add eax, 2
push eax
push 0x2e5
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x19
push 0x6a0f60
call fcn.004d8020
add esp, 0x10
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
movzx ecx, word [esi + 8]
push ecx
mov ecx, 0x6ccea8
call fcn.00552a40
mov edx, dword [0x69e254]
movzx eax, word [esi + 8]
add edx, 0x9dc
push edx
push eax
mov ecx, 0x6ccea8
call fcn.00552d50
mov ecx, dword [0x693b10]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0
call eax
mov ecx, 0x81
cmp word [esi + 8], cx
jne case.0x495f1b.32
push 0
mov ecx, 0x68dfb0
call fcn.00512770
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, 0x68da68
call fcn.005018a0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
movzx edx, byte [esi + 8]
push edx
mov ecx, 0x68da68
call fcn.005018d0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, 0x68da68
call fcn.00501a80
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
movzx eax, byte [esi + 8]
push eax
mov ecx, 0x68da68
call fcn.00501930
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69e254]
call fcn.0049cb40
cmp al, 0x14
je case.0x495f1b.32
mov eax, dword [0x69e254]
cmp dword [eax + 0x31c], 0
jne 0x496a74
push 0
push 0x21a
push str..CharacterCalcManager.cpp
call fcn.00527110
mov eax, dword [0x69e254]
add esp, 0xc
mov ecx, dword [0x6a01bc]
sub ecx, dword [eax + 0x40]
cmp ecx, 0x2710
jb case.0x495f1b.32
push 0
push 0
push 0
push eax
push eax
mov ecx, 0x685030
call fcn.0049e7b0
mov ecx, dword [0x693a28]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0
call eax
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov eax, dword [0x69e254]
mov ecx, 0xffff
add word [eax + 0x580], cx
mov eax, dword [0x69e254]
inc word [eax + 0x582]
mov ecx, dword [0x6938ac]
call fcn.00445280
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
push 0x2f4
jmp 0x497216
mov eax, dword [esi + 4]
cmp eax, dword [0x69e248]
jne 0x496c6b
mov ecx, dword [0x69e254]
movzx eax, byte [esi + 8]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc0]
push eax
call edx
movzx eax, byte [esi + 8]
add eax, 0xffffffc0
cmp eax, 0x41
ja case.0x496b3f.66
movzx eax, byte [eax + 0x497618]
jmp dword [eax*4 + 0x497604]
push 0x37a
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
lea ecx, [esp + 0x3c]
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
mov edx, dword [0x69e254]
add esp, 8
push 0
push 0
push 0
push 0
push 0
push 0
push edx
push 0x62
jmp 0x496c18
push 0x37b
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
mov ecx, dword [0x69e254]
add esp, 8
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
push 0x62
jmp 0x496c18
push 0x37c
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
lea edx, [esp + 0x3c]
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
mov eax, dword [0x69e254]
add esp, 8
push 0
push 0
push 0
push 0
push 0
push 0
push eax
jmp 0x496c16
push 0x37d
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
lea ecx, [esp + 0x3c]
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
mov edx, dword [0x69e254]
add esp, 8
push 0
push 0
push 0
push 0
push 0
push 0
push edx
push 0x63
mov ecx, 0x6e4b00
call fcn.005626d0
lea eax, [esp + 0x38]
push eax
push 0x384
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x1a
push 0x6a0f60
call fcn.004d8020
mov ecx, dword [0x69e248]
add esp, 0x10
push ecx
mov ecx, 0x69e120
call fcn.0048ce90
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
push eax
mov ecx, 0x69e250
call fcn.0049ff30
mov edi, eax
test edi, edi
je case.0x495f1b.32
movzx eax, byte [esi + 8]
mov edx, dword [edi]
mov edx, dword [edx + 0xc0]
push eax
mov ecx, edi
call edx
movzx eax, byte [esi + 8]
add eax, 0xffffffc0
cmp eax, 0x41
ja case.0x496ca4.66
movzx eax, byte [eax + 0x497668]
jmp dword [eax*4 + 0x49765c]
push 0
push 0
push 0
push 0
push 0
push 0
push edi
push 0x62
jmp 0x496ccb
push 0
push 0
push 0
push 0
push 0
push 0
push edi
push 0x63
mov ecx, 0x6e4b00
call fcn.005626d0
mov ecx, dword [esi + 4]
push ecx
mov ecx, 0x69e120
call fcn.0048ce90
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
cmp dword [0x69e254], 0
je case.0x495f1b.32
test byte [esi + 0xc], 8
je 0x496d27
mov edx, dword [esi + 8]
pop edi
pop ebx
mov dword [0x68dfb8], edx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov eax, dword [esi + 8]
push eax
mov ecx, 0x68dfb0
call fcn.00512770
test byte [esi + 0xc], 2
je case.0x495f1b.32
cmp dword [0x68dfc0], 0
jne case.0x495f1b.32
push 1
mov ecx, 0x68dfb0
call fcn.005127e0
pop edi
pop ebx
mov dword [0x68dfc4], 1
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [esi + 4]
push ecx
mov ecx, 0x69e250
call fcn.0049ff30
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je case.0x495f1b.32
cmp dword [0x69e254], edi
jne 0x496db3
push ebx
mov ecx, 0x68dfb0
call fcn.005127e0
mov edx, dword [esi + 8]
push edx
push 1
mov ecx, 0x68dfb0
call fcn.005128e0
cmp byte [edi + 0x460], bl
je 0x496dc7
cmp byte [edi + 0x149], bl
jne case.0x495f1b.32
movzx eax, byte [edi + 0x44b]
cmp eax, 0x81
ja case.0x495f1b.32
movzx eax, byte [eax + 0x4976bc]
jmp dword [eax*4 + 0x4976ac]
fldz
push edi
push 1
fst dword [esp + 0x2c]
lea edx, [esp + 0x1c]
fst dword [esp + 0x28]
mov ecx, 0x40b
fstp dword [esp + 0x24]
push edx
mov word [esp + 0x20], cx
push 0xffffffffffffffed
mov ecx, edi
mov dword [esp + 0x28], ebx
call fcn.0049e480
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
fldz
push edi
push 1
fst dword [esp + 0x2c]
lea ecx, [esp + 0x1c]
fst dword [esp + 0x28]
push ecx
fstp dword [esp + 0x28]
mov eax, 0x378
push 0xffffffffffffffec
mov ecx, edi
mov word [esp + 0x24], ax
mov dword [esp + 0x28], ebx
call fcn.0049e480
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
fldz
push edi
push 1
fst dword [esp + 0x2c]
lea eax, [esp + 0x1c]
fst dword [esp + 0x28]
push eax
fstp dword [esp + 0x28]
mov edx, 0x379
push 0xffffffffffffffeb
mov ecx, edi
mov word [esp + 0x24], dx
mov dword [esp + 0x28], ebx
call fcn.0049e480
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [esi + 4]
push ecx
mov ecx, 0x69e250
call fcn.0049ff30
mov esi, eax
test esi, esi
je case.0x495f1b.32
movzx eax, byte [esi + 0x44b]
cmp eax, 0x81
ja case.0x496ed7.1
movzx edx, byte [eax + 0x497750]
jmp dword [edx*4 + 0x497740]
push 0xffffffffffffffed
jmp 0x496ee8
push 0xffffffffffffffec
jmp 0x496ee8
push 0xffffffffffffffeb
mov ecx, esi
call fcn.0049e550
cmp dword [0x69e254], esi
jne case.0x495f1b.32
push 0
push 0
mov ecx, 0x68dfb0
call fcn.005128e0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov eax, dword [esi + 8]
push eax
mov ecx, 0x69e250
call fcn.0049ff30
movzx ecx, byte [esi + 0xe]
movzx edx, word [esi + 0xc]
push ecx
push edx
push eax
mov ecx, 0x69e250
call fcn.004a50f0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov eax, dword [esi + 8]
push eax
mov ecx, 0x69e250
call fcn.0049ff30
mov edi, eax
movzx eax, word [esi + 0xc]
sub eax, 1
je 0x496fa1
sub eax, 1
je 0x496f8f
sub eax, 1
jne 0x496fda
mov ecx, 0x6a0f60
cmp byte [esi + 0xe], al
je 0x496f88
push 0x535
jmp 0x496fc5
push 0x536
jmp 0x496fc5
cmp byte [esi + 0xe], 0
mov ecx, 0x6a0f60
je 0x496f88
push 0x539
jmp 0x496fc5
cmp byte [esi + 0xe], 0
je 0x496fae
push 0x52f
jmp 0x496fc0
cmp byte [esi + 0xf], 0
je 0x496fbb
push 0x530
jmp 0x496fc0
push 0x533
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x1a
push 0x6a0f60
call fcn.004d8020
add esp, 0xc
movzx ecx, byte [esi + 0xe]
movzx edx, word [esi + 0xc]
push ecx
push edx
push edi
mov ecx, 0x69e250
call fcn.004a50f0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
movzx eax, word [esi + 0xa]
sub eax, 6
je 0x49703b
sub eax, 1
jne case.0x495f1b.32
movzx eax, word [esi + 8]
sub eax, 1
je 0x497031
sub eax, 1
jne case.0x495f1b.32
push 0x534
jmp 0x497216
push 0x532
jmp 0x497216
push 0x191
jmp 0x497216
mov eax, dword [esi + 4]
push eax
mov ecx, 0x69e250
call fcn.0049ff30
mov edi, eax
test edi, edi
je case.0x495f1b.32
mov cl, byte [esi + 8]
mov byte [edi + 0x4f4], cl
push edi
mov ecx, 0x69e120
call fcn.0048ff80
mov edx, dword [edi + 0x129]
cmp edx, dword [0x69e248]
jne case.0x495f1b.32
mov al, byte [esi + 8]
cmp al, 1
jne 0x497094
push 0x5ad
jmp 0x497216
mov ecx, 0x6a0f60
cmp al, 2
jne 0x4970a7
push 0x5b2
jmp 0x49721b
push 0x5ae
jmp 0x49721b
push 0x646
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x1a
push 0x6a0f60
call fcn.004d8020
mov eax, dword [0x69e254]
add esp, 0xc
pop edi
pop ebx
mov dword [eax + 0xa14], 0
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov eax, dword [0x69e254]
cmp word [eax + 0x582], 0
je 0x49710e
mov ecx, 0xffff
add word [eax + 0x582], cx
mov ecx, dword [0x6938ac]
call fcn.00445280
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov edx, dword [esi + 4]
cmp edx, dword [0x69e248]
jne case.0x495f1b.32
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
cmp ecx, 1
jne 0x497159
test eax, eax
jne 0x497159
mov eax, dword [esi + 8]
push eax
push 0x81c
jmp 0x497286
cmp ecx, 2
jne 0x49716c
test eax, eax
jne 0x49716c
push 0x81d
jmp 0x497216
cmp ecx, 3
jne case.0x495f1b.32
test eax, eax
jne case.0x495f1b.32
push 0x859
jmp 0x497216
mov ecx, dword [esi + 4]
cmp ecx, dword [0x69e248]
jne case.0x495f1b.32
cmp dword [esi + 0xc], 1
jne case.0x495f1b.32
cmp dword [esi + 0x10], 0
jne case.0x495f1b.32
mov edx, dword [0x69e254]
push 0
push 0
push 0
push 0
push 0
push 0
push edx
push 0x62
mov ecx, 0x6e4b00
call fcn.005626d0
mov ecx, dword [0x69e254]
mov ax, word [esi + 8]
mov word [ecx + 0x6fc], ax
mov ecx, dword [0x6938ac]
call fcn.00445010
mov edx, dword [esi + 8]
push edx
push 0x819
jmp 0x497286
mov eax, dword [esi + 4]
cmp eax, dword [0x69e248]
jne case.0x495f1b.32
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
cmp ecx, 2
jne 0x497244
test eax, eax
jne 0x497244
push 0x815
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x1a
push 0x6a0f60
call fcn.004d8020
add esp, 0xc
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
cmp ecx, 3
jne 0x497258
test eax, eax
jne 0x497258
mov ecx, dword [esi + 8]
push ecx
push 0x816
jmp 0x497286
cmp ecx, 4
jne 0x49726c
test eax, eax
jne 0x49726c
mov edx, dword [esi + 8]
push edx
push 0x817
jmp 0x497286
cmp ecx, 5
jne case.0x495f1b.32
test eax, eax
jne case.0x495f1b.32
mov eax, dword [esi + 8]
push eax
push 0x818
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x1a
push 0x6a0f60
call fcn.004d8020
add esp, 0x10
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [esi + 4]
cmp ecx, dword [0x69e248]
jne case.0x495f1b.32
cmp dword [esi + 8], 0x4d2
jne case.0x495f1b.32
mov ecx, 0x6a4300
call fcn.00519cb0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov edx, dword [esi + 4]
push edx
mov ecx, 0x69e250
call fcn.0049ff30
mov edi, eax
test edi, edi
je case.0x495f1b.32
movzx eax, word [esi + 8]
mov word [edi + 0x4ba], ax
movzx eax, ax
xor esi, esi
xor ebx, ebx
test eax, eax
je 0x497330
push eax
mov ecx, 0x6a5408
call fcn.00495e90
test eax, eax
je 0x497330
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [edi + 0x320]
mov ecx, dword [eax + 0x280]
push ebx
push esi
call fcn.00495de0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [esi + 4]
push ecx
mov ecx, 0x69e250
call fcn.0049ff30
test eax, eax
je case.0x495f1b.32
mov dx, word [esi + 8]
push eax
mov ecx, 0x69fe70
mov word [eax + 0x523], dx
call fcn.004b0320
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov eax, dword [esi + 8]
mov ecx, dword [0x693b4c]
push eax
call fcn.00589d00
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [esi + 8]
push ecx
mov ecx, dword [0x693b4c]
call fcn.00589d60
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov edx, dword [esi + 8]
push edx
mov ecx, 0x69e250
call fcn.0049ff30
mov edi, eax
test edi, edi
je case.0x495f1b.32
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov dword [esp + 0xc], ecx
fld dword [esp + 0xc]
fst dword [edi + 0x46e]
mov dword [esp + 0x28], eax
fld dword [esp + 0x28]
sub esp, 0xc
fst dword [edi + 0x46a]
lea edx, [esp + 0x20]
fxch st(1)
fst dword [esp + 8]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
push edx
call fcn.00525f60
add esp, 0x10
lea eax, [esp + 0x14]
push eax
lea ecx, [edi + 0x284]
call fcn.0054e090
push edi
mov ecx, 0x69e120
call fcn.0048fcf0
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x69399c]
push esi
call fcn.0051c050
pop edi
pop ebx
pop esi
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8
mov ecx, dword [0x693994]
push esi
call fcn.005198d0
mov ecx, dword [esp + 0x78]
pop edi
pop ebx
pop esi
xor ecx, esp
call fcn.005997a8
add esp, 0x70
ret 8