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

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x4359be
push eax
mov eax, 0x123b0
mov dword fs:[0], esp
call fcn.004210e0
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x840]
call fcn.00404b80
mov eax, dword [0x4457b0]
xor ecx, ecx
mov dword [esp + 0x123c8], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x860]
mov ecx, dword [esp + 0x864]
cmp eax, ecx
mov byte [esp + 0x123c8], 3
mov ebx, eax
mov ebp, ecx
mov edi, eax
je 0x4140a7
mov ecx, edi
call fcn.0042ba44
add edi, 0x238
cmp edi, ebp
jne 0x414096
mov ecx, dword [esi + 0x5d4]
lea eax, [esi + 0x57c]
push ecx
push eax
lea edx, [esp + 0x1e4]
lea eax, [esp + 0x848]
push edx
push eax
mov ecx, esi
mov dword [esp + 0x874], ebx
call fcn.00417860
mov dword [esi + 0x8e4], eax
lea eax, [esi + 0x8d0]
push eax
lea ecx, [esp + 0x844]
call fcn.00404c90
mov al, byte [esi + 0x28]
cmp al, 0x63
mov byte [esp + 0x63], al
jne 0x414107
lea ecx, [esp + 0x840]
mov byte [esi + 0x28], 0
call fcn.00405470
mov ax, word [esi + 0x5e8]
mov ebx, dword [esp + 0x123d0]
mov edi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
test ax, ax
jne 0x414166
mov ecx, dword [ebx + 8]
push 0x6e
push ecx
call edi
mov edx, dword [ebx + 8]
push 0x58
push edx
mov ebp, eax
call edi
mov ecx, eax
lea eax, [ebp + ebp*8]
shl eax, 3
cdq
idiv ecx
push 0x6f
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 8]
push eax
call edi
mov ecx, dword [ebx + 8]
push 0x5a
push ecx
mov ebp, eax
call edi
mov ecx, eax
lea eax, [ebp + ebp*8]
shl eax, 3
cdq
idiv ecx
mov dword [esp + 0x50], eax
jmp 0x4141dc
push eax
lea edx, [esi + 0x158]
lea eax, [esp + 0x5c]
push edx
push eax
lea ecx, [esi + 0x5e4]
call fcn.00404a10
mov ecx, eax
mov eax, dword [ecx]
mov dword [esp + 0x4c], eax
mov ebp, dword [ecx + 4]
lea ecx, [eax + eax*8]
shl ecx, 3
mov eax, 0x81020409
imul ecx
add edx, ecx
lea ecx, [ebp + ebp*8]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x81020409
shl ecx, 3
mov ebx, edx
imul ecx
mov eax, dword [esi + 0x30]
add edx, ecx
sar edx, 7
mov ecx, edx
mov dword [esp + 0x4c], ebx
shr ecx, 0x1f
add edx, ecx
test eax, eax
mov dword [esp + 0x50], edx
je 0x4141d5
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x123d0]
mov edx, dword [ebx + 8]
push 0xa
push edx
call edi
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 8]
push 0x5a
push eax
call edi
fild dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov ecx, dword [ebx + 8]
push 0x71
push ecx
fmul dword [0x437df4]
fidiv dword [esp + 0x48]
fstp dword [esp + 0x34]
call edi
mov edx, dword [ebx + 8]
push 0x5a
push edx
mov dword [esp + 0x28], eax
call edi
fild dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x50]
fmul dword [0x437df4]
lea eax, [eax + eax*8]
shl eax, 3
fidiv dword [esp + 0x40]
mov dword [esp + 0x20], eax
fstp dword [esp + 0x48]
fild dword [esp + 0x20]
fmul dword [0x437d84]
fcom dword [esp + 0x48]
fnstsw ax
test ah, 0x41
jne 0x414266
fld st(0)
fsub dword [esp + 0x48]
fsubr dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fstp dword [esp + 0x48]
jmp 0x414268
fstp st(0)
fild dword [esp + 0x50]
mov eax, dword [esi + 0x2c]
test eax, eax
fsub dword [esp + 0x2c]
mov dword [esp + 0x20], eax
fsub dword [esp + 0x48]
fst dword [esp + 0x74]
fstp dword [esp + 0x38]
je 0x41429d
fld dword [esp + 0x2c]
fsub qword [0x437d40]
fidiv dword [esp + 0x20]
fstp dword [esi + 0x664]
jmp 0x4142a7
mov dword [esi + 0x664], 0x41400000
mov ecx, dword [ebx + 8]
push 8
push ecx
call edi
mov edx, dword [ebx + 8]
push 0x58
push edx
mov dword [esp + 0x28], eax
call edi
fild dword [esp + 0x20]
mov dword [esp + 0x40], eax
push 0x70
fmul dword [0x437df4]
fidiv dword [esp + 0x44]
fsub dword [0x437d94]
fstp dword [esi + 0x668]
mov eax, dword [ebx + 8]
push eax
call edi
mov ecx, dword [ebx + 8]
push 0x58
push ecx
mov dword [esp + 0x28], eax
call edi
fild dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x4c]
fmul dword [0x437df4]
lea edx, [eax + eax*8]
shl edx, 3
fidiv dword [esp + 0x40]
mov dword [esp + 0x20], edx
fadd dword [0x4376c4]
fstp dword [esp + 0x2c]
fild dword [esp + 0x20]
fmul dword [0x437d84]
fcom dword [esp + 0x2c]
fnstsw ax
test ah, 0x41
jne 0x414343
fld st(0)
fsub dword [esp + 0x2c]
fsubr dword [esi + 0x668]
fstp dword [esi + 0x668]
fstp dword [esp + 0x2c]
jmp 0x414345
fstp st(0)
mov eax, dword [esi + 0x5c4]
test eax, eax
jne 0x4143b3
fld dword [esi + 0x668]
fcomp dword [0x437df0]
fnstsw ax
test ah, 0x41
jne 0x41436e
mov dword [esi + 0x668], 0x44100000
jmp 0x41439f
fld dword [esi + 0x668]
fcomp dword [0x437dec]
fnstsw ax
test ah, 1
je 0x41439f
fld dword [0x437dec]
fsub dword [esi + 0x668]
fmul dword [0x437de8]
fsubr dword [0x437df0]
fstp dword [esi + 0x668]
fld dword [esi + 0x668]
fmul dword [0x437de4]
fstp dword [esi + 0x870]
jmp 0x4143d5
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0
fild qword [esp + 0x58]
fst dword [esi + 0x870]
fmul dword [0x437de0]
fstp dword [esi + 0x668]
lea eax, [esp + 0x4c]
mov ecx, esi
push eax
call fcn.004171b0
fild dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x34], 1
mov dword [esp + 0x14], ecx
mov ecx, esi
fsub dword [esp + 0x48]
fsub dword [esi + 0x664]
fstp dword [esp + 0x1c]
call fcn.00411620
mov ecx, esi
call fcn.00411600
lea edx, [esp + 0x20]
mov ecx, esi
push edx
call fcn.00417440
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 4
call fcn.0042bb31
lea ecx, [esp + 0x20]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
lea eax, [esp + 0x24]
lea ecx, [esp + 0x20]
push eax
push ecx
mov ecx, esi
call fcn.004173a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 5
call fcn.0042be10
lea ecx, [esp + 0x20]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4144b7
lea edx, [esp + 0x6c]
lea eax, [esp + 0x840]
push edx
lea ecx, [esp + 0x24]
push eax
push ecx
mov ecx, esi
call fcn.004174e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 6
call fcn.0042be10
lea ecx, [esp + 0x20]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov al, byte [esi + 0x360]
lea edi, [esi + 0x360]
test al, al
je 0x414566
mov eax, dword [esi + 0x8a4]
mov edx, dword [esi + 0x8a8]
push edx
lea ecx, [eax + eax*8]
mov eax, 0x10624dd3
shl ecx, 3
imul ecx
fild dword [esp + 0x54]
fsub dword [esi + 0x664]
sar edx, 6
mov eax, edx
push ecx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x8a0]
mov dword [esp + 0x28], edx
lea ecx, [eax + eax*8]
mov eax, 0x10624dd3
shl ecx, 3
imul ecx
fisub dword [esp + 0x28]
sar edx, 6
mov ecx, edx
lea eax, [esp + 0x28]
shr ecx, 0x1f
fstp dword [esp]
add edx, ecx
push ecx
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x84c]
fild dword [esp + 0x2c]
mov ecx, esi
fstp dword [esp]
push edx
push edi
push eax
call fcn.00417a30
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 7
call fcn.0042be10
lea ecx, [esp + 0x20]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0x24]
push edx
push eax
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 8
call fcn.0042be10
lea ecx, [esp + 0x20]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov edx, dword [esi + 0x794]
lea edi, [esi + 0x794]
lea eax, [esp + 0x18]
push 1
push eax
mov ecx, edi
call dword [edx + 0x34]
test eax, eax
je 0x416429
mov eax, dword [esp + 0x18]
and eax, 0xff
cmp eax, 0x1b
ja case.0x4145d9.11
xor ecx, ecx
mov cl, byte [eax + 0x416bb4]
jmp dword [ecx*4 + 0x416b84]
mov edx, dword [edi]
mov ebx, 1
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov ecx, dword [esp + 0x18]
and ecx, 0xff
lea eax, [ecx - 0xe]
cmp eax, 0x6c
ja case.0x414610.65
xor edx, edx
mov dl, byte [eax + 0x416ca0]
jmp dword [edx*4 + 0x416bd0]
mov ecx, dword [esp + 0x14]
xor eax, eax
mov dword [esi + 0x570], eax
mov dword [esi + 0x68c], eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0xd4]
push eax
push ecx
push edx
mov ecx, esi
mov dword [esi + 0x56c], 0xa
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 9
call fcn.0042be10
lea ecx, [esp + 0xd4]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov ecx, dword [esp + 0x14]
xor eax, eax
mov dword [esi + 0x570], eax
mov dword [esi + 0x68c], eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x138]
push eax
push ecx
push edx
mov ecx, esi
mov dword [esi + 0x56c], 0xc
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0xa
call fcn.0042be10
lea ecx, [esp + 0x138]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
lea edx, [esp + 0x144]
push ecx
push edx
mov ecx, esi
mov dword [esi + 0x684], ebx
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0xb
call fcn.0042be10
lea ecx, [esp + 0x140]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
lea edx, [esp + 0x14c]
push ecx
push edx
mov ecx, esi
mov dword [esi + 0x684], 0
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0xc
call fcn.0042be10
lea ecx, [esp + 0x148]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
lea edx, [esp + 0x154]
push ecx
push edx
mov ecx, esi
mov dword [esi + 0x680], ebx
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0xd
call fcn.0042be10
lea ecx, [esp + 0x150]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
lea edx, [esp + 0x15c]
push ecx
push edx
mov ecx, esi
mov dword [esi + 0x680], 0
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0xe
call fcn.0042be10
lea ecx, [esp + 0x158]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov ecx, edi
call dword [eax + 0x34]
mov al, byte [esp + 0x18]
cmp al, 0x31
je 0x414818
cmp al, 1
jne 0x414830
mov ecx, dword [esi + 0x678]
test ecx, ecx
jne 0x414830
mov edx, dword [esp + 0x14]
mov dword [esi + 0x678], ebx
mov dword [esp + 0x30], edx
cmp al, 0x30
je 0x41483c
test al, al
jne case.0x414610.65
mov eax, dword [esi + 0x678]
test eax, eax
je case.0x414610.65
lea eax, [esp + 0x24]
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x38]
push edx
lea ecx, [esp + 0x98]
push eax
push ecx
mov ecx, esi
mov dword [esi + 0x678], 0
call fcn.004171e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0xf
call fcn.0042be10
lea ecx, [esp + 0x8c]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x110]
push eax
push ecx
mov ecx, esi
mov dword [esi + 0x570], 0
mov dword [esi + 0x56c], 0xf
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x10
call fcn.0042be10
lea ecx, [esp + 0x10c]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov al, byte [esp + 0x18]
cmp al, 0x31
je 0x414913
cmp al, 1
jne 0x414919
mov dword [esi + 0x68c], ebx
cmp al, 0x30
je 0x414921
test al, al
jne 0x41492b
mov dword [esi + 0x68c], 0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0x98]
push edx
push eax
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x11
call fcn.0042be10
lea ecx, [esp + 0x94]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov al, byte [esp + 0x18]
cmp al, 0x31
je 0x414988
cmp al, 1
jne 0x41498e
mov dword [esi + 0x688], ebx
cmp al, 0x30
je 0x414996
test al, al
jne 0x4149a0
mov dword [esi + 0x688], 0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0x150]
push edx
push eax
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x12
call fcn.0042be10
lea ecx, [esp + 0x14c]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x18]
xor ebp, ebp
push ebx
push eax
mov ecx, edi
mov dword [esi + 0x688], ebp
mov dword [esi + 0x570], ebp
call dword [edx + 0x34]
mov al, byte [esp + 0x18]
test al, 1
je 0x414a13
mov dword [esi + 0x56c], 0xc
jmp 0x414a1d
mov dword [esi + 0x56c], 0xa
test al, 4
je 0x414a29
mov dword [esi + 0x568], ebx
jmp 0x414a2f
mov dword [esi + 0x568], ebp
test al, 0x18
jne 0x414a3b
mov dword [esi + 0x684], ebp
jmp 0x414a41
mov dword [esi + 0x684], ebx
test al, 0x20
je 0x414a4d
mov dword [esi + 0x68c], ebx
jmp 0x414a53
mov dword [esi + 0x68c], ebp
test al, 0x40
je 0x414a5f
mov dword [esi + 0x680], ebx
jmp 0x414a65
mov dword [esi + 0x680], ebp
test al, 0x80
mov eax, dword [esi + 0x678]
je 0x414a83
cmp eax, ebp
jne 0x414ad6
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x678], ebx
mov dword [esp + 0x30], ecx
jmp 0x414ad6
cmp eax, ebp
je 0x414ad6
lea edx, [esp + 0x24]
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x38]
push ecx
lea eax, [esp + 0xa8]
push edx
push eax
mov ecx, esi
mov dword [esi + 0x678], ebp
call fcn.004171e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x13
call fcn.0042be10
lea ecx, [esp + 0x9c]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0x118]
push edx
push eax
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x14
call fcn.0042be10
lea ecx, [esp + 0x114]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov eax, dword [esi + 0x2c]
xor ebp, ebp
cmp eax, ebp
jne 0x414b2d
mov dword [esi + 0x664], 0x41400000
mov eax, dword [esi + 0x678]
mov ecx, dword [esp + 0x74]
cmp eax, ebp
mov dword [esp + 0x38], ecx
mov dword [esi + 0x568], ebp
mov dword [esi + 0x680], ebp
mov dword [esi + 0x684], ebp
mov dword [esi + 0x56c], 0xa
mov dword [esi + 0x570], ebp
mov dword [esi + 0x68c], ebp
mov dword [esi + 0x688], ebp
mov dword [esi + 0x868], ebp
mov dword [esi + 0x890], ebp
je 0x414bc8
lea edx, [esp + 0x24]
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x38]
push ecx
lea eax, [esp + 0xb0]
push edx
push eax
mov ecx, esi
mov dword [esi + 0x678], ebp
call fcn.004171e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x15
call fcn.0042be10
lea ecx, [esp + 0xa4]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
cmp dword [esi + 0x67c], ebp
je 0x414c1f
lea ecx, [esp + 0x24]
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x44]
push eax
lea edx, [esp + 0x16c]
push ecx
push edx
mov ecx, esi
mov dword [esi + 0x67c], ebp
call fcn.004172c0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x16
call fcn.0042be10
lea ecx, [esp + 0x160]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
lea eax, [esp + 0x24]
lea ecx, [esp + 0xac]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x2c], ebp
call fcn.004173a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x17
call fcn.0042be10
lea ecx, [esp + 0xac]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
cmp byte [esi + 0x28], 0x63
je 0x414c67
mov byte [esi + 0x28], 0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x120]
push eax
push ecx
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x18
call fcn.0042be10
lea ecx, [esp + 0x11c]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov ecx, esi
call fcn.00411620
mov ecx, esi
call fcn.00411600
jmp case.0x414610.65
mov dword [esi + 0x664], 0x41400000
jmp case.0x414610.65
mov dword [esi + 0x664], 0x41100000
jmp case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov al, byte [esp + 0x18]
test al, al
je case.0x414610.65
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 0x5a4]
and ecx, 0xff
neg edx
sbb edx, edx
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
and edx, 0x24
add edx, 0xb4
fmul dword [0x437df4]
mov dword [esp + 0x20], edx
fidiv dword [esp + 0x20]
fstp dword [esi + 0x664]
jmp case.0x414610.65
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov ecx, edi
call dword [eax + 0x34]
mov al, byte [esp + 0x18]
test al, al
je case.0x414610.65
mov edx, dword [esp + 0x18]
and edx, 0xff
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x437ddc]
fstp dword [esi + 0x664]
jmp case.0x414610.65
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov ecx, edi
call dword [eax + 0x34]
mov al, byte [esp + 0x18]
test al, al
je case.0x414610.65
mov edx, dword [esp + 0x18]
mov eax, dword [esi + 0x5a4]
and edx, 0xff
neg eax
sbb eax, eax
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
and eax, 0xc
add eax, 0x3c
fmul dword [0x437df4]
mov dword [esp + 0x20], eax
fidiv dword [esp + 0x20]
fstp dword [esi + 0x664]
jmp case.0x414610.65
mov dword [esi + 0x664], 0x40e00000
jmp case.0x414610.65
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0xb8]
push edx
push eax
mov ecx, esi
mov dword [esi + 0x568], ebx
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x19
call fcn.0042be10
lea ecx, [esp + 0xb4]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0x158]
push edx
push eax
mov ecx, esi
mov dword [esi + 0x568], 0
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x1a
call fcn.0042be10
lea ecx, [esp + 0x154]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0xc0]
push edx
push eax
mov ecx, esi
mov dword [esi + 0x68c], 2
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x1b
call fcn.0042be10
lea ecx, [esp + 0xbc]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov ecx, dword [esp + 0x18]
and ecx, 0xff
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fmul dword [esi + 0x660]
fstp dword [esp + 0x2c]
jmp case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov ecx, dword [esp + 0x18]
and ecx, 0xff
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fmul dword [esi + 0x664]
fadd dword [esp + 0x74]
fstp dword [esp + 0x38]
jmp case.0x414610.65
mov edx, dword [esp + 0x74]
mov dword [esp + 0x38], edx
jmp case.0x414610.65
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov ecx, edi
call dword [eax + 0x34]
mov al, byte [esp + 0x18]
test al, al
jne case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
jmp case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x124]
push 2
push eax
mov ecx, edi
call dword [edx + 0x34]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x1c]
and ecx, 0xffff
push edx
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0xc8]
fild dword [esp + 0x24]
fmul dword [esi + 0x870]
fmul dword [0x437dd8]
fadd dword [esp + 0x30]
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
push ecx
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x1c
call fcn.0042be10
lea ecx, [esp + 0xc4]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x72]
push 2
push eax
mov ecx, edi
call dword [edx + 0x34]
movsx ecx, word [esp + 0x72]
mov eax, dword [esi + 0x86c]
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
lea eax, [eax + eax*4]
fmul dword [esi + 0x870]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x1c]
shl edx, 2
fmul dword [0x437df4]
mov dword [esp + 0x20], edx
push eax
fild dword [esp + 0x24]
lea edx, [esp + 0x16c]
fdivp st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
push ecx
push edx
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x1d
call fcn.0042be10
lea ecx, [esp + 0x168]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov ecx, edi
call dword [eax + 0x34]
mov al, byte [esp + 0x18]
cmp al, 9
mov byte [esi + 0x28], al
jne case.0x414610.65
mov byte [esi + 0x28], 0xa
jmp case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov al, byte [esp + 0x18]
cmp al, 0x31
je 0x415093
cmp al, 1
jne 0x4150ab
push str._Tj__4_Ts_n_
lea ecx, [esp + 0x14]
mov dword [esi + 0x868], ebx
call fcn.0042bdd4
mov al, byte [esp + 0x18]
cmp al, 0x30
je 0x4150b7
test al, al
jne case.0x414610.65
push str._Tj_4_Ts_n_
lea ecx, [esp + 0x14]
mov dword [esi + 0x868], 2
call fcn.0042bdd4
jmp case.0x414610.65
push str._Tj_0_Ts_n_
lea ecx, [esp + 0x14]
mov dword [esi + 0x868], 0
call fcn.0042bdd4
jmp case.0x414610.65
mov eax, dword [esi + 0x678]
test eax, eax
je 0x415153
fld dword [esp + 0x14]
fcomp dword [esp + 0x30]
fnstsw ax
test ah, 0x40
jne 0x415153
lea ecx, [esp + 0x24]
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x38]
push eax
lea edx, [esp + 0xd8]
push ecx
push edx
mov ecx, esi
call fcn.004171e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x1e
call fcn.0042be10
lea ecx, [esp + 0xcc]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov eax, dword [esi + 0x67c]
test eax, eax
je 0x4151b5
fld dword [esp + 0x14]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x40
jne 0x4151b5
lea eax, [esp + 0x24]
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x44]
push edx
lea ecx, [esp + 0x138]
push eax
push ecx
mov ecx, esi
call fcn.004172c0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x1f
call fcn.0042be10
lea ecx, [esp + 0x12c]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 0x5a4]
and ecx, 0xff
neg edx
sbb edx, edx
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
and edx, 0x24
add edx, 0xb4
fmul dword [0x437df4]
mov dword [esp + 0x20], edx
fidiv dword [esp + 0x20]
fsubr dword [esp + 0x1c]
fst dword [esp + 0x1c]
fcomp dword [esp + 0x38]
fnstsw ax
test ah, 0x41
jne 0x4161b8
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
lea edx, [esp + 0x88]
push ecx
push edx
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x20
call fcn.0042be10
lea ecx, [esp + 0x84]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov ecx, edi
call dword [eax + 0x34]
mov eax, dword [esp + 0x18]
and eax, 0xff
lea ecx, [eax + eax*8]
mov eax, 0x88888889
shl ecx, 3
imul ecx
add edx, ecx
mov ecx, dword [esp + 0x1c]
sar edx, 6
mov eax, edx
push ecx
shr eax, 0x1f
add edx, eax
lea eax, [esp + 0x160]
mov dword [esi + 0x890], edx
mov edx, dword [esp + 0x18]
push edx
push eax
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x21
call fcn.0042be10
lea ecx, [esp + 0x15c]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov al, byte [esp + 0x18]
cmp al, 0x42
jne 0x415426
mov edx, dword [edi]
lea eax, [esp + 0x80]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov eax, dword [esp + 0x80]
mov edx, dword [edi]
and eax, 0xff
lea ecx, [esp + 0x634]
push eax
push ecx
mov ecx, edi
call dword [edx + 0x34]
lea ecx, [esp + 0x414]
call fcn.00401000
mov edx, dword [esi + 0x5a4]
mov eax, dword [esp + 0x80]
push edx
lea ecx, [esp + 0x638]
push eax
push ecx
lea ecx, [esp + 0x420]
mov byte [esp + 0x123d4], 0x22
call fcn.00401040
test eax, eax
je 0x41540d
fld dword [esp + 0x1c]
lea eax, [esi + 0x8d0]
lea edx, [esp + 0x840]
push eax
mov eax, dword [esi + 0x5b4]
push edx
push eax
call fcn.00420414
fld dword [esp + 0x20]
push eax
call fcn.00420414
mov ecx, dword [esp + 0x123e0]
push eax
lea edx, [esp + 0xf0]
push ecx
push edx
lea ecx, [esp + 0x430]
call fcn.00401130
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x23
call fcn.0042be10
lea ecx, [esp + 0xdc]
mov byte [esp + 0x123c8], 0x22
call fcn.0042ba44
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
lea edx, [esp + 0x138]
push ecx
push edx
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x24
call fcn.0042be10
lea ecx, [esp + 0x134]
mov byte [esp + 0x123c8], 0x22
call fcn.0042ba44
mov dword [esp + 0x34], 0
lea ecx, [esp + 0x414]
mov byte [esp + 0x123c8], 3
call fcn.00401030
jmp case.0x414610.65
cmp al, 0x56
jne 0x4154c0
mov eax, dword [edi]
lea ecx, [esp + 0x40]
push 2
push ecx
mov ecx, edi
call dword [eax + 0x34]
mov edx, dword [edi]
lea eax, [esp + 0x40]
push 2
push eax
mov ecx, edi
call dword [edx + 0x34]
fild dword [esp + 0x50]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
and ecx, 0xffff
fsub dword [esp + 0x48]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0xe4]
fsub dword [esi + 0x664]
fild dword [esp + 0x20]
fmul dword [0x437df4]
fmul dword [0x437dd4]
fsubp st(1)
fstp dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
push edx
push eax
push ecx
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x25
call fcn.0042be10
lea ecx, [esp + 0xe4]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
cmp al, 0x2d
jne case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov al, byte [esp + 0x18]
cmp al, 0x31
je 0x415508
cmp al, 1
jne 0x41550e
mov dword [esi + 0x678], ebx
cmp al, 0x32
je 0x415516
cmp al, 2
jne 0x41551c
mov dword [esi + 0x67c], ebx
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov al, byte [esp + 0x18]
cmp al, 0x30
je 0x415535
test al, al
jne 0x415543
xor eax, eax
mov dword [esi + 0x67c], eax
mov dword [esi + 0x678], eax
mov ecx, dword [esp + 0x123d0]
push 0
push 0
push ecx
mov ecx, esi
call fcn.004097a0
jmp case.0x414610.65
lea ecx, [esp + 0x20]
lea edx, [esp + 0x73c]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x28], 0xc8
call fcn.00412e40
test eax, eax
jne case.0x414610.65
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push eax
push ecx
lea eax, [esp + 0x848]
push edx
lea ecx, [esp + 0x748]
push eax
lea edx, [esp + 0x180]
push ecx
push edx
mov ecx, esi
call fcn.00417a30
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x26
call fcn.0042be10
lea ecx, [esp + 0x170]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov dword [esp + 0x34], 0
jmp case.0x414610.65
mov eax, dword [esi + 0x678]
xor ebp, ebp
cmp eax, ebp
je 0x41563b
lea eax, [esp + 0x24]
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x38]
push edx
lea ecx, [esp + 0xf8]
push eax
push ecx
mov ecx, esi
mov dword [esi + 0x678], ebp
call fcn.004171e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x27
call fcn.0042be10
lea ecx, [esp + 0xec]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x840]
push ecx
mov ecx, dword [esp + 0x1c]
push ebp
lea eax, [esp + 0x1c]
push edx
push eax
push ebp
lea edx, [esp + 0x150]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x50], ebp
call fcn.00410a90
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x28
call fcn.0042be10
lea ecx, [esp + 0x13c]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x840]
push eax
push 0
lea edx, [esp + 0x1c]
push ecx
push edx
push 0
lea eax, [esp + 0x108]
push 0
push eax
mov ecx, esi
mov dword [esp + 0x50], 0
call fcn.00410a90
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x29
call fcn.0042be10
lea ecx, [esp + 0xf4]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x840]
push ecx
push 0
lea eax, [esp + 0x1c]
push edx
push eax
push 0
lea ecx, [esp + 0x178]
push ebx
push ecx
mov ecx, esi
mov dword [esp + 0x50], 0
call fcn.00410a90
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x2a
call fcn.0042be10
lea ecx, [esp + 0x164]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x840]
push edx
push 0
lea ecx, [esp + 0x1c]
push eax
push ecx
push 0
lea edx, [esp + 0x110]
push 3
push edx
mov ecx, esi
mov dword [esp + 0x50], 0
call fcn.00410a90
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x2b
call fcn.0042be10
lea ecx, [esp + 0xfc]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov ecx, esi
call fcn.00412b20
jmp case.0x414610.65
mov ecx, esi
call fcn.00412ac0
jmp case.0x414610.65
mov ecx, esi
call fcn.004129e0
jmp case.0x414610.65
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov ecx, edi
call dword [eax + 0x34]
mov al, byte [esp + 0x18]
test al, al
jne 0x415856
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
and ecx, 0xff
push edx
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x148]
fild dword [esp + 0x24]
fmul dword [esi + 0x660]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
push ecx
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x2c
call fcn.0042be10
lea ecx, [esp + 0x144]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
cmp al, 1
jne case.0x414610.65
mov eax, dword [esi + 0x678]
test eax, eax
je 0x4158c0
fld dword [esp + 0x14]
fcomp dword [esp + 0x30]
fnstsw ax
test ah, 0x40
jne 0x4158c0
lea edx, [esp + 0x24]
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x38]
push ecx
lea eax, [esp + 0x110]
push edx
push eax
mov ecx, esi
call fcn.004171e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x2d
call fcn.0042be10
lea ecx, [esp + 0x104]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov eax, dword [esi + 0x67c]
test eax, eax
je 0x415922
fld dword [esp + 0x14]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x40
jne 0x415922
lea ecx, [esp + 0x24]
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x44]
push eax
lea edx, [esp + 0x178]
push ecx
push edx
mov ecx, esi
call fcn.004172c0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x2e
call fcn.0042be10
lea ecx, [esp + 0x16c]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
cmp dword [esi + 0x68c], 2
jne 0x415935
mov dword [esi + 0x68c], 0
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov ecx, edi
call dword [eax + 0x34]
mov edx, dword [esp + 0x18]
and edx, 0xff
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [esi + 0x664]
fsubr dword [esp + 0x1c]
fst dword [esp + 0x1c]
fcomp dword [esp + 0x38]
fnstsw ax
test ah, 0x41
jne 0x4161b8
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
lea edx, [esp + 0x8c]
push ecx
push edx
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x2f
call fcn.0042be10
lea ecx, [esp + 0x88]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov ecx, edi
call dword [eax + 0x34]
mov edx, dword [esp + 0x18]
and edx, 0xff
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x437df4]
fmul dword [0x437dd0]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
jmp case.0x414610.65
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov ecx, edi
call dword [eax + 0x34]
mov edx, dword [esp + 0x18]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0x35
ja case.0x415a14.7
xor ecx, ecx
mov cl, byte [eax + 0x416d2c]
jmp dword [ecx*4 + 0x416d10]
mov dword [esp + 0x24], 0x10000
jmp 0x415a5b
mov dword [esp + 0x24], 0x10100
jmp 0x415a5b
mov dword [esp + 0x24], 0x10001
jmp 0x415a5b
mov dword [esp + 0x24], 0x101
jmp 0x415a5b
mov dword [esp + 0x24], ebx
jmp 0x415a5b
mov dword [esp + 0x24], pe_nt_image_headers32
jmp 0x415a5b
mov dword [esp + 0x24], 0
lea edx, [esp + 0x24]
lea eax, [esp + 0x90]
push edx
push eax
mov ecx, esi
call fcn.004173a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x30
call fcn.0042be10
lea ecx, [esp + 0x90]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov al, byte [esp + 0x18]
cmp al, 0x2f
jbe 0x415ab5
add al, 0xd0
mov byte [esp + 0x18], al
cmp al, 0x11
jae case.0x414610.65
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, esi
call fcn.00412da0
push 0x20
lea ebp, [esi + 0x57c]
push eax
push ebp
call fcn.0042096d
mov edx, dword [esp + 0x123dc]
add esp, 0xc
mov ecx, esi
push ebx
push edx
call fcn.00409500
mov eax, dword [esi + 0x5d4]
lea ecx, [esp + 0x1dc]
push eax
push ebp
lea edx, [esp + 0x848]
push ecx
push edx
mov ecx, esi
call fcn.00417860
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x8e4], eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x98]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x31
call fcn.0042be10
lea ecx, [esp + 0x98]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov ecx, edi
call dword [eax + 0x34]
cmp byte [esp + 0x18], 5
jb 0x415b82
mov ecx, dword [esp + 0x18]
mov eax, 0x168
cdq
and ecx, 0xff
idiv ecx
mov byte [esi + 0x89c], al
jmp 0x415b89
mov byte [esi + 0x89c], 0
mov edx, dword [edi]
lea ebp, [esi + 0x56c]
push 2
push ebp
mov ecx, edi
call dword [edx + 0x34]
mov eax, dword [ebp]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
neg eax
mov dword [ebp], eax
xor eax, eax
mov dword [esi + 0x568], eax
mov dword [esi + 0x68c], eax
mov dword [esi + 0x688], eax
mov dword [esi + 0x570], eax
lea eax, [esp + 0xa4]
push edx
push eax
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x32
call fcn.0042be10
lea ecx, [esp + 0xa0]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
mov al, byte [esp + 0x18]
cmp al, 0x50
jne 0x415c20
mov word [esi + 0x87c], bx
jmp case.0x414610.65
cmp al, 0x4c
jne case.0x414610.65
mov word [esi + 0x87c], 2
jmp case.0x414610.65
mov edx, dword [edi]
lea ebp, [esi + 0x882]
push ebx
push ebp
mov ecx, edi
call dword [edx + 0x34]
mov ax, word [ebp]
cmp ax, 0x30
jle case.0x414610.65
add eax, 0xffffffd0
mov word [ebp], ax
jmp case.0x414610.65
mov eax, dword [edi]
lea ecx, [esi + 0x570]
push ebx
push ecx
mov ecx, edi
call dword [eax + 0x34]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push edx
lea ecx, [esp + 0xac]
push eax
push ecx
mov ecx, esi
call fcn.00416df0
lea ecx, [esp + 0xa8]
call fcn.0042ba44
jmp case.0x414610.65
mov edx, dword [edi]
lea eax, [esp + 0x44]
push 2
push eax
mov ecx, edi
call dword [edx + 0x34]
jmp case.0x414610.65
fld dword [esp + 0x14]
fsub dword [esi + 0x660]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xb0]
push ecx
mov ecx, esi
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push edx
push eax
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x33
call fcn.0042be10
lea ecx, [esp + 0xb0]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x4145d9.0
xor ecx, ecx
mov dword [esp + 0x44], ecx
fld dword [esp + 0x2c]
fadd dword [esi + ecx*4 + 0x7e8]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
je 0x415d28
inc ecx
cmp ecx, 0x20
mov dword [esp + 0x44], ecx
jl 0x415d03
jmp case.0x4145d9.0
fld dword [esp + 0x2c]
fadd dword [esi + ecx*4 + 0x7e8]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xb8]
push ecx
mov ecx, esi
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push edx
push eax
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x34
call fcn.0042be10
lea ecx, [esp + 0xb8]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x4145d9.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0xc4]
push edx
push eax
mov ecx, esi
mov dword [esi + 0x68c], 2
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x35
call fcn.0042be10
lea ecx, [esp + 0xc0]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x4145d9.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0xcc]
mov ebx, 1
push edx
push eax
mov ecx, esi
mov dword [esi + 0x568], ebx
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x36
call fcn.0042be10
lea ecx, [esp + 0xc8]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0xd4]
push edx
push eax
mov ecx, esi
mov dword [esi + 0x568], 0
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x37
call fcn.0042be10
lea ecx, [esp + 0xd0]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x4145d9.0
mov eax, dword [esi + 0x678]
test eax, eax
je 0x415ec8
fld dword [esp + 0x14]
fcomp dword [esp + 0x30]
fnstsw ax
test ah, 0x40
jne 0x415ec8
lea ecx, [esp + 0x24]
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x38]
push eax
lea edx, [esp + 0xe4]
push ecx
push edx
mov ecx, esi
call fcn.004171e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x38
call fcn.0042be10
lea ecx, [esp + 0xd8]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov eax, dword [esi + 0x67c]
test eax, eax
je 0x415f2a
fld dword [esp + 0x14]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x40
jne 0x415f2a
lea eax, [esp + 0x24]
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x44]
push edx
lea ecx, [esp + 0xec]
push eax
push ecx
mov ecx, esi
call fcn.004172c0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x39
call fcn.0042be10
lea ecx, [esp + 0xe0]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov edx, dword [esp + 0x2c]
mov eax, edx
mov ecx, edx
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x68c]
cmp eax, 2
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], ecx
jne 0x415f53
mov dword [esi + 0x68c], 0
mov edx, dword [edi]
mov ebx, 1
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
test eax, eax
je 0x415f9a
mov al, byte [esp + 0x18]
cmp al, 0xa
jne 0x415f8c
fld dword [esp + 0x1c]
fsub dword [esi + 0x664]
mov dword [esp + 0x34], 0
fstp dword [esp + 0x1c]
jmp 0x41613f
cmp al, 0xd
je 0x415f9a
mov edx, dword [edi]
push ebx
push 0xffffffffffffffff
mov ecx, edi
call dword [edx + 0x28]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
lea edx, [esp + 0xec]
push ecx
push edx
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x3a
call fcn.0042be10
lea ecx, [esp + 0xe8]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
mov eax, dword [esi + 0x678]
mov dword [esp + 0x34], 0
test eax, eax
je 0x416048
fld dword [esp + 0x14]
fcomp dword [esp + 0x30]
fnstsw ax
test ah, 0x40
jne 0x416048
lea eax, [esp + 0x24]
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x38]
push edx
lea ecx, [esp + 0xfc]
push eax
push ecx
mov ecx, esi
call fcn.004171e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x3b
call fcn.0042be10
lea ecx, [esp + 0xf0]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov eax, dword [esi + 0x67c]
test eax, eax
je 0x4160aa
fld dword [esp + 0x14]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x40
jne 0x4160aa
lea edx, [esp + 0x24]
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x44]
push ecx
lea eax, [esp + 0x104]
push edx
push eax
mov ecx, esi
call fcn.004172c0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x3c
call fcn.0042be10
lea ecx, [esp + 0xf8]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov ecx, dword [esp + 0x2c]
mov eax, ecx
mov edx, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x68c]
cmp eax, 2
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], edx
jne 0x4160d3
mov dword [esi + 0x68c], 0
cmp byte [esp + 0x18], 0xa
je 0x416192
mov eax, dword [esi + 0x7e4]
test eax, eax
je 0x416192
fild dword [esp + 0x50]
xor ecx, ecx
mov dword [esp + 0x44], ecx
fsub dword [esp + 0x48]
fsub dword [esi + 0x664]
fld st(0)
fadd dword [esi + ecx*4 + 0x7a4]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 1
jne 0x416122
inc ecx
cmp ecx, 0x10
mov dword [esp + 0x44], ecx
jl 0x416100
fstp st(0)
jmp 0x41612d
fadd dword [esi + ecx*4 + 0x7a4]
fstp dword [esp + 0x1c]
cmp ecx, 0x10
jne 0x41613a
mov dword [esp + 0x1c], 0
mov ebx, 1
fld dword [esp + 0x1c]
fcomp dword [esp + 0x38]
fnstsw ax
test ah, 0x41
jne 0x4161b8
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0x104]
push edx
push eax
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x3d
call fcn.0042be10
lea ecx, [esp + 0x100]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
fld dword [esp + 0x1c]
fsub dword [esi + 0x664]
mov ebx, 1
fstp dword [esp + 0x1c]
jmp 0x41613f
mov eax, dword [esp + 0x34]
test eax, eax
jne case.0x4145d9.0
mov ebx, 1
push str._Tj_ET
lea ecx, [esp + 0x14]
call fcn.0042bdd4
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x6c]
push edx
lea edx, [esp + 0x38]
mov ecx, dword [eax - 8]
push edx
lea edx, [esp + 0x54]
push 0
push edx
push ecx
push eax
lea eax, [esp + 0x858]
push eax
mov ecx, esi
call fcn.00416fa0
fild dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x108]
mov dword [esp + 0x14], ecx
push edx
fsub dword [esp + 0x4c]
mov ecx, esi
fsub dword [esi + 0x664]
fstp dword [esp + 0x20]
call fcn.00417440
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x3e
call fcn.0042bb31
lea ecx, [esp + 0x108]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov al, byte [esi + 0x360]
lea ebp, [esi + 0x360]
test al, al
je 0x4162f3
mov eax, dword [esi + 0x8a8]
push eax
mov eax, dword [esi + 0x8a4]
fild dword [esp + 0x54]
lea ecx, [eax + eax*8]
mov eax, 0x10624dd3
shl ecx, 3
imul ecx
fsub dword [esi + 0x664]
mov eax, dword [esi + 0x8a0]
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push ecx
lea ecx, [eax + eax*8]
mov eax, 0x10624dd3
shl ecx, 3
mov dword [esp + 0x28], edx
imul ecx
fisub dword [esp + 0x28]
sar edx, 6
mov eax, edx
shr eax, 0x1f
fstp dword [esp]
add edx, eax
push ecx
mov dword [esp + 0x2c], edx
lea ecx, [esp + 0x84c]
fild dword [esp + 0x2c]
lea edx, [esp + 0x11c]
fstp dword [esp]
push ecx
push ebp
push edx
mov ecx, esi
call fcn.00417a30
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x3f
call fcn.0042be10
lea ecx, [esp + 0x110]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
lea eax, [esp + 0x24]
lea ecx, [esp + 0x118]
push eax
push ecx
mov ecx, esi
call fcn.004173a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x40
call fcn.0042be10
lea ecx, [esp + 0x118]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x124]
push eax
push ecx
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x41
call fcn.0042be10
lea ecx, [esp + 0x120]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x414610.65
cmp dword [esi + 0x68c], 2
jne case.0x4145d9.0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x12c]
push eax
push ecx
mov ecx, esi
mov dword [esi + 0x68c], 0
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x42
call fcn.0042be10
lea ecx, [esp + 0x128]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x4145d9.0
lea edx, [esp + 0x18]
mov ecx, esi
push edx
mov dword [esp + 0x38], 0
call fcn.00409d20
mov ebx, eax
cmp ebx, 3
jne 0x41651b
mov byte [esp + 0x18], 0x20
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push eax
call fcn.0042bdfb
fld dword [esp + 0x14]
fadd dword [esi + 0x660]
mov cl, byte [esi + 0x3d]
mov byte [esi + 0x3c], cl
fstp dword [esp + 0x14]
mov ebx, 1
mov edx, dword [edi]
lea eax, [esp + 0x18]
push ebx
push eax
mov ecx, edi
call dword [edx + 0x34]
test eax, eax
jne 0x4145bf
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x4c]
push str._Tj_ET
lea ecx, [esp + 0x14]
call fcn.0042bdd4
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x6c]
push edx
lea edx, [esp + 0x38]
mov ecx, dword [eax - 8]
push edx
lea edx, [esp + 0x54]
push 1
push edx
push ecx
push eax
lea eax, [esp + 0x858]
push eax
mov ecx, esi
call fcn.00416fa0
mov ecx, dword [0x4457b0]
mov dword [esp + 0x54], ecx
push str.___ProcSet__PDF_Text_ImageB_ImageC_ImageI__Font___n
lea ecx, [esp + 0x68]
mov byte [esp + 0x123cc], 0x47
call fcn.0042bab2
push ecx
lea ecx, [esp + 0x844]
mov edx, esp
mov dword [esp + 0x5c], esp
push edx
mov byte [esp + 0x123d0], 0x48
call fcn.00405080
lea ecx, [esp + 0x844]
call fcn.00404d20
push ecx
mov dword [esp + 0x24], eax
mov ecx, esp
mov dword [esp + 0x5c], esp
push str.___Type_FontDescriptor_n_Ascent_788_Descent__210_ItalicAngle_0_n_CapHeight_788_n_Flags_34_FontBBox_0_0_0_0___
call fcn.0042bab2
lea ecx, [esp + 0x844]
call fcn.00404d20
mov ebx, dword [esp + 0x860]
mov dword [esp + 0x38], eax
cmp ebx, dword [esp + 0x864]
je 0x416a5b
push 0x4435ec
lea ecx, [esp + 0x14]
call fcn.0042bb81
mov eax, 0x20
mov dword [esp + 0x44], eax
and eax, 0x8000000f
jns 0x41650b
dec eax
or eax, 0xfffffff0
inc eax
jne 0x416876
push 0x44318c
jmp 0x41687b
test ebx, ebx
jne 0x4165ef
mov eax, dword [esi + 0x59c]
test eax, eax
je 0x4165cf
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x138]
push edx
push eax
mov ecx, esi
call fcn.004175b0
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x123cc], 0x43
call fcn.0042bb31
lea ecx, [esp + 0x130]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx - 8]
test eax, eax
je 0x4165cf
lea edx, [esp + 0x28]
lea ecx, [esp + 0x10]
push edx
call fcn.0042be10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
lea edx, [esp + 0x80]
push ecx
push edx
mov ecx, esi
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x44
call fcn.0042be10
lea ecx, [esp + 0x7c]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
jmp case.0x4145d9.0
mov al, byte [esp + 0x18]
cmp al, 0x28
jb 0x4165ff
cmp al, 0x29
jbe 0x4165df
cmp al, 0x5c
jne 0x4165ff
push 0x442d38
lea ecx, [esp + 0x14]
call fcn.0042bdd4
jmp 0x4165ff
cmp ebx, 1
jne 0x4165ff
mov eax, dword [esi + 0x24]
test eax, eax
je 0x4165ff
mov byte [esi + 0x3c], 0xa
cmp byte [esp + 0x18], 0x7e
jbe 0x4163ed
mov al, byte [esi + 0x3c]
mov ecx, esi
push eax
call fcn.00412bb0
lea ecx, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x848]
call fcn.00405410
cmp ebx, 1
jne 0x4167f6
push eax
mov ecx, esi
call fcn.00412b90
test eax, eax
je 0x4163ed
mov eax, dword [esi + 0x688]
test eax, eax
jne 0x4163ed
mov ecx, esi
call fcn.00416d70
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x68c]
test eax, eax
je 0x41666b
fld qword [0x437dc8]
jmp 0x416671
fld qword [0x437dc0]
fstp dword [esp + 0x68]
fild dword [esp + 0x20]
mov ebp, dword [esi + 0x8e4]
lea ebx, [esi + 0x57c]
push 0
push ebx
fdivr dword [esi + 0x664]
lea ecx, [esp + 0x17c]
fstp dword [esp + 0x80]
call fcn.00403da0
push 0xff
lea ecx, [esp + 0x178]
mov byte [esp + 0x123cc], 0x45
call fcn.00403f20
test eax, eax
jne 0x416707
push 1
lea edx, [esp + 0x1e0]
push str.Courier_New
lea eax, [esp + 0x848]
push edx
push eax
mov ecx, esi
call fcn.00417860
mov ebp, eax
mov eax, dword [esi + 0x8e4]
cmp ebp, eax
je 0x416707
mov ecx, dword [esi + 0x5d4]
lea edx, [esp + 0x1dc]
push ecx
push ebx
lea eax, [esp + 0x848]
push edx
push eax
mov ecx, esi
call fcn.00417860
mov eax, dword [esi + 0x680]
test eax, eax
je 0x416719
fld dword [0x437dbc]
jmp 0x41671f
fld dword [0x437db8]
fld dword [esp + 0x1c]
sub esp, 8
mov edx, dword [esi + 0x684]
mov ecx, dword [esp + 0x28]
fstp qword [esp]
fld dword [esp + 0x1c]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x88]
sub esp, 8
fstp qword [esp]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x88]
sub esp, 8
neg edx
fstp qword [esp]
sbb dl, dl
push ecx
and dl, 0x42
lea ecx, [esp + 0x54]
add dl, 0x20
movsx eax, dl
push eax
push ebp
push str._Tj_F_d_c__d_Tf__.1f_0__.1f__.1f__.3f__.3f_Tm_
push ecx
call fcn.0042ab8b
add esp, 0x3c
lea edx, [esp + 0x28]
lea ecx, [esp + 0x10]
push edx
call fcn.0042be10
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push eax
call fcn.0042bdfb
fld dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x58]
fadd dword [esi + 0x660]
push ecx
push ecx
mov ecx, esi
fstp dword [esp]
push edx
call fcn.00416df0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x123cc], 0x46
call fcn.0042be10
lea ecx, [esp + 0x58]
mov byte [esp + 0x123c8], 0x45
call fcn.0042ba44
lea ecx, [esp + 0x174]
mov byte [esp + 0x123c8], 3
call fcn.00403e90
jmp 0x4163fb
cmp ebx, 2
jne 0x4163ed
mov al, byte [esi + 0x3d]
test al, al
jne 0x416811
cmp byte [esp + 0x18], 0x80
jne 0x4163ed
mov ecx, esi
call fcn.00416d70
mov ecx, dword [esi + 0x684]
mov ebp, dword [esi + 0x8e4]
mov edx, ecx
push eax
neg edx
sbb dl, dl
and dl, 0x42
add dl, 0x20
movsx edx, dl
push edx
mov edx, dword [esp + 0x20]
and edx, 0xff
push ebp
neg ecx
sbb cl, cl
push edx
and cl, 0xe0
push eax
add cl, 0x61
movsx eax, cl
push eax
push ebp
lea ecx, [esp + 0x44]
push str._Tj_F_d_c__d_Tf__c_Tj_F_d_c__d_Tf_
push ecx
call fcn.0042ab8b
add esp, 0x24
lea edx, [esp + 0x28]
lea ecx, [esp + 0x10]
push edx
call fcn.0042be10
jmp 0x4163fb
push 0x442260
lea ecx, [esp + 0x14]
call fcn.0042bdd4
mov ecx, dword [esp + 0x44]
xor eax, eax
lea edx, [esp + 0x28]
mov ax, word [ebx + ecx*2 + 0x38]
push eax
push 0x442d28
push edx
call fcn.0042ab8b
add esp, 0xc
lea eax, [esp + 0x28]
lea ecx, [esp + 0x10]
push eax
call fcn.0042be10
mov eax, dword [esp + 0x44]
inc eax
cmp eax, 0xff
mov dword [esp + 0x44], eax
jle 0x4164ff
push 0x443594
lea ecx, [esp + 0x14]
call fcn.0042bdd4
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x5c], esp
push edx
call fcn.0042b7b9
lea ecx, [esp + 0x844]
call fcn.00404d20
mov edi, dword [ebx + 0x28]
push ebx
lea ecx, [esp + 0x58]
mov ebp, eax
call fcn.0042bb31
push 0x443590
push 0x442260
lea ecx, [esp + 0x5c]
call fcn.0042a641
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x54]
push eax
push ebp
push ecx
push edx
push edi
lea eax, [esp + 0x3c]
push str.___Type_Font_n_Subtype_TrueType_Name_F_d_n_BaseFont__s_n_Encoding__d_0_R_n_FirstChar_32_LastChar_255_Widths__d_0_R_n_FontDescriptor__d_0_R__
push eax
call fcn.0042ab8b
add esp, 0x18
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x5c], esp
push edx
call fcn.0042b7b9
lea ecx, [esp + 0x844]
call fcn.00404d20
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x38]
push eax
push ebp
push ecx
push edx
push edi
lea eax, [esp + 0x3c]
push str.___Type_Font_n_Subtype_TrueType_Name_F_db_n_BaseFont__s_Bold_n_Encoding__d_0_R_n_FirstChar_32_LastChar_255_Widths__d_0_R_n_FontDescriptor__d_0_R__
push eax
call fcn.0042ab8b
add esp, 0x18
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x5c], esp
push edx
call fcn.0042b7b9
lea ecx, [esp + 0x844]
call fcn.00404d20
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x28]
push eax
push ebp
push ecx
push edi
push str.___Type_Font_n_Subtype_TrueType_Name_F_da_n_BaseFont__s_n_Encoding_WinAnsiEncoding_n_FirstChar_32_LastChar_255_Widths__d_0_R_n_FontDescriptor__d_0_R__
push edx
call fcn.0042ab8b
add esp, 0x14
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call fcn.0042b7b9
lea ecx, [esp + 0x844]
call fcn.00404d20
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x54]
push ecx
push ebp
push edx
push edi
lea eax, [esp + 0x38]
push str.___Type_Font_n_Subtype_TrueType_Name_F_dA_n_BaseFont__s_Bold_n_Encoding_WinAnsiEncoding_n_FirstChar_32_LastChar_255_Widths__d_0_R_n_FontDescriptor__d_0_R__
push eax
call fcn.0042ab8b
add esp, 0x14
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x80], esp
push edx
call fcn.0042b7b9
lea ecx, [esp + 0x844]
call fcn.00404d20
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x5c]
push edi
push eax
push edi
push ecx
push edi
push edx
push edi
lea eax, [esp + 0x48]
push str._F_d__d_0_R_n_F_db__d_0_R_n_F_da__d_0_R_n_F_dA__d_0_R_n
push eax
call fcn.0042ab8b
add esp, 0x28
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x68]
call fcn.0042be10
mov eax, dword [esp + 0x864]
add ebx, 0x238
cmp ebx, eax
jne 0x4164e8
push 0x44201c
lea ecx, [esp + 0x68]
call fcn.0042bdd4
lea edx, [esp + 0x58]
lea ecx, [esp + 0x840]
push edx
call fcn.00404eb0
push eax
lea ecx, [esp + 0x68]
mov byte [esp + 0x123cc], 0x49
call fcn.0042be10
lea ecx, [esp + 0x58]
mov byte [esp + 0x123c8], 0x48
call fcn.0042ba44
push 0x44201c
lea ecx, [esp + 0x68]
call fcn.0042bdd4
push ecx
lea eax, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x6c], esp
push eax
call fcn.0042b7b9
lea ecx, [esp + 0x844]
call fcn.00404d20
push eax
lea ecx, [esp + 0x844]
call fcn.004051e0
lea ecx, [esp + 0x840]
call fcn.004052f0
mov edx, dword [esi + 0x8d0]
lea ecx, [esi + 0x8d0]
call dword [edx + 0x4c]
mov al, byte [esp + 0x63]
lea ecx, [esp + 0x64]
mov byte [esi + 0x28], al
mov byte [esp + 0x123c8], 0x47
call fcn.0042ba44
lea ecx, [esp + 0x54]
mov byte [esp + 0x123c8], 3
call fcn.0042ba44
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x123c8], 2
call fcn.0042ba44
lea ecx, [esp + 0x10]
mov byte [esp + 0x123c8], 1
call fcn.0042ba44
lea ecx, [esp + 0x28]
mov byte [esp + 0x123c8], 0
call fcn.0042ba44
lea ecx, [esp + 0x840]
mov dword [esp + 0x123c8], 0xffffffff
call fcn.00404c30
mov ecx, dword [esp + 0x123c0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x123bc
ret 4