Function at 0x60093bd3
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x28]
cmp eax, dword [edi + 0xc]
ja 0x60093bfe
push 0x1a
push 0
push 0x6008aa6b
push edi
call sym.MZKERNEL32.DLL_JS_ReportErrorNumber
add esp, 0x10
jmp 0x60096464
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x10], 1
mov ecx, dword [esi + 0x78]
inc dword [esi + 0xc0]
movzx edx, word [ebx + 6]
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
mov ecx, edx
mov dword [ebp - 0xc], eax
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 0x78]
sub ecx, dword [eax + 0x1c]
mov dword [ebp + 8], ecx
je 0x60093c74
push 0x7f
mov dword [eax + 0x1c], edx
pop eax
cmp eax, edx
sbb eax, eax
neg eax
lea eax, [eax + eax + 2]
cmp ecx, eax
jb 0x60093c5b
push edx
push 0x17
push esi
push edi
call fcn.60098736
add esp, 0x10
test eax, eax
jl 0x60096464
jmp 0x60093c74
push 0x16
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
dec dword [ebp + 8]
jne 0x60093c5b
movzx eax, word [ebx]
add eax, 0xfffffffe
cmp eax, 0x4c
ja case.0x60093c8a.38
movzx eax, byte [eax + 0x6009654b]
jmp dword [eax*4 + 0x60096493]
cmp byte [ebx + 3], 0
jne 0x60093ca1
push 0xb9
jmp 0x600963bf
mov eax, dword [edi + 0x48]
mov ecx, dword [eax + 0xc]
mov dword [ebp + 0x10], ecx
mov ecx, dword [edi + 0x50]
lea edx, [ecx + 0xd4]
not ecx
and edx, ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp + 8], ecx
mov ecx, dword [eax + 8]
sub ecx, edx
mov dword [ebp - 0x1c], edx
mov edx, ecx
mov ecx, dword [ebp + 8]
cmp ecx, edx
jbe 0x60093ce1
push dword [ebp - 0x1c]
lea eax, [edi + 0x38]
push eax
call sym.MZKERNEL32.DLL_JS_ArenaAllocate
pop ecx
mov dword [ebp + 8], eax
pop ecx
jmp 0x60093ce9
mov edx, dword [ebp - 0x1c]
add ecx, edx
mov dword [eax + 0xc], ecx
cmp dword [ebp + 8], 0
jne 0x60093cfb
push edi
call sym.MZKERNEL32.DLL_JS_ReportOutOfMemory
pop ecx
jmp 0x60096464
movzx eax, word [ebx + 6]
push dword [esi + 0x84]
push eax
push dword [esi + 0x7c]
push dword [esi + 0x28]
push dword [esi + 0x24]
push dword [ebp + 8]
push edi
call sym.MZKERNEL32.DLL_js_InitCodeGenerator
add esp, 0x1c
test eax, eax
je 0x60096464
mov cx, word [ebx + 0x18]
mov eax, dword [ebp + 8]
or cl, 2
mov word [eax], cx
mov ecx, dword [ebx + 0x1c]
mov dword [eax + 4], ecx
mov dword [eax + 0xd0], esi
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
and al, 0xf8
push eax
push edi
call sym.MZKERNEL32.DLL_JS_GetPrivate
push eax
mov dword [ebp - 0x20], eax
push dword [ebx + 0x14]
push dword [ebp + 8]
push edi
call fcn.60093b39
add esp, 0x18
test eax, eax
je 0x60096464
mov eax, dword [ebp + 8]
test byte [eax], 0xc0
je 0x60093d71
or byte [esi], 0x80
push dword [ebp + 8]
push edi
call sym.MZKERNEL32.DLL_js_FinishCodeGenerator
mov eax, dword [edi + 0x48]
pop ecx
pop ecx
lea ecx, [edi + 0x38]
cmp eax, ecx
je 0x60093dab
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 0x10]
mov eax, dword [eax + 0xc]
sub edx, ecx
sub eax, ecx
cmp edx, eax
ja 0x60093dab
mov eax, dword [edi + 0x50]
mov ecx, dword [ebp + 0x10]
add ecx, eax
not eax
and ecx, eax
mov eax, dword [edi + 0x48]
mov dword [eax + 0xc], ecx
jmp 0x60093db9
push dword [ebp + 0x10]
lea eax, [edi + 0x38]
push eax
call sym.MZKERNEL32.DLL_JS_ArenaRelease
pop ecx
pop ecx
lea eax, [esi + 0x88]
push eax
push dword [ebx + 0x10]
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
mov bl, byte [ebx + 2]
mov eax, dword [eax + 0xc]
test bl, bl
mov dword [ebp - 4], eax
je 0x60093e00
push esi
push eax
movzx eax, bl
push eax
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
jns case.0x60093c8a.38
jmp 0x60096464
push eax
push 0x13
push esi
push edi
call fcn.60098736
add esp, 0x10
test eax, eax
jl 0x60096464
push 0
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
test byte [esi], 2
lea eax, [esi + 0x38]
mov dword [esi + 0x78], eax
je 0x60093f46
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
cmp edx, sym.MZKERNEL32.DLL_js_ObjectOps
je 0x60093e59
test edx, edx
je 0x60093e66
mov edx, dword [edx]
cmp edx, dword [sym.MZKERNEL32.DLL_js_ObjectOps]
jne 0x60093e66
cmp dword [ecx + 0x28], edi
jne 0x60093e66
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
jmp 0x60093e72
push 1
push eax
push edi
call sym.MZKERNEL32.DLL_js_GetSlotThreadSafe
add esp, 0xc
lea ecx, [ebp + 8]
and al, 0xf8
push ecx
lea ecx, [ebp + 0x10]
push ecx
push dword [ebx + 0x18]
push eax
push edi
call fcn.600ad4e5
add esp, 0x14
test eax, eax
je 0x60096464
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [edx]
movsx ebx, word [ecx + 0x12]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x60093eaf
push ecx
push edx
push edi
call eax
add esp, 0xc
cmp dword [ebp - 4], 0x10000
jb 0x60093f0b
push 3
push 0xbf
push esi
push edi
call fcn.60093095
add esp, 0x10
test eax, eax
jl 0x60096464
mov ecx, dword [esi + 0x78]
push ebx
shr ebx, 8
mov ecx, dword [ecx]
push ebx
add ecx, eax
mov eax, dword [ebp - 4]
mov edx, eax
push 0x8a
shr edx, 0x10
mov byte [ecx + 1], dl
mov edx, eax
shr edx, 8
push esi
push edi
mov byte [ecx + 2], dl
mov byte [ecx + 3], al
call fcn.60093043
add esp, 0x14
test eax, eax
jge 0x60093f60
jmp 0x60096464
push 4
push 0x8a
push esi
push edi
call fcn.60093095
add esp, 0x10
test eax, eax
jl 0x60096464
mov ecx, dword [esi + 0x78]
mov ecx, dword [ecx]
add ecx, eax
mov eax, ebx
shr eax, 8
mov byte [ecx + 1], al
mov eax, dword [ebp - 4]
mov edx, eax
mov byte [ecx + 2], bl
shr edx, 8
mov byte [ecx + 3], dl
mov byte [ecx + 4], al
jmp 0x60093f60
push esi
push dword [ebp - 4]
push 0x7d
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
js 0x60096464
lea eax, [esi + 0x58]
mov dword [esi + 0x78], eax
jmp case.0x60093c8a.38
mov ebx, dword [ebx + 0x10]
cmp word [ebx], 0x11
jne 0x60093f7b
push 0x4b
jmp 0x600963bf
lea eax, [esi + 0x88]
push eax
push dword [ebx + 0x10]
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
push esi
push dword [eax + 0xc]
push 0x4c
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
js 0x60096464
mov ebx, dword [ebx + 0x20]
test ebx, ebx
jne 0x60093f7b
jmp case.0x60093c8a.38
mov ebx, dword [ebx + 0x10]
jmp 0x60093fd7
push ebx
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov ebx, dword [ebx + 0x20]
test ebx, ebx
jne 0x60093fc1
jmp case.0x60093c8a.38
or dword [ebp - 0x14], 0xffffffff
or dword [ebp - 4], 0xffffffff
or dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x4c], 2
jmp 0x600940f3
cmp dword [ebp - 0x4c], 2
jne 0x60094018
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
lea eax, [ebp - 0x4c]
push ecx
push 2
push eax
push esi
call fcn.6009377c
add esp, 0x10
jmp 0x6009403d
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x4c], 2
sub eax, dword [ebp - 4]
push eax
push 0
push dword [ebp - 8]
push esi
push edi
call fcn.6009897e
add esp, 0x14
test eax, eax
je 0x60096464
mov eax, dword [ebx + 0x18]
xor ecx, ecx
test eax, eax
setne cl
inc ecx
mov dword [ebp + 0x10], eax
push ecx
push esi
push edi
call fcn.6009859c
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jl 0x60096464
push 0
push 7
push esi
push edi
call fcn.60096d48
add esp, 0x10
mov dword [ebp - 4], eax
test eax, eax
jl 0x60096464
push dword [ebx + 0x14]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
cmp dword [ebp + 0x10], 0
je 0x6009414e
push 0
lea eax, [ebp - 0x44]
push 0
push eax
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 3
push eax
push esi
push edi
call fcn.60096eef
mov ebx, eax
add esp, 0x18
test ebx, ebx
mov dword [ebp - 0x14], ebx
jl 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
sub edx, ecx
sub edx, eax
add ecx, eax
push edx
push ecx
push esi
push edi
call fcn.600930f3
add esp, 0x10
test eax, eax
je 0x60096464
mov eax, dword [ebp + 0x10]
cmp word [eax], 0x25
jne 0x6009410d
mov ebx, eax
push dword [ebx + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
jne 0x60093ff8
jmp 0x60096464
push dword [ebp + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
sub ebx, dword [ebp - 4]
push ebx
push 0
push dword [ebp - 8]
push esi
push edi
call fcn.6009897e
add esp, 0x14
test eax, eax
je 0x60096464
push esi
push edi
call fcn.600937bc
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
jmp 0x60096468
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
sub edx, ecx
sub edx, eax
add ecx, eax
push edx
push ecx
push esi
push edi
call fcn.600930f3
add esp, 0x10
jmp 0x60094135
lea eax, [ebp - 0x4c]
push eax
push ebx
push esi
push edi
call fcn.60097d44
jmp 0x6009641e
push dword [ebp - 0xc]
lea eax, [ebp - 0x4c]
push 0xd
push eax
push esi
call fcn.6009377c
push dword [ebx + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0x1c
test eax, eax
je 0x60096464
push 3
push esi
push edi
call fcn.6009859c
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jl 0x60096464
push 0
push 7
push esi
push edi
call fcn.60096d48
add esp, 0x10
mov dword [ebp - 4], eax
test eax, eax
jl 0x60096464
push dword [ebx + 0x14]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
sub ecx, dword [eax + 8]
add ecx, dword [ebp - 0xc]
push ecx
push 6
push esi
push edi
call fcn.60096d48
mov ebx, eax
add esp, 0x10
test ebx, ebx
jl 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
sub edx, ecx
sub edx, eax
add ecx, eax
push edx
push ecx
push esi
push edi
call fcn.600930f3
add esp, 0x10
jmp 0x6009411a
push 3
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
push 0
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
mov dword [ebp - 0xc], eax
push eax
lea eax, [ebp - 0x4c]
push 0xa
push eax
push esi
call fcn.6009377c
push dword [ebx + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0x1c
test eax, eax
je 0x60096464
lea eax, [ebp - 0x4c]
mov ecx, dword [esi + 0x78]
mov edx, dword [ecx + 8]
sub edx, dword [ecx]
mov dword [eax + 4], edx
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x6009429a
cmp dword [eax], 1
je 0x60094283
push dword [ebx + 0x14]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
sub ecx, dword [eax + 8]
add ecx, dword [ebp - 0xc]
push ecx
push 8
push esi
push edi
call fcn.60096d48
add esp, 0x10
test eax, eax
jge 0x6009413d
jmp 0x60096464
mov eax, dword [ebx + 0x10]
push dword [ebp - 0xc]
and dword [ebp - 4], 0
mov dword [ebp + 8], eax
lea eax, [ebp - 0x4c]
push 0xb
push eax
push esi
call fcn.6009377c
mov eax, dword [ebp + 8]
add esp, 0x10
cmp word [eax], 0x2f
jne 0x600945b0
mov dword [ebp - 0x4c], 0xc
mov eax, dword [eax + 0x10]
mov dword [ebp + 0x10], eax
cmp word [eax], 0x30
jne 0x60094323
push eax
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 1
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 8]
push dword [eax + 0x14]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0x67
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x48], eax
or eax, 0xffffffff
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], eax
mov al, byte [ebx + 2]
test al, al
je 0x6009439d
movzx eax, al
push eax
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 0x10]
movzx ecx, word [eax]
sub ecx, 0x13
je 0x6009451b
sub ecx, 3
je 0x600944e4
dec ecx
je 0x6009451b
sub ecx, 4
je 0x6009451b
dec ecx
dec ecx
je 0x600943f5
sub ecx, 0x13
jne 0x60094496
mov eax, dword [eax + 0x10]
mov dword [ebp + 0x10], eax
cmp dword [eax + 0x14], 0
jne 0x600943f5
push 6
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x18], 0
jl 0x6009443c
movzx ecx, byte [eax + 2]
cmp ecx, 0x54
mov dword [ebp + 0xc], ecx
jl 0x60094463
cmp ecx, 0x55
jle 0x60094433
cmp ecx, 0x57
jle 0x6009442a
cmp ecx, 0x99
jle 0x60094463
cmp ecx, 0x9b
jg 0x60094463
mov dword [ebp + 0xc], 0x68
jmp 0x60094463
mov dword [ebp + 0xc], 0xb
jmp 0x60094463
mov dword [ebp + 0xc], 0xa
jmp 0x60094463
mov eax, dword [ebp + 0x10]
push eax
push esi
push edi
mov byte [eax + 2], 0x68
call fcn.600971b7
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 2]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x18], 0
jl 0x600944cb
test byte [eax + 0x1c], 2
je 0x60094476
mov dword [ebp + 0xc], 0x56
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x18]
push eax
shr eax, 8
push eax
push dword [ebp + 0xc]
push esi
push edi
call fcn.60093043
add esp, 0x14
test eax, eax
jl 0x60096464
push 3
push esi
push edi
call fcn.6009859c
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jl 0x60096464
push 0
push 7
push esi
push edi
call fcn.60096d48
add esp, 0x10
mov dword [ebp - 4], eax
test eax, eax
jge 0x60094699
jmp 0x60096464
push esi
push dword [ebp + 0xc]
push dword [ebp + 0x10]
push edi
call fcn.600970a0
add esp, 0x10
test eax, eax
jne 0x60094496
jmp 0x60096464
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push eax
mov eax, dword [ebp + 0x10]
push dword [eax + 0x14]
push esi
push edi
call fcn.6009756e
add esp, 0x10
test eax, eax
je 0x60096464
cmp dword [ebp - 0x18], 0
jne 0x6009451b
push esi
push 0x69
push dword [ebp + 0x10]
push edi
call fcn.600977bf
jmp 0x600944d8
push 0x6a
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
je 0x60096464
push 3
push esi
push edi
call fcn.6009859c
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jl 0x60096464
push 0
push 7
push esi
push edi
call fcn.60096d48
add esp, 0x10
mov dword [ebp - 4], eax
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 0x10]
mov ax, word [eax]
cmp ax, 0x1b
jne 0x60094599
push dword [ebp + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0x7a
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jne 0x60094699
jmp 0x60096464
cmp ax, 0x13
je 0x6009456b
push esi
push 0x7a
push dword [ebp + 0x10]
push edi
call fcn.6009795e
add esp, 0x10
jmp 0x6009458c
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x600945bc
and dword [ebp + 0xc], eax
jmp 0x600945d6
push eax
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov dword [ebp + 0xc], 0x51
push 4
push esi
push edi
call fcn.6009859c
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jl 0x60096464
push dword [ebp + 0xc]
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
or eax, 0xffffffff
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0xc], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x60094641
push eax
push eax
push dword [ebp - 8]
push esi
push edi
call fcn.6009897e
add esp, 0x14
test eax, eax
jne 0x60094690
jmp 0x60096464
push eax
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
sub ecx, dword [ebp - 0xc]
push ecx
push 0
push dword [ebp - 8]
push esi
push edi
call fcn.6009897e
add esp, 0x14
test eax, eax
je 0x60096464
push 0
push 7
push esi
push edi
call fcn.60096d48
add esp, 0x10
mov dword [ebp - 4], eax
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ebp + 0x10], eax
push dword [ebx + 0x14]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [ebp + 8]
cmp word [eax], 0x2f
je 0x60094771
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
sub ecx, dword [ebp - 0xc]
push ecx
push 1
push dword [ebp - 8]
push esi
push edi
call fcn.6009897e
add esp, 0x14
test eax, eax
je 0x60096464
cmp dword [ebp + 0x10], 0
je 0x6009474e
lea eax, [ebp - 0x4c]
mov ecx, dword [esi + 0x78]
mov edx, dword [ecx + 8]
sub edx, dword [ecx]
mov dword [eax + 4], edx
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x600946fe
cmp dword [eax], 1
je 0x600946e7
push dword [ebp + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0x51
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
movzx ebx, word [ebx + 0xa]
mov eax, dword [esi + 0x78]
cmp dword [eax + 0x1c], ebx
je 0x6009474e
push ebx
push 0x17
push esi
push edi
call fcn.60098736
add esp, 0x10
test eax, eax
jl 0x60096464
mov eax, dword [esi + 0x78]
mov dword [eax + 0x1c], ebx
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
sub ecx, dword [ebp - 0xc]
push ecx
push 2
push dword [ebp - 8]
push esi
push edi
call fcn.6009897e
add esp, 0x14
test eax, eax
je 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
sub ecx, dword [eax + 8]
add ecx, dword [ebp - 0xc]
push ecx
push 6
push esi
push edi
call fcn.60096d48
mov ebx, eax
add esp, 0x10
test ebx, ebx
jl 0x60096464
cmp dword [ebp - 4], 0
jle 0x600947be
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
sub edx, ecx
sub edx, eax
add ecx, eax
push edx
push ecx
push esi
push edi
call fcn.600930f3
add esp, 0x10
test eax, eax
je 0x60096464
mov eax, dword [ebp + 8]
cmp word [eax], 0x2f
jne 0x600947e2
sub ebx, dword [ebp - 4]
push ebx
push 0
push dword [ebp - 8]
push esi
push edi
call fcn.6009897e
add esp, 0x14
test eax, eax
je 0x60096464
push esi
push edi
call fcn.600937bc
pop ecx
test eax, eax
pop ecx
je 0x60096464
mov eax, dword [ebp + 8]
cmp word [eax], 0x2f
jne case.0x60093c8a.38
push 0x6b
jmp 0x600963bf
mov ebx, dword [ebx + 0x10]
mov ecx, dword [esi + 0x10]
test ebx, ebx
mov dword [ebp + 8], ecx
je 0x60094844
lea eax, [esi + 0x88]
push eax
push ebx
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
mov ecx, dword [ebp + 8]
cmp dword [ecx], 1
jne 0x6009483a
cmp dword [ecx + 0x18], ebx
je 0x6009483f
mov ecx, dword [ecx + 0x1c]
jmp 0x60094830
push 0x10
pop edx
jmp 0x6009485f
xor eax, eax
jmp 0x60094853
cmp edx, 4
je 0x6009485a
mov ecx, dword [ecx + 0x1c]
mov dword [ebp + 8], ecx
mov edx, dword [ecx]
cmp edx, 0xa
jl 0x60094848
mov ecx, dword [ebp + 8]
xor edx, edx
push edx
push eax
lea eax, [ecx + 8]
jmp 0x600948d0
mov ebx, dword [ebx + 0x10]
mov ecx, dword [esi + 0x10]
test ebx, ebx
mov dword [ebp + 8], ecx
je 0x600948b3
and dword [ebp + 0x10], 0
lea eax, [esi + 0x88]
push eax
push ebx
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
cmp edx, 1
jne 0x6009489f
cmp dword [ecx + 0x18], ebx
je 0x600948ac
cmp edx, 0xa
jl 0x600948a7
mov dword [ebp + 0x10], ecx
mov ecx, dword [ecx + 0x1c]
jmp 0x60094893
mov ecx, dword [ebp + 0x10]
push 0x11
jmp 0x600948ca
xor eax, eax
cmp dword [ecx], 0xa
jge 0x600948c5
mov ecx, dword [ecx + 0x1c]
cmp dword [ecx], 0xa
jl 0x600948ba
mov dword [ebp + 8], ecx
mov ecx, dword [ebp + 8]
push 5
pop edx
push edx
push eax
lea eax, [ecx + 0xc]
push eax
push ecx
push esi
push edi
call fcn.60096eef
add esp, 0x18
jmp 0x600960eb
push dword [ebx + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
lea eax, [ebp - 0x4c]
push ecx
push 5
push eax
push esi
call fcn.6009377c
push 3
push esi
push edi
call fcn.60092e46
add esp, 0x1c
test eax, eax
jl 0x60096464
push dword [ebx + 0x14]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 4
push esi
push edi
call fcn.60092e46
add esp, 0xc
jmp 0x600942c7
mov eax, dword [esi + 0x78]
or dword [ebp - 0x14], 0xffffffff
or dword [ebp - 0x1c], 0xffffffff
or dword [ebp - 8], 0xffffffff
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
mov eax, dword [ebx + 0x18]
neg eax
sbb eax, eax
push ecx
and eax, 8
push eax
lea eax, [ebp - 0x4c]
push eax
push esi
call fcn.6009377c
mov eax, dword [esi + 0x94]
push 0x85
push esi
push edi
mov dword [ebp + 0x10], eax
call fcn.60092e46
add esp, 0x1c
test eax, eax
jl 0x60096464
mov eax, dword [esi + 0x78]
push dword [ebx + 0x10]
mov ecx, dword [eax + 8]
push esi
sub ecx, dword [eax]
push edi
mov dword [ebp - 0x20], ecx
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
cmp dword [ebx + 0x18], 0
je 0x600949e4
push 0xb
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
lea eax, [ebp - 0x3c]
push eax
push 0x97
push esi
push edi
call fcn.60096dd9
add esp, 0x10
test eax, eax
jl 0x60096464
push 0xb
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
lea eax, [ebp - 0x38]
push eax
push 0x95
push esi
push edi
call fcn.60096dd9
add esp, 0x10
test eax, eax
jl 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
mov eax, dword [ebx + 0x14]
test eax, eax
mov dword [ebp - 4], ecx
mov dword [ebp + 8], eax
je 0x60094d11
push dword [ebp + 8]
mov eax, ecx
mov dword [ebp - 8], eax
jmp 0x60094cf7
cmp dword [ebp - 0x14], 0xffffffff
je 0x60094a94
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x14]
sub edx, eax
add eax, ecx
sub edx, ecx
push edx
push eax
push esi
push edi
call fcn.600930f3
add esp, 0x10
test eax, eax
je 0x60096464
inc dword [esi + 0x94]
push 0xb
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
push 4
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
jmp 0x60094abb
mov eax, dword [ebp + 0x10]
push dword [ebp + 0x10]
shr eax, 8
push eax
push 0x75
push esi
push edi
call fcn.60093043
add esp, 0x14
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x94], eax
push 0
push 0x14
push esi
push edi
call fcn.60098736
add esp, 0x10
mov dword [ebp - 0x28], eax
test eax, eax
jl 0x60096464
push 0
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
lea eax, [esi + 0x88]
push eax
mov eax, dword [edi + 0x14]
push dword [eax + 0x208]
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
push esi
push dword [eax + 0xc]
push 0x3b
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
js 0x60096464
push 0x39
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
push 0x59
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
push 0x74
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 8]
lea ecx, [esi + 0x88]
push ecx
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xc], eax
push dword [eax + 0x10]
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
push esi
push dword [eax + 0xc]
push 0x82
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
js 0x60096464
push 0xb
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
push 3
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x14]
test edx, edx
je 0x60094c2c
mov eax, dword [esi + 0x78]
push edx
push esi
push edi
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
mov dword [ebp - 0x14], ecx
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
sub ecx, dword [ebp - 0x14]
push ecx
push 0
push dword [ebp - 0x28]
push esi
push edi
call fcn.6009897e
add esp, 0x14
test eax, eax
je 0x60096464
push 0
push 7
push esi
push edi
call fcn.60096d48
add esp, 0x10
mov dword [ebp - 0x14], eax
test eax, eax
jl 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
lea eax, [ebp - 0x6c]
push ecx
push 7
push eax
push esi
call fcn.6009377c
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 8]
push dword [eax + 0x18]
push esi
push edi
call fcn.60093bd3
add esp, 0x1c
test eax, eax
je 0x60096464
push esi
push edi
call fcn.600937bc
mov eax, dword [esi + 0x94]
dec eax
push eax
push 0x14
push esi
push edi
call fcn.60098736
add esp, 0x18
test eax, eax
jl 0x60096464
push 4
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
cmp dword [ebx + 0x18], 0
je 0x60094cba
lea eax, [ebp - 0x3c]
push eax
push 0x97
push esi
push edi
call fcn.60096dd9
add esp, 0x10
test eax, eax
jl 0x60096464
push 0xb
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
lea eax, [ebp - 0x38]
push eax
push 0x95
push esi
push edi
call fcn.60096dd9
add esp, 0x10
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x60094d0e
mov dword [ebp + 8], eax
push eax
push esi
push edi
call fcn.6009853a
add esp, 0xc
test eax, eax
jne 0x60094a39
jmp 0x60096464
mov eax, dword [ebp + 8]
cmp dword [ebx + 0x18], 0
jne 0x60094d2e
cmp dword [ebp - 0x14], 0xffffffff
je 0x60094e11
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x14], 0
je 0x60094e11
mov eax, dword [esi + 0x78]
push dword [ebp + 0x10]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
mov eax, dword [ebp + 0x10]
shr eax, 8
push eax
push 0x75
push esi
push edi
mov dword [ebp - 0x1c], ecx
call fcn.60093043
add esp, 0x14
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 0x10]
cmp dword [ebp - 0x14], 0xffffffff
mov dword [esi + 0x94], eax
je 0x60094d97
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x14], 0
je 0x60094d97
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x14]
sub edx, ecx
sub edx, eax
add ecx, eax
push edx
push ecx
push esi
push edi
call fcn.600930f3
add esp, 0x10
test eax, eax
je 0x60096464
cmp dword [ebx + 0x18], 0
je 0x60094dc1
lea eax, [ebp - 0x3c]
push eax
push 0x97
push esi
push edi
call fcn.60096dd9
add esp, 0x10
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x94], eax
push 0xb
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
push 0x74
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
push 0xb
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
push 0x6e
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
cmp dword [ebx + 0x18], 0
je 0x60094eac
mov eax, dword [esi + 0x78]
push 0x72
push dword [eax + 8]
push dword [ebp - 0x3c]
push esi
push edi
call fcn.60093811
add esp, 0x14
test eax, eax
je 0x60096464
inc dword [esi + 0x94]
mov eax, dword [esi + 0x94]
lea ecx, [esi + 0x98]
cmp eax, dword [ecx]
jbe 0x60094e50
mov dword [ecx], eax
push dword [ebx + 0x18]
mov dword [ebp - 0x4c], 9
push esi
push edi
call fcn.6009853a
add esp, 0xc
test eax, eax
je 0x60096464
push 0x86
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
push dword [ebx + 0x18]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0x73
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
push esi
push edi
call fcn.600937bc
push 0xf
push esi
push edi
call fcn.6009859c
add esp, 0x14
test eax, eax
jl 0x60096464
push 0
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [esi + 0x78]
push 6
push dword [eax + 8]
push dword [ebp - 0x38]
push esi
push edi
call fcn.60093811
add esp, 0x14
test eax, eax
je 0x60096464
cmp dword [ebx + 0x14], 0
je 0x60094f19
push dword [ebp - 8]
push dword [ebp - 4]
push dword [ebp - 0x20]
push esi
push edi
call fcn.60098c68
add esp, 0x14
test eax, eax
je 0x60096464
cmp dword [ebx + 0x18], 0
je case.0x60093c8a.38
push dword [ebp - 0x1c]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push esi
push edi
call fcn.60098c68
add esp, 0x14
jmp 0x60096460
or dword [ebp - 8], 0xffffffff
or dword [ebp - 0x14], 0xffffffff
mov eax, dword [ebx + 0x10]
jmp 0x60095155
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 2]
cmp eax, 9
mov dword [ebp + 0xc], eax
je 0x6009504e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
test eax, eax
jge 0x60094f89
lea eax, [esi + 0x88]
push eax
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [eax + 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
shl eax, 4
mov eax, dword [eax + 0x600d679c]
and eax, 0xf
cmp al, 2
jne 0x60094fe8
mov ax, word [esi]
test al, 2
je 0x60094faa
test al, al
jns 0x60094fe8
push dword [ebp + 8]
lea eax, [esi + 0x38]
mov dword [esi + 0x78], eax
push esi
push edi
call fcn.6009853a
add esp, 0xc
test eax, eax
je 0x60096464
movzx eax, byte [ebx + 2]
push esi
push dword [ebp - 4]
push eax
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
js 0x60096464
lea eax, [esi + 0x58]
mov dword [esi + 0x78], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0
je 0x6009504e
cmp dword [ebp + 0xc], 0x6d
jne 0x60095011
push esi
push dword [ebp - 4]
push 0x6c
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
js 0x60096464
mov eax, dword [ebp + 8]
cmp byte [ebx + 2], 0x7e
mov eax, dword [eax + 0x14]
mov dword [ebp + 0x10], eax
jne 0x60095039
push eax
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
push esi
push edi
call fcn.600938b5
add esp, 0x10
test eax, eax
je 0x60096464
push dword [ebp + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
test byte [ebx + 0x1c], 8
je 0x60095061
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0
je 0x60095170
mov eax, dword [ebp + 8]
cmp eax, dword [ebx + 0x10]
jne 0x6009508c
xor eax, eax
cmp byte [ebx + 2], 0x7e
setne al
dec eax
and eax, 0xf
add eax, 6
push eax
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
cmp dword [ebp + 0xc], 9
jne 0x600950a8
push 9
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
jmp 0x600950e5
mov eax, dword [ebp + 8]
cmp dword [eax + 0x18], 0
jl 0x600950ca
mov eax, dword [ebp - 4]
push dword [ebp - 4]
shr eax, 8
push eax
push dword [ebp + 0xc]
push esi
push edi
call fcn.60093043
add esp, 0x14
jmp 0x6009509e
push esi
push dword [ebp - 4]
push dword [ebp + 0xc]
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
js 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
cmp dword [ebp - 8], 0
mov dword [ebp - 0x1c], ecx
jl 0x60095113
mov eax, ecx
sub eax, dword [ebp - 0x14]
push eax
push 0
push dword [ebp - 8]
push esi
push edi
call fcn.6009897e
add esp, 0x14
test eax, eax
je 0x60096464
mov eax, dword [ebp + 8]
cmp dword [eax + 0x20], 0
je 0x60095170
mov eax, dword [ebp - 0x1c]
push 0
push 7
push esi
push edi
mov dword [ebp - 0x14], eax
call fcn.60098736
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jl 0x60096464
push 0x51
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
push eax
push esi
push edi
mov dword [ebp + 8], eax
call fcn.600971b7
add esp, 0xc
test eax, eax
jne 0x60094f4b
jmp 0x60096464
test byte [ebx + 0x1c], 4
je case.0x60093c8a.38
push 0x51
jmp 0x600963bf
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x6009519c
push ebx
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
jne 0x600951b0
jmp 0x60096464
push 1
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], 5
push eax
push 0
push esi
push edi
call fcn.60096e04
add esp, 0x10
test eax, eax
je 0x60096464
push dword [ebp + 0xc]
jmp 0x600963bf
cmp byte [ebx + 3], 1
jne 0x600951f7
push dword [ebx + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
jmp case.0x60093c8a.33
push dword [ebp - 0xc]
lea eax, [ebp - 0x4c]
push 0
push eax
push esi
call fcn.6009377c
mov ebx, dword [ebx + 0x10]
add esp, 0x10
jmp 0x60095224
push ebx
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov ebx, dword [ebx + 0x20]
test ebx, ebx
jne 0x6009520e
jmp 0x6009413d
mov edx, dword [ebx + 0x10]
test edx, edx
mov dword [ebp + 8], edx
je case.0x60093c8a.38
mov eax, dword [edi + 0x34]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x60095255
cmp byte [ecx + 0x13], 0
je 0x60095255
test byte [eax + 0x4c], 0x30
jne 0x60095255
xor ebx, ebx
jmp 0x60095258
xor ebx, ebx
inc ebx
test ebx, ebx
mov dword [ebp - 0x18], ebx
jne 0x6009529e
lea eax, [ebp - 0x18]
push eax
push edx
push esi
push edi
call fcn.6009756e
add esp, 0x10
test eax, eax
je 0x60096464
cmp dword [ebp - 0x18], ebx
jne 0x6009529e
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x78]
push 0xa3
push 0x105
movzx eax, word [eax + 6]
push esi
push edi
mov dword [ecx + 0x1c], eax
call fcn.600bf1f7
jmp 0x6009645d
push dword [ebp + 8]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
neg ebx
sbb ebx, ebx
and ebx, 0xffffffb1
add ebx, 0x51
push ebx
jmp 0x600963bf
mov eax, dword [ebx + 0x10]
lea ecx, [esi + 0x88]
push ecx
push eax
push edi
mov dword [ebp + 8], eax
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
mov ebx, dword [ebx + 0x14]
push dword [eax + 0xc]
xor eax, eax
cmp word [ebx], 0x19
sete al
add eax, 0xd
push eax
push esi
push edi
call fcn.60098736
add esp, 0x10
test eax, eax
jl 0x60096464
push 0
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
lea eax, [ebp - 0x4c]
push ecx
push 1
push eax
push esi
call fcn.6009377c
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - 0x34], eax
call fcn.60093bd3
add esp, 0x1c
test eax, eax
je 0x60096464
push esi
push edi
call fcn.600937bc
pop ecx
test eax, eax
pop ecx
je 0x60096464
cmp word [ebx], 0x19
jne case.0x60093c8a.38
push 0xf
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
push 0
jmp 0x600963bf
mov ebx, dword [ebx + 0x10]
or dword [ebp - 8], 0xffffffff
or dword [ebp - 0x14], 0xffffffff
mov dword [ebp + 8], ebx
push ebx
jmp 0x60095402
mov eax, dword [esi + 0x78]
mov ebx, dword [eax + 8]
sub ebx, dword [eax]
cmp dword [ebp - 8], 0
jl 0x600953bb
mov eax, ebx
sub eax, dword [ebp - 0x14]
push eax
push 0
push dword [ebp - 8]
push esi
push edi
call fcn.6009897e
add esp, 0x14
test eax, eax
je 0x60096464
mov eax, dword [ebp + 8]
cmp dword [eax + 0x20], 0
je case.0x60093c8a.38
push 0
push 7
push esi
push edi
mov dword [ebp - 0x14], ebx
call fcn.60098736
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jl 0x60096464
push 0x51
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
mov dword [ebp + 8], eax
push eax
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
jne 0x60095390
jmp 0x60096464
mov eax, dword [ebx + 0x10]
or dword [ebp - 4], 0xffffffff
mov dword [ebp + 8], eax
movzx eax, word [eax]
sub eax, 0x13
je 0x60095520
sub eax, 3
je 0x600954e2
dec eax
je 0x600954b1
sub eax, 4
je 0x600954ac
dec eax
dec eax
jne 0x6009554f
push dword [ebp + 8]
push esi
push edi
call fcn.600971b7
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
test eax, eax
jl 0x6009546b
mov dword [ebp - 4], eax
jmp 0x6009554f
lea eax, [esi + 0x88]
push eax
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [eax + 0xc]
push esi
push eax
push 0x6c
push edi
mov dword [ebp - 4], eax
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
jns 0x6009554f
jmp 0x60096464
push dword [ebp + 8]
jmp 0x600954cf
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [ebp + 8]
push dword [eax + 0x14]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
jne 0x6009554f
jmp 0x60096464
mov eax, dword [ebp + 8]
push dword [eax + 0x14]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
lea eax, [esi + 0x88]
push eax
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [eax + 0xc]
jmp 0x60095463
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0xaa
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
movzx eax, byte [ebx + 2]
cmp eax, 0x7b
mov dword [ebp + 0xc], eax
je 0x600955d0
cmp eax, 0x7c
je 0x600955d0
test eax, eax
je 0x600955d0
mov ecx, dword [ebp + 8]
movzx eax, word [ecx]
sub eax, 0x13
je 0x600956d5
sub eax, 3
je 0x600956a2
dec eax
je 0x600956d5
sub eax, 4
je 0x600956d5
dec eax
dec eax
jne 0x600955d0
mov al, byte [ecx + 2]
cmp al, 0x6d
je 0x600956a2
cmp al, 0x9b
jne 0x600955a6
mov eax, 0x9a
jmp 0x600955b3
xor ecx, ecx
cmp al, 0x55
setne cl
lea ecx, [ecx + ecx + 0x54]
mov eax, ecx
mov ecx, dword [ebp - 4]
push dword [ebp - 4]
shr ecx, 8
push ecx
push eax
push esi
push edi
call fcn.60093043
add esp, 0x14
test eax, eax
jl 0x60096464
push dword [ebx + 0x14]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
cmp dword [ebp + 0xc], 0
je 0x60095614
push 8
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
push dword [ebp + 0xc]
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 8]
cmp word [eax], 0x1d
je 0x6009564f
mov ecx, dword [esi + 0x78]
mov edx, dword [ecx + 8]
sub edx, dword [ecx]
movzx ecx, byte [eax + 2]
sub edx, dword [ebp - 0xc]
push edx
push ecx
push eax
call fcn.60097799
pop ecx
movzx eax, al
pop ecx
push eax
push esi
push edi
call fcn.60098736
add esp, 0x10
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
mov edx, dword [ebp - 4]
sub ecx, 0x13
je 0x6009570c
sub ecx, 3
je 0x60095701
dec ecx
je 0x600956fa
sub ecx, 4
je 0x600956fa
dec ecx
dec ecx
jne case.0x60093c8a.38
mov ecx, dword [eax + 0x18]
test ecx, ecx
jl 0x60095701
test byte [eax + 0x1c], 2
jne case.0x60093c8a.38
test ecx, ecx
jl 0x60095701
movzx eax, byte [eax + 2]
push edx
shr edx, 8
push edx
jmp 0x60095d88
push 0xc
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
push esi
push dword [ebp - 4]
push 0x35
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
jns 0x600955d0
jmp 0x60096464
push 0xd
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
push 0x37
push esi
push edi
call fcn.60092e46
add esp, 0xc
jmp 0x600955c8
push 0x38
jmp 0x600963bf
movzx eax, byte [eax + 2]
push esi
push edx
jmp 0x60093de6
push 0xab
jmp 0x600963bf
push dword [ebx + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 9
push esi
push edi
call fcn.6009859c
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jl 0x60096464
push 0
push 7
push esi
push edi
call fcn.60096d48
add esp, 0x10
mov dword [ebp - 4], eax
test eax, eax
jl 0x60096464
push dword [ebx + 0x14]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0
push 6
push esi
push edi
call fcn.60096d48
add esp, 0x10
mov dword [ebp - 0x14], eax
test eax, eax
jl 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
sub edx, ecx
sub edx, eax
add ecx, eax
push edx
push ecx
push esi
push edi
call fcn.600930f3
add esp, 0x10
test eax, eax
je 0x60096464
push dword [ebx + 0x18]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [esi + 0x78]
mov ebx, dword [ebp - 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
sub eax, ecx
add ecx, ebx
sub eax, ebx
push eax
push ecx
push esi
push edi
call fcn.600930f3
add esp, 0x10
test eax, eax
je 0x60096464
sub ebx, dword [ebp - 4]
push ebx
push 0
push dword [ebp - 8]
push esi
push edi
call fcn.6009897e
add esp, 0x14
test eax, eax
je 0x60096464
dec dword [esi + 0x94]
jmp case.0x60093c8a.38
push dword [ebx + 0x10]
mov dword [ebp + 0x10], ebx
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0
push 0x96
push esi
push edi
call fcn.60096d48
add esp, 0x10
mov dword [ebp - 0xc], eax
test eax, eax
jl 0x60096464
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp + 8], eax
mov ax, word [eax]
cmp ax, 7
je 0x6009585a
cmp ax, 8
jne 0x600958b7
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0
push 0x96
push esi
push edi
call fcn.60096d48
mov ebx, eax
add esp, 0x10
test ebx, ebx
jl 0x60096464
sub eax, dword [ebp - 0x14]
push eax
mov eax, dword [esi + 0x78]
mov eax, dword [eax]
add eax, dword [ebp - 0x14]
push eax
push esi
push edi
call fcn.60096598
add esp, 0x10
test eax, eax
je 0x60096464
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], ebx
mov eax, dword [eax + 0x14]
jmp 0x60095848
push dword [ebp + 8]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [esi + 0x78]
mov ebx, dword [eax]
add ebx, dword [ebp - 0xc]
push ebx
push esi
call fcn.60093863
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0xc]
push eax
push ebx
push esi
push edi
call fcn.600930f3
add esp, 0x18
test eax, eax
je 0x60096464
mov eax, dword [ebp + 0x10]
mov cl, byte [eax + 2]
mov byte [ebx], cl
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + 0x14]
add dword [ebp - 0xc], ecx
cmp eax, dword [ebp + 8]
mov dword [ebp + 0x10], eax
jne 0x600958d7
jmp case.0x60093c8a.38
cmp byte [ebx + 3], 0xfe
jne case.0x60093c8a.73
mov eax, dword [ebx + 0x10]
push eax
push esi
push edi
mov dword [ebp + 8], eax
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
movzx eax, byte [ebx + 2]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x20]
jmp 0x6009597a
push ebx
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push dword [ebp + 0xc]
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov ebx, dword [ebx + 0x20]
test ebx, ebx
jne 0x6009594f
jmp case.0x60093c8a.38
cmp byte [ebx + 3], 0xff
jne 0x600959a9
push dword [ebx + 0x14]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
movzx eax, byte [ebx + 2]
push esi
push eax
jmp 0x60096456
push dword [ebx + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push dword [ebx + 0x14]
jmp 0x600951e0
mov eax, dword [ebx + 0x10]
push eax
push esi
push edi
mov dword [ebp + 8], eax
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
movzx eax, byte [ebx + 2]
cmp eax, 0xac
mov dword [ebp + 0xc], eax
jne 0x600951cf
mov eax, dword [esi + 0x78]
mov edx, dword [ebp + 8]
mov ecx, dword [eax + 8]
sub ecx, dword [edx + 0xc]
sub ecx, dword [eax]
push ecx
push 0xc
push esi
push edi
call fcn.60098736
add esp, 0x10
test eax, eax
jl 0x60096464
jmp 0x600951cf
movzx eax, byte [ebx + 2]
mov ecx, dword [ebx + 0x10]
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], ecx
movzx ecx, word [ecx]
sub ecx, 0x13
je 0x60095b68
sub ecx, 3
je 0x60095b5b
dec ecx
je 0x60095b4e
sub ecx, 4
je 0x60095b06
dec ecx
dec ecx
jne 0x60095ab8
mov ebx, dword [ebp + 8]
push ebx
push esi
push edi
mov byte [ebx + 2], al
call fcn.600971b7
add esp, 0xc
test eax, eax
je 0x60096464
movzx ecx, byte [ebx + 2]
mov dword [ebp + 0xc], ecx
cmp dword [ebx + 0x18], 0
jl 0x60095af1
test byte [ebx + 0x1c], 2
je 0x60095a9a
shl ecx, 4
mov ecx, dword [ecx + 0x600d679c]
and ecx, 0xf
sub cl, 2
neg cl
sbb ecx, ecx
and ecx, 0xffffffbc
add ecx, 0x9a
mov dword [ebp + 0xc], ecx
mov eax, dword [ebx + 0x18]
push eax
shr eax, 8
push eax
push ecx
push esi
push edi
call fcn.60093043
add esp, 0x14
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
cmp word [ecx], 0x1d
je case.0x60093c8a.38
shl eax, 4
test byte [eax + 0x600d679d], 4
je case.0x60093c8a.38
lea eax, [esi + 0x98]
mov ecx, dword [eax]
cmp dword [esi + 0x94], ecx
jne case.0x60093c8a.38
inc ecx
mov dword [eax], ecx
jmp case.0x60093c8a.38
push esi
push ecx
push ebx
push edi
call fcn.600970a0
add esp, 0x10
test eax, eax
jne 0x60095ab5
jmp 0x60096464
mov ebx, dword [ebp + 8]
push ebx
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [ebx + 0xc]
sub ecx, dword [eax]
push ecx
push 0xc
push esi
push edi
call fcn.60098736
add esp, 0x10
test eax, eax
jl 0x60096464
push dword [ebp + 0xc]
push esi
push edi
call fcn.60092e46
add esp, 0xc
jmp 0x60095aad
push esi
push eax
push dword [ebp + 8]
push edi
call fcn.6009795e
jmp 0x60095afa
push esi
push eax
push dword [ebp + 8]
push edi
call fcn.600977bf
jmp 0x60095afa
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0xaa
push esi
push edi
call fcn.60092e46
add esp, 0xc
jmp 0x60095b34
mov ebx, dword [ebx + 0x10]
movzx eax, word [ebx]
sub eax, 0x16
je 0x60095c44
dec eax
je 0x60095c3f
sub eax, 6
je 0x60095c12
sub eax, 0x2e
je 0x60095c00
and dword [ebp - 0x18], 0
lea eax, [ebp - 0x18]
push eax
push ebx
push esi
push edi
call fcn.6009756e
add esp, 0x10
test eax, eax
je 0x60096464
cmp dword [ebp - 0x18], 0
je 0x60095bf9
push ebx
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0x51
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
push 0x43
jmp 0x600963bf
push esi
push 0xbb
push ebx
push edi
call fcn.6009795e
jmp 0x6009645d
push ebx
push esi
push edi
mov byte [ebx + 2], 0x24
call fcn.600971b7
add esp, 0xc
test eax, eax
je 0x60096464
movzx eax, byte [ebx + 2]
cmp eax, 0x42
mov dword [ebp + 0xc], eax
jne 0x600959a2
push eax
jmp 0x600963bf
push esi
push 0x26
jmp 0x60095c06
push esi
push 0x25
push ebx
push edi
call fcn.600977bf
jmp 0x6009645d
push dword [ebx + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0
push 0
push 0xae
push esi
push edi
call fcn.60093043
add esp, 0x14
mov dword [ebp - 0x14], eax
test eax, eax
jl 0x60096464
push dword [ebx + 0x14]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0xaf
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x14]
sub edx, ecx
sub edx, eax
add ecx, eax
push edx
push ecx
push esi
push edi
call fcn.600930f3
jmp 0x6009645d
movzx eax, byte [ebx + 2]
push esi
push eax
push ebx
push edi
call fcn.600977bf
jmp 0x6009641e
movzx eax, byte [ebx + 2]
push esi
push eax
push ebx
push edi
call fcn.6009795e
jmp 0x6009641e
mov eax, dword [ebx + 0x10]
mov dword [ebp + 8], eax
cmp word [eax], 0x16
jne 0x60095d0f
cmp byte [eax + 2], 0xb8
je 0x60095d0f
or byte [eax + 0x1d], 1
mov byte [eax + 2], 0xb8
push dword [ebp + 8]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0x39
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jge 0x60095d4e
jmp 0x60096464
push dword [ebp + 8]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
test eax, eax
mov dword [ebp + 8], eax
jne 0x60095d39
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
sub ecx, dword [ebp - 0xc]
push ecx
push 0xc
push esi
push edi
call fcn.60098736
add esp, 0x10
test eax, eax
jl 0x60096464
mov eax, dword [ebx + 0x18]
dec eax
push eax
shr eax, 8
push eax
movzx eax, byte [ebx + 2]
push eax
jmp 0x600960e1
lea eax, [esi + 0x88]
push eax
mov eax, dword [edi + 0x14]
push dword [eax + 0x1e4]
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
push esi
push dword [eax + 0xc]
push 0x3b
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
js 0x60096464
push 0x39
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
push 0x59
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebx + 0x10]
test eax, eax
mov dword [ebp + 8], eax
je 0x60095e29
cmp word [eax], 0x35
jne 0x60095e29
mov cl, byte [eax + 0x14]
mov eax, dword [eax + 0x14]
shr eax, 8
push ecx
push eax
push 0x5d
push esi
push edi
call fcn.60093043
add esp, 0x14
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
mov dword [ebp + 8], eax
and dword [ebp - 4], 0
jmp 0x60095ead
mov eax, dword [ebp - 4]
and dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], eax
push esi
fild qword [ebp - 0x2c]
push ecx
push ecx
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fstp qword [esp]
push edi
call fcn.60097bfc
add esp, 0x10
test eax, eax
je 0x60096464
mov eax, dword [ebp + 8]
cmp word [eax], 3
jne 0x60095e78
push 1
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
jmp 0x60095e8d
push dword [ebp + 8]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0x5c
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 8]
inc dword [ebp - 4]
mov eax, dword [eax + 0x20]
mov dword [ebp + 8], eax
test eax, eax
jne 0x60095e2f
test byte [ebx + 0x1c], 0x10
je 0x60095ecf
push 5
push esi
push edi
call fcn.6009859c
add esp, 0xc
test eax, eax
jl 0x60096464
push 0x5a
jmp 0x600963bf
lea eax, [esi + 0x88]
push eax
mov eax, dword [edi + 0x14]
push dword [eax + 0x208]
push edi
call fcn.6008962b
add esp, 0xc
mov dword [ebp + 8], eax
test eax, eax
je 0x60096464
push esi
push dword [eax + 0xc]
push 0x3b
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
js 0x60096464
push 0x39
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
push 0x59
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x60095ecf
cmp word [ebx], 0x35
jne 0x6009604c
mov al, byte [ebx + 0x14]
push eax
mov eax, dword [ebx + 0x14]
shr eax, 8
push eax
push 0x5d
push esi
push edi
call fcn.60093043
add esp, 0x14
test eax, eax
jge 0x60096049
jmp 0x60096464
mov eax, dword [ebx + 0x10]
mov dword [ebp + 0x10], eax
movzx ecx, word [eax]
sub ecx, 0x1d
je 0x60095f89
dec ecx
je 0x60096015
dec ecx
jne 0x60095fa7
lea ecx, [esi + 0x88]
push ecx
push dword [eax + 0x10]
push edi
call fcn.6008962b
add esp, 0xc
mov dword [ebp + 8], eax
test eax, eax
je 0x60096464
push dword [ebx + 0x14]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
movzx eax, byte [ebx + 2]
cmp eax, 0x7b
mov dword [ebp + 0xc], eax
je 0x60095fcd
cmp eax, 0x7c
jne 0x60095fe0
push eax
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 0x10]
cmp word [eax], 0x1e
jne 0x6009602c
push 0
push 0xd
push esi
push edi
call fcn.60098736
add esp, 0x10
test eax, eax
jl 0x60096464
push 0x5c
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
jmp 0x60096049
fld qword [eax + 0x10]
push esi
push ecx
push ecx
fstp qword [esp]
push edi
call fcn.60097bfc
add esp, 0x10
jmp 0x60095f9f
mov eax, dword [ebp + 8]
push esi
push dword [eax + 0xc]
push 0x5b
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
js 0x60096464
mov ebx, dword [ebx + 0x20]
test ebx, ebx
jne 0x60095f71
jmp 0x60095ecf
push dword [ebx + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov al, byte [ebx + 0x14]
push eax
mov eax, dword [ebx + 0x14]
shr eax, 8
push eax
push 0x5d
jmp 0x600960e1
mov al, byte [ebx + 0x14]
push eax
mov eax, dword [ebx + 0x14]
shr eax, 8
push eax
push 0x5e
jmp 0x600960e1
push dword [ebx + 0x10]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0x83
jmp 0x600963bf
push ebx
push esi
push edi
call fcn.600971b7
add esp, 0xc
test eax, eax
je 0x60096464
movzx ecx, byte [ebx + 2]
cmp ecx, 9
mov dword [ebp + 0xc], ecx
jne 0x600960d0
push ecx
jmp 0x600963bf
mov eax, dword [ebx + 0x18]
test eax, eax
jl case.0x60093c8a.31
push eax
shr eax, 8
push eax
push ecx
push esi
push edi
call fcn.60093043
add esp, 0x14
test eax, eax
jge case.0x60093c8a.38
jmp 0x60096464
fld qword [ebx + 0x10]
push esi
push ecx
push ecx
fstp qword [esp]
push edi
call fcn.60097bfc
jmp 0x6009641e
push 0x71
jmp 0x600963bf
cmp byte [ebx + 2], 0xb4
jne 0x60096124
push esi
push 0xb4
jmp 0x60096417
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x60096130
movzx eax, word [eax]
jmp 0x60096133
push 0x4e
pop eax
sub eax, 0x3d
je 0x60096155
dec eax
je 0x60096155
dec eax
je 0x60096155
push 0xc0
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebx + 0x10]
jmp 0x600961b1
mov eax, dword [ebp + 8]
cmp word [eax], 0x19
jne 0x6009617a
push 0xc1
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
push dword [ebp + 8]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [ebp + 8]
cmp eax, dword [ebx + 0x10]
je 0x600961ab
push 0x1b
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
test eax, eax
mov dword [ebp + 8], eax
jne 0x6009615a
test byte [ebx + 0x1c], 0x20
je case.0x60093c8a.38
cmp dword [ebx + 0x18], eax
jne case.0x60093c8a.33
mov eax, dword [edi + 0x14]
lea ecx, [esi + 0x88]
push ecx
mov eax, dword [eax + 0x1b0]
push eax
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
push esi
push dword [eax + 0xc]
push 0x3d
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
js 0x60096464
jmp case.0x60093c8a.33
cmp byte [ebx + 2], 0xb4
je 0x60096119
push 0xc0
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
cmp word [ebx], 0x3e
mov eax, dword [edi + 0x14]
jne 0x6009623e
mov ecx, dword [eax + 0x248]
jmp 0x60096244
mov ecx, dword [eax + 0x28c]
lea eax, [esi + 0x88]
push eax
push ecx
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
push esi
push dword [eax + 0xc]
push 0x3d
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
js 0x60096464
mov eax, dword [ebx + 0x10]
mov dword [ebp + 8], eax
cmp word [eax], 0x19
jne 0x6009629a
push 0xc1
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
push dword [ebp + 8]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
push 0x1b
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
and dword [ebp + 0x10], 0
jmp 0x60096341
cmp word [eax], 0x19
jne 0x600962e6
push 0xc1
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
push dword [ebp + 8]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [ebp + 0x10]
and eax, 1
mov dword [ebp - 0x28], eax
je 0x60096326
mov eax, dword [ebp + 8]
cmp word [eax], 0x19
jne 0x60096326
push 0xa7
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebp - 0x28]
or al, 0xa8
push eax
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
inc dword [ebp + 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
test eax, eax
mov dword [ebp + 8], eax
jne 0x600962c9
cmp word [ebx], 0x3f
mov eax, dword [edi + 0x14]
jne 0x60096363
mov ecx, dword [eax + 0x278]
jmp 0x60096369
mov ecx, dword [eax + 0x298]
lea eax, [esi + 0x88]
push eax
push ecx
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
push esi
push dword [eax + 0xc]
push 0x3d
push edi
call fcn.60096f6d
add esp, 0x10
neg eax
sbb eax, eax
inc eax
js 0x60096464
push 0x1b
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
test byte [ebx + 0x1c], 0x20
je case.0x60093c8a.38
movzx eax, byte [ebx + 2]
push eax
push esi
push edi
call fcn.60092e46
add esp, 0xc
jmp 0x600960eb
cmp byte [ebx + 3], 0xfe
jne case.0x60093c8a.31
mov eax, dword [ebx + 0x10]
jmp 0x60096408
push dword [ebp + 8]
push esi
push edi
call fcn.60093bd3
add esp, 0xc
test eax, eax
je 0x60096464
mov eax, dword [ebp + 8]
cmp eax, dword [ebx + 0x10]
je 0x60096402
push 0x1b
push esi
push edi
call fcn.60092e46
add esp, 0xc
test eax, eax
jl 0x60096464
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
test eax, eax
mov dword [ebp + 8], eax
jne 0x600963d9
jmp case.0x60093c8a.38
movzx eax, byte [ebx + 2]
push esi
push eax
push ebx
push edi
call fcn.600970a0
add esp, 0x10
jmp 0x60094146
lea eax, [esi + 0x88]
push eax
push dword [ebx + 0x14]
push edi
call fcn.6008962b
add esp, 0xc
test eax, eax
je 0x60096464
push esi
push dword [eax + 0xc]
push 0x3d
push edi
call fcn.60096f6d
add esp, 0x10
test eax, eax
je 0x60096464
push esi
push 0xb7
push ebx
push edi
call fcn.600970a0
add esp, 0x10
test eax, eax
jne case.0x60093c8a.38
xor eax, eax
jmp 0x6009648e
cmp dword [ebp - 0x10], 0
je 0x6009648b
dec dword [esi + 0xc0]
jne 0x6009648b
cmp dword [esi + 0xa8], 0
je 0x6009648b
push esi
push edi
call fcn.6009660b
pop ecx
mov dword [ebp - 0x10], eax
pop ecx
mov eax, dword [ebp - 0x10]
pop edi
pop esi
pop ebx
leave
ret