Function at 0x415f60
Capabilities:
Authenticate hmac
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, edx
mov edx, dword [ecx]
mov dword [ebp - 0x11c], ecx
xor ecx, ecx
mov dword [ebp - 0x118], eax
mov ebx, dword [eax]
mov edi, dword [edi]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 8], ebx
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 4], edi
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x48], ecx
test edx, 0x800
je 0x416ecd
mov dword [ebp - 0x20], 1
test edx, 0x200
jne 0x416ed5
xor eax, eax
mov dword [ebp - 0xa4], eax
xor eax, 1
mov dword [ebp - 0xe8], eax
movsx eax, dl
and eax, 1
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x7c], 0xfffffffe
mov dword [ebp - 0x5c], 0xfffffffe
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x94], eax
movzx esi, word [edi]
fld qword [0x4b8d00]
test esi, esi
je 0x416478
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x10]
lea eax, [eax + ecx*2]
add eax, 0xffffff38
cmp dword [ebp + 0x2c], 0
je 0x4161eb
cmp ebx, eax
ja 0x452f62
mov eax, dword [ebp - 0xb4]
cmp ebx, eax
jb 0x416edf
mov ecx, ebx
sub ecx, eax
mov eax, dword [ebp + 0x2c]
sar ecx, 1
mov edx, dword [eax]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x452d84
lea eax, [edx + ecx]
mov ecx, dword [ebp + 0x2c]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x41634f
mov edx, dword [ebp - 0xbc]
cmp ecx, edx
jbe 0x4160f1
mov eax, ebx
fstp st(0)
sub eax, ecx
and eax, 0xfffffffe
push eax
push ecx
push edx
call fcn.00426d50
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov edx, dword [ebp - 0xbc]
sub ecx, edx
mov edi, dword [ebp - 4]
fld qword [0x4b8d00]
sar ecx, 1
neg ecx
mov dword [ebp - 0x18], edx
lea ebx, [ebx + ecx*2]
mov dword [ebp - 8], ebx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xb4], ebx
cmp dword [ebp - 0x34], 0
jne 0x4503df
mov ecx, edx
and ecx, 8
mov dword [ebp - 0x10], ecx
jne 0x450473
cmp esi, 0x2a
je 0x4166f0
cmp esi, 0x3f
je 0x4166f0
cmp esi, 0x2b
je 0x4166f0
cmp esi, 0x7b
je 0x45056c
xor edx, edx
cmp dword [ebp - 0x8c], edx
jne 0x450584
mov eax, dword [ebp - 0xc]
test eax, 0x4000
jne 0x4505ca
cmp esi, 0x5f
jae 0x4161fc
cmp esi, 0x2f
jae 0x416341
cmp esi, 0x28
je 0x41635a
test esi, esi
je case.0x416184.41
lea eax, [esi - 0x24]
cmp eax, 0x58
ja case.0x416184.37
movzx eax, byte [eax + 0x416fa8]
jmp dword [eax*4 + 0x416f78]
mov eax, dword [ebp + 0x10]
fstp st(0)
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp + 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x118]
mov dword [eax], ebx
mov eax, dword [ebp + 8]
mov dword [eax], edi
test edx, edx
je 0x4161df
sub ebx, dword [ebp - 0xb4]
mov ecx, 0x7fffffeb
mov eax, dword [edx]
sub ecx, eax
sar ebx, 1
cmp ecx, ebx
jl 0x452e0a
lea ecx, [eax + ebx]
mov dword [edx], ecx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x28]
cmp dword [ecx + 0x20], eax
jbe 0x4160fa
jmp 0x452f62
cmp esi, 0x7b
jae 0x41615b
fstp st(0)
mov ecx, dword [ebp - 0x20]
mov bx, si
mov dword [ebp - 0x14], 1
mov word [ebp - 0x10c], bx
test ecx, ecx
je 0x416f34
and esi, 0xfc00
cmp esi, 0xd800
je 0x451c75
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x18], edi
test ecx, ecx
je 0x41629e
test dl, 1
je 0x4162a1
movzx ecx, bx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x451cac
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x416281
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0xc]
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f43]
test eax, eax
jne 0x416485
test dl, 1
mov eax, 0
setne al
add eax, 0x1d
mov word [edi], ax
add edi, 2
mov dword [ebp - 8], edi
test esi, esi
je 0x4162d6
mov ecx, esi
lea esi, [ebp - 0x10c]
shr ecx, 1
rep movsd dword es:[edi], dword [esi]
adc ecx, ecx
rep movsw word es:[edi], word [esi]
mov edi, dword [ebp - 8]
mov esi, dword [ebp - 0x14]
lea edi, [edi + esi*2]
mov dword [ebp - 8], edi
cmp bx, 0xd
je 0x451ce3
cmp bx, 0xa
je 0x451ce3
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x2c]
cmp eax, 0xfffffffe
je 0x4166fa
mov ebx, dword [ebp - 0x74]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x24], eax
cmp esi, 1
jne 0x451d25
movzx eax, word [edi - 2]
mov edi, dword [ebp - 4]
mov dword [ebp - 0x70], eax
mov eax, dword [ecx + 0x68]
or eax, dword [ebp - 0x94]
mov dword [ebp - 0x5c], eax
mov ebx, dword [ebp - 8]
add edi, 2
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 4], edi
jmp 0x416043
cmp esi, 0x3f
jb case.0x416184.37
jmp 0x416164
mov ebx, dword [ebp - 0xbc]
jmp 0x4160ee
mov ecx, dword [ebp + 0x28]
add edi, 2
mov dword [ebp - 4], edi
mov ebx, eax
fstp st(0)
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x44], 0
mov esi, 0x85
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x48], edx
movzx edx, word [edi]
mov dword [ebp - 0x64], 0
cmp edx, 0x2a
je 0x451d37
cmp edx, 0x3f
jne 0x4169ad
add edi, 2
mov dword [ebp - 4], edi
movzx edx, word [edi]
mov eax, edx
cmp eax, 0x53
jl 0x451f6c
cmp eax, 0x7c
jge 0x451f6c
xor eax, eax
lea ecx, [ebp - 0xfc]
xor ebx, ebx
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xfc], ebx
cmp dx, 0x29
je 0x416400
cmp dx, 0x3a
je 0x4163f4
movzx eax, dx
add edi, 2
mov dword [ebp - 4], edi
cmp eax, 0x69
jne 0x452c17
or dword [ecx], 1
movzx edx, word [edi]
cmp edx, 0x29
jne 0x4163d1
mov ebx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xe4]
or ebx, dword [ebp - 0xc]
not eax
and ebx, eax
cmp word [edi], 0x29
jne case.0x451f7f.58
mov ecx, dword [ebp + 0x28]
mov eax, dword [ecx + 0x14]
add eax, 4
cmp dword [ebp - 8], eax
je 0x452c7c
test ebx, 0x200
jne 0x416f48
xor eax, eax
mov dword [ebp - 0xa4], eax
xor eax, 1
mov dword [ebp - 0xe8], eax
test bl, 1
je 0x452c94
mov dword [ebp - 0x94], 1
mov eax, dword [ebp - 0x11c]
mov edx, ebx
mov ecx, dword [ebp - 0x80]
add edi, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], 0
mov dword [eax], ebx
mov ebx, dword [ebp - 8]
mov dword [ebp - 4], edi
jmp 0x416043
test ecx, ecx
je 0x416054
jmp 0x4503cb
mov ebx, dword [ebp - 8]
mov dword [ebx], 0x90010
mov word [ebx + 4], ax
add ebx, 6
cmp dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 8], ebx
je 0x451ccd
mov edi, dword [ebp - 4]
mov ebx, dword [ebp - 8]
add edi, 2
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 4], edi
jmp 0x416043
push 6
mov edx, str._:_:__
lea ecx, [edi + 2]
fstp st(0)
call fcn.00417079
add esp, 4
test eax, eax
je 0x4506ac
push 6
mov edx, 0x48eb78
lea ecx, [edi + 2]
call fcn.00417079
add esp, 4
test eax, eax
je 0x4506bf
movzx eax, word [edi + 2]
mov dword [ebp - 0x18], ebx
cmp eax, 0x3a
je 0x4506cc
cmp eax, 0x2e
je 0x4506cc
cmp eax, 0x3d
je 0x4506cc
xor ecx, ecx
mov dword [ebp - 0x44], ecx
add edi, 2
mov dword [ebp - 4], edi
movzx ebx, word [edi]
cmp ebx, 0x5c
je 0x416e35
test ecx, ecx
jne 0x416532
cmp ebx, 0x5e
je 0x416efd
cmp ebx, 0x5d
je 0x4506fc
xor eax, eax
push 0x20
push eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0xdc]
push eax
call fcn.00421d50
mov esi, dword [ebp - 8]
xor eax, eax
mov edi, dword [ebp - 4]
add esi, 6
add esp, 0xc
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x28], esi
mov edx, esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x1c], edx
test ebx, ebx
je 0x450dc8
lea esp, [esp]
cmp dword [ebp - 0x20], 0
je 0x416598
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
je 0x450747
mov ecx, dword [ebp + 0x2c]
test ecx, ecx
je 0x4165a7
cmp esi, edx
ja 0x450781
cmp dword [ebp - 0x34], 0
jne 0x45079b
cmp ebx, 0x5b
je 0x4507c3
cmp ebx, 0x5c
je 0x416e65
mov edx, dword [ebp - 0x14]
cmp word [edi + 2], 0x5c
mov esi, dword [ebp - 0x34]
je 0x450c54
mov ecx, edi
cmp ebx, 0xd
je 0x450c72
cmp ebx, 0xa
je 0x450c72
test esi, esi
jne 0x4165f7
cmp word [edi + 2], 0x2d
je 0x416c5b
cmp edx, 2
jl 0x4166e7
cmp edx, 1
je 0x41682d
push ebx
push ebx
push dword [ebp + 0x28]
push dword [ebp - 0xc]
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0xdc]
call fcn.00417001
mov ecx, dword [ebp - 0x24]
add esp, 0x10
add ecx, eax
mov dword [ebp - 0x24], ecx
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 4]
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x1c]
add edi, 2
mov dword [ebp - 4], edi
movzx ebx, word [edi]
test ebx, ebx
je 0x450da9
cmp ebx, 0x5d
jne 0x416580
test eax, eax
jne 0x416580
cmp esi, edx
ja 0x416f19
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x2c]
cmp edx, 0xfffffffe
jne 0x416674
or edx, 0xffffffff
mov dword [ebp - 0x2c], edx
mov ebx, dword [ebp - 0x74]
test eax, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x7c], edx
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x24], edx
jne 0x450ee5
mov edi, dword [ebp - 0x44]
cmp edi, eax
jne 0x416f23
mov eax, 0x6e
mov edx, dword [ebp - 8]
mov word [edx], ax
add edx, 2
cmp dword [ebp + 0x2c], 0
mov dword [ebp - 8], edx
jne 0x4166d6
test edi, edi
jne 0x416f2d
push 0x20
lea eax, [ebp - 0xdc]
push eax
push edx
call fcn.0041fdb0
mov edx, dword [ebp - 8]
add esp, 0xc
mov edi, dword [ebp - 4]
add edx, 0x20
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xc]
jmp 0x416330
inc edx
mov dword [ebp - 0x14], edx
jmp 0x416600
mov edx, 1
jmp 0x416144
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x7c], 0xffffffff
cmp esi, 1
jne 0x451cf2
movzx ebx, bx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x2c], eax
cmp esi, 1
je 0x4164a2
jmp 0x451d10
push 0
push dword [ebp - 0xc]
mov dword [ebp - 0x84], edi
lea edx, [ebp - 0xb0]
mov edi, dword [ebp + 0x28]
lea ecx, [ebp - 4]
fstp st(0)
push dword [edi + 0x40]
push dword [ebp + 0xc]
call fcn.00417555
mov edx, dword [ebp + 0xc]
add esp, 0x10
mov esi, eax
cmp dword [edx], 0
jne 0x416f70
test esi, esi
je 0x416c28
cmp esi, 0x1a
je 0x451a92
cmp esi, 0x19
je 0x416f07
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x416798
lea eax, [esi - 6]
cmp eax, 0x10
ja 0x416798
or ecx, 0xffffffff
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x24], eax
cmp esi, 0x1b
je 0x451ab7
cmp esi, 0x1c
je 0x451b44
test esi, esi
js 0x451b97
cmp esi, 0xf
je 0x451bf9
cmp esi, 0x10
je 0x451bf9
cmp esi, 5
je 0x451ba6
cmp esi, 4
je 0x451ba6
cmp esi, 1
je 0x451ba6
cmp esi, 0x1d
jge 0x451bbc
lea eax, [esi - 6]
cmp eax, 0x10
ja 0x451bda
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x20], 0
je 0x451be6
mov edx, dword [ebp - 0xc]
mov word [ebx], si
add ebx, 2
mov edi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x416330
cmp word [edi + 2], 0x5d
jne 0x416609
jmp 0x450dd6
xor edx, edx
or ebx, 0xffffffff
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x4c], ebx
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x452dfc
test edx, edx
jne 0x416872
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x5c], eax
cmp edx, ebx
je 0x450fcd
mov dword [ebp - 0x6c], 2
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x54], esi
test ecx, ecx
jne 0x450fd9
movzx eax, word [edi + 2]
cmp eax, 0x2b
je 0x4510da
cmp eax, 0x3f
jne 0x416bdf
mov eax, dword [ebp - 0xe8]
add edi, 2
mov dword [ebp - 4], edi
cmp word [esi], 0x75
mov dword [ebp - 0x14], eax
je 0x4510ee
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
movzx ecx, word [ecx]
cmp ecx, 0x1d
je 0x451721
cmp ecx, 0x1e
je 0x451721
cmp ecx, 0x1f
je 0x451721
cmp ecx, 0x20
je 0x451721
cmp ecx, 0x17
jae 0x416bea
fstp st(0)
mov esi, 0x34
mov ebx, ecx
mov ecx, dword [ebp - 0x18]
movzx eax, word [ecx]
cmp eax, 0x10
je 0x4517dd
cmp eax, 0xf
je 0x4517dd
mov dword [ebp - 0x1c], 0xffffffff
or edx, 0xffffffff
cmp dword [ebp - 0x4c], 0
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], eax
je 0x416995
mov eax, dword [ebp - 0x14]
add eax, esi
cmp dword [ebp - 0x58], 0
mov dword [ebp - 0x14], eax
jne 0x451811
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0xffffffff
jne 0x4517ed
add eax, 0x21
mov ecx, dword [ebp - 0x18]
lea edi, [ecx + 2]
mov word [ecx], ax
mov esi, dword [ebp - 0x1c]
cmp dword [ebp - 0x20], 0
je 0x416974
test ebx, 0x10000000
jne 0x451941
mov word [edi], bx
add edi, 2
mov dword [ebp - 8], edi
test edx, edx
jns 0x451963
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
cmp dword [ebp - 0x30], 0
jne 0x451975
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x18], 0
or dword [ecx + 0x68], eax
jmp 0x416330
test eax, 0x1000
jne 0x416f52
inc dword [ecx + 0x40]
mov ax, word [ecx + 0x40]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0x44], 1
mov word [ecx + 4], ax
mov edi, dword [ebp - 4]
mov eax, dword [ebp + 0x28]
inc dword [eax + 0x58]
cmp dword [eax + 0x58], 0xfa
jg 0x452f57
mov word [ecx], si
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x54], ecx
mov ecx, eax
mov dword [ebp - 0x90], 0
mov eax, dword [ecx + 0x68]
mov edi, dword [ecx + 0x40]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x3c], eax
mov eax, edx
neg eax
sbb eax, eax
and eax, ecx
cmp esi, 0x87
je 0x416f5c
xor edx, edx
cmp esi, 0x7f
je 0x416f66
cmp esi, 0x80
je 0x416f66
xor ecx, ecx
push eax
push dword [ebp + 0x28]
lea eax, [ebp - 0x98]
push dword [ebp + 0x20]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xf0]
push eax
mov eax, dword [ebp + 0x24]
add eax, edx
lea edx, [ebp - 0x54]
push eax
push dword [ebp - 0x44]
lea eax, [ebp - 4]
push dword [ebp - 0x64]
push ecx
push dword [ebp + 0xc]
mov ecx, ebx
push eax
call fcn.00415c32
add esp, 0x34
test eax, eax
je 0x416f70
mov eax, dword [ebp + 0x28]
dec dword [eax + 0x58]
cmp esi, 0x81
je 0x452ca3
cmp esi, 0x80
jle 0x452cbf
mov edx, dword [ebp + 0x2c]
mov ebx, dword [ebp - 8]
cmp esi, 0x87
je 0x452cd0
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xa8]
mov edi, dword [ebp - 4]
cmp word [edi], 0x29
jne 0x452f4c
test edx, edx
je 0x416b6f
mov esi, dword [ebp - 0x90]
mov ecx, 0x7fffffeb
mov edx, dword [edx]
sub ecx, edx
lea eax, [esi - 4]
cmp ecx, eax
jl 0x452e0a
mov ecx, dword [ebp + 0x2c]
lea eax, [esi - 4]
add eax, edx
mov edx, dword [ebp - 0xc]
mov dword [ecx], eax
mov eax, 2
mov dword [ebx + 2], 0x780002
mov word [ebx + 6], ax
add ebx, 8
mov edi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x416330
mov eax, dword [ebp - 0x2c]
fstp st(0)
cmp eax, 0xfffffffe
jne 0x416b29
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], ebx
test dl, 4
jne 0x416ee9
mov eax, 0xc
mov ecx, dword [ebp - 0x80]
mov word [ebx], ax
add ebx, 2
mov edi, dword [ebp - 4]
add edi, 2
mov dword [ebp - 8], ebx
mov dword [ebp - 4], edi
jmp 0x416043
mov edx, dword [ebp - 0x54]
mov dword [ebp - 8], edx
cmp esi, 0x91
je 0x4166df
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x88], edx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0xa0], 0
cmp esi, 0x81
jl 0x452d5f
cmp edx, 0xfffffffe
je 0x452d30
test ecx, ecx
jns 0x416ea9
test eax, eax
js 0x4166df
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x5c], eax
jmp 0x416330
mov eax, dword [ebp - 0xa4]
jmp 0x4168b5
cmp ecx, 0x6e
jne 0x416cef
fstp st(0)
test ebx, ebx
je 0x4516d6
test edx, edx
jne 0x4516e1
cmp ebx, 0xffffffff
je 0x416e24
cmp ebx, 1
jne 0x4516fc
add eax, 0x66
mov word [esi], ax
add esi, 2
mov dword [ebp - 8], esi
jmp 0x416988
mov ebx, dword [ebp - 0xb0]
cmp ebx, 0xffff
ja 0x450eba
mov ecx, dword [ebp - 0x20]
mov esi, 1
mov word [ebp - 0x10c], bx
mov dword [ebp - 0x14], esi
jmp 0x416238
xor edx, edx
lea ebx, [edx + 1]
jmp 0x416842
add edi, 4
mov dword [ebp - 4], edi
cmp word [edi], 0x5c
je 0x450c81
movzx eax, word [edi]
test ax, ax
je 0x416f0f
test esi, esi
jne 0x416c84
cmp eax, 0x5d
je 0x416f0f
cmp dword [ebp - 0x20], 0
mov esi, eax
mov dword [ebp - 0x9c], esi
je 0x416ca2
and eax, 0xfc00
cmp eax, 0xd800
je 0x450cdf
cmp dword [ebp - 0x34], 0
jne 0x416cba
cmp esi, 0x5c
je 0x450d0a
cmp esi, 0x5b
je 0x450d66
mov ecx, dword [ebp + 0xc]
cmp esi, ebx
jb 0x452de0
je 0x4165f7
mov dword [ebp - 0x14], 2
cmp esi, 0xd
je 0x450d9a
cmp esi, 0xa
je 0x450d9a
mov eax, dword [ebp + 0x28]
push esi
push ebx
push eax
jmp 0x41660e
cmp ecx, 0x6f
je 0x416bf3
cmp ecx, 0x70
je 0x416bf3
cmp ecx, 0x71
je 0x416bf3
cmp ecx, 0x72
je 0x416bf3
cmp ecx, 0x73
je 0x416bf3
cmp ecx, 0x74
je 0x416bf3
cmp ecx, 0x7d
jb 0x4516b8
mov eax, 0x87
cmp cx, ax
ja 0x4516b8
mov eax, dword [ebp - 0x18]
xor ebx, ebx
sub esi, eax
mov dword [ebp - 0x3c], 0x87
sar esi, 1
xor edx, edx
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x1c], edx
cmp cx, word [ebp - 0x3c]
je 0x451163
mov eax, 0x81
cmp cx, ax
mov eax, dword [ebp - 0x58]
jb 0x45117c
mov ecx, dword [ebp - 0x4c]
test eax, eax
jne 0x451211
fstp st(0)
push dword [ebp - 0x48]
push dword [ebp + 0x28]
push dword [ebp - 0x20]
cmp ecx, 1
jg 0x4511b0
mov edi, dword [ebp - 8]
lea edx, [eax + 1]
mov ecx, dword [ebp - 0x18]
mov word [edi], ax
call fcn.00417c6d
mov edx, dword [ebp - 0x44]
add esp, 0xc
mov ecx, dword [ebp - 0x18]
lea eax, [edx + edx]
push eax
lea esi, [ecx + 2]
push ecx
push esi
call fcn.00426d50
add edi, 2
add esp, 0xc
mov dword [ebp - 8], edi
mov edi, dword [ebp - 0x4c]
test edi, edi
je 0x45119d
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x1c], edx
lea eax, [ecx + 0x92]
mov word [edx], ax
dec edi
mov dword [ebp - 0x4c], edi
mov edi, dword [ebp - 4]
mov eax, dword [ebp - 0x4c]
test eax, eax
js 0x45155c
mov edx, dword [ebp + 0x2c]
test edx, edx
je 0x416e06
test eax, eax
jg 0x451398
lea ebx, [eax - 1]
test ebx, ebx
jns 0x4513ef
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 8]
test ebx, ebx
je 0x41698b
jmp 0x45151e
add eax, 0x62
mov word [esi], ax
add esi, 2
mov dword [ebp - 8], esi
jmp 0x416988
cmp word [edi + 2], 0x45
lea ecx, [edi + 2]
je 0x416ef3
push 3
mov edx, 0x48eb88
call fcn.00417079
add esp, 4
test eax, eax
jne 0x41653b
mov ecx, dword [ebp - 0x44]
add edi, 6
jmp 0x416513
mov edi, dword [ebp + 0x28]
lea edx, [ebp - 0xb0]
mov ebx, dword [ebp - 0xc]
lea ecx, [ebp - 4]
push 1
push ebx
push dword [edi + 0x40]
push dword [ebp + 0xc]
call fcn.00417555
mov esi, eax
add esp, 0x10
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x416f70
test esi, esi
jne 0x4509ac
mov ebx, dword [ebp - 0xb0]
mov edi, dword [ebp - 4]
jmp 0x4165c3
test eax, eax
jns 0x416bcb
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xb8], eax
mov eax, ecx
or eax, dword [ebp - 0x3c]
mov dword [ebp - 0x98], eax
jmp 0x416bc3
mov dword [ebp - 0x20], ecx
jmp 0x415fef
mov eax, 1
jmp 0x415ffd
mov ebx, eax
mov dword [ebp - 8], ebx
jmp 0x416085
mov eax, 0xd
jmp 0x416b55
mov edi, ecx
mov ecx, dword [ebp - 0x44]
jmp 0x416513
mov ecx, 1
jmp 0x416510
mov edi, dword [ebp - 4]
jmp 0x4166df
mov edi, ecx
mov dword [ebp - 4], edi
jmp 0x4165f7
mov eax, 1
jmp 0x416666
mov eax, 0x6f
jmp 0x4166a7
xor ecx, ecx
jmp 0x450f74
mov esi, 1
jmp 0x416238
mov esi, 0x83
jmp 0x4523f7
mov eax, 1
jmp 0x416431
mov esi, 0x83
jmp 0x4523fd
mov edx, 1
jmp 0x416a35
mov ecx, 1
jmp 0x416a37
mov edi, dword [ebp - 4]
jmp 0x452f6d
mov edi, ecx
mov dword [ebp - 0x80], 0
mov dword [ebp - 4], edi
movzx esi, word [edi]
jmp 0x416054
test esi, esi
je 0x416104
fstp st(0)
cmp esi, 0x5c
jne 0x450404
cmp word [edi + 2], 0x45
jne 0x450404
mov dword [ebp - 0x34], 0
add edi, 2
jmp 0x416330
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp + 0x28]
test eax, eax
je 0x450431
cmp dword [ebp + 0x2c], 0
jne 0x450427
sub edi, dword [ecx + 0x18]
sar edi, 1
sub di, word [eax + 4]
mov word [eax + 6], di
mov edi, dword [ebp - 4]
mov dword [ebp - 0x8c], 0
test edx, 0x4000
je 0x416207
mov eax, 0x76
mov dword [ebp - 0x8c], ebx
mov word [ebx], ax
mov edx, 0xff
lea eax, [ebx + 2]
mov word [eax], dx
sub edi, dword [ecx + 0x18]
xor ecx, ecx
sar edi, 1
mov word [eax + 2], di
mov word [eax + 4], cx
add eax, 6
mov edi, dword [ebp - 4]
mov dword [ebp - 8], eax
jmp 0x416207
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x20]
cmp esi, 0xff
ja 0x45049e
mov eax, dword [ecx + 0xc]
test byte [eax + esi], 1
je 0x45049b
add edi, 2
mov dword [ebp - 4], edi
movzx esi, word [edi]
cmp esi, 0xff
jbe 0x450484
mov eax, dword [ebp - 0x20]
cmp esi, 0x23
jne 0x450564
add edi, 2
mov dword [ebp - 4], edi
movzx edx, word [edi]
test dx, dx
je 0x4504f2
mov esi, dword [ecx + 0x7c]
test esi, esi
je 0x4504f7
mov ecx, dword [ecx + 0x1c]
cmp edi, ecx
jae 0x45055f
push eax
mov eax, dword [ebp + 0x28]
mov edx, esi
sub eax, 0xffffff80
push eax
push ecx
mov ecx, edi
call fcn.0041ecb2
mov ecx, dword [ebp + 0x28]
add esp, 0xc
test eax, eax
je 0x450527
mov eax, dword [ecx + 0x80]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 4], edi
movzx esi, word [edi]
jmp 0x450479
mov esi, dword [ecx + 0x80]
mov ecx, dword [ecx + 0x1c]
lea eax, [esi + esi]
sub ecx, eax
cmp edi, ecx
mov ecx, dword [ebp + 0x28]
ja 0x450527
cmp dx, word [ecx + 0x84]
jne 0x450527
cmp esi, 1
je 0x4504e3
mov ax, word [edi + 2]
cmp ax, word [ecx + 0x86]
je 0x4504e3
mov eax, dword [ebp - 0x20]
add edi, 2
mov dword [ebp - 4], edi
test eax, eax
je 0x450552
mov ax, word [edi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 0x20]
jne 0x450552
add edi, 2
mov dword [ebp - 4], edi
movzx edx, word [edi]
test dx, dx
je 0x4504f2
jmp 0x4504b5
mov ecx, dword [ebp + 0x28]
jmp 0x45052a
mov ecx, dword [ebp - 0x10]
jmp 0x416112
lea ecx, [edi + 2]
call fcn.0048d250
mov ecx, dword [ebp - 0x10]
test eax, eax
jne 0x4166f0
jmp 0x416136
cmp dword [ebp - 0x80], edx
jne 0x416144
mov eax, dword [ebp - 0xac]
dec dword [ebp - 0xac]
test eax, eax
jg 0x416144
cmp dword [ebp + 0x2c], edx
jne 0x4505bf
mov eax, dword [ebp + 0x28]
sub edi, dword [eax + 0x18]
mov eax, dword [ebp - 0x8c]
sar edi, 1
sub di, word [eax + 4]
mov word [eax + 6], di
mov edi, dword [ebp - 4]
mov dword [ebp - 0x8c], edx
jmp 0x416144
test edx, edx
jne 0x416152
cmp dword [ebp - 0x80], edx
jne 0x416152
mov eax, 0x76
mov dword [ebp - 0x8c], ebx
mov word [ebx], ax
lea eax, [ebx + 2]
mov ebx, 0xff
mov word [eax], bx
mov ebx, dword [ebp + 0x28]
sub edi, dword [ebx + 0x18]
lea ebx, [eax + 6]
sar edi, 1
mov word [eax + 2], di
xor edi, edi
mov word [eax + 4], di
mov edi, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 8], ebx
jmp 0x416152
mov edx, dword [ebp - 0xc]
fstp st(0)
mov dword [ebp - 0x18], 0
test dl, 2
je 0x45064b
cmp dword [ebp - 0x2c], 0xfffffffe
jne 0x450635
mov dword [ebp - 0x2c], 0xffffffff
mov eax, 0x1c
mov word [ebx], ax
add ebx, 2
mov edi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x416330
mov eax, 0x1b
mov word [ebx], ax
add ebx, 2
mov edi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x416330
mov edx, dword [ebp - 0xc]
mov eax, 0
test dl, 2
mov dword [ebp - 0x18], 0
fstp st(0)
setne al
add eax, 0x19
mov word [ebx], ax
add ebx, 2
mov edi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x416330
mov eax, dword [ebp + 0x28]
fstp st(0)
test dword [eax + 0x60], 0x2000000
je 0x416207
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x40
jmp 0x452f6d
lea eax, [edi + 0xe]
mov edi, str._b__w_
mov dword [ebp - 0x80], eax
sub edi, 2
jmp 0x4166df
lea eax, [edi + 0xe]
mov edi, str._b___w_
mov dword [ebp - 0x80], eax
jmp 0x4506b7
lea edx, [ebp - 0x84]
mov ecx, edi
call fcn.0048cc55
test eax, eax
je 0x41650e
mov ecx, dword [ebp + 0xc]
xor eax, eax
cmp word [edi + 2], 0x3a
setne al
dec eax
and eax, 0xffffffee
add eax, 0x1f
mov dword [ecx], eax
jmp 0x452f6d
mov eax, dword [ebp + 0x28]
test dword [eax + 0x60], 0x2000000
je 0x41653b
mov eax, dword [ebp - 8]
neg ecx
sbb ecx, ecx
and ecx, 0xffffff70
add ecx, 0x9d
mov word [eax], cx
add eax, 2
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x2c]
cmp eax, 0xfffffffe
jne 0x450736
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x7c], eax
jmp 0x416f07
movzx ebx, word [edi]
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x416598
movzx eax, word [edi + 2]
add edi, 2
and ebx, 0x3ff
mov dword [ebp - 4], edi
and eax, 0x3ff
shl ebx, 0xa
or ebx, eax
add ebx, 0x10000
jmp 0x416598
sub esi, edx
mov dword [ebp - 0x64], 1
sar esi, 1
add dword [ecx], esi
mov esi, edx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x60], esi
jmp 0x4165a7
cmp ebx, 0x5c
jne 0x4165c3
cmp word [edi + 2], 0x45
jne 0x4165c3
mov ecx, dword [ebp - 0x24]
add edi, 2
mov dword [ebp - 0x34], 0
xor eax, eax
jmp 0x416639
movzx esi, word [edi + 2]
cmp esi, 0x3a
je 0x4507da
cmp esi, 0x2e
je 0x4507da
cmp esi, 0x3d
jne 0x4165c3
lea edx, [ebp - 0x84]
mov ecx, edi
call fcn.0048cc55
test eax, eax
je 0x4165c3
xor eax, eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x28]
mov ebx, dword [eax + 8]
cmp esi, 0x3a
jne 0x452da0
add edi, 4
mov dword [ebp - 4], edi
cmp word [edi], 0x5e
jne 0x450822
mov esi, 1
add edi, 2
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], edi
jmp 0x450825
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x84]
mov ecx, edi
sub edx, edi
sar edx, 1
call fcn.0048cc08
mov ecx, eax
test ecx, ecx
js 0x452d92
mov edx, dword [ebp - 0xc]
test dl, 1
je 0x450853
xor eax, eax
cmp ecx, 2
setle al
dec eax
and ecx, eax
test edx, 0x20000000
je 0x4508da
mov eax, esi
neg eax
sbb eax, eax
and eax, 0xe
add eax, ecx
mov edi, dword [eax*4 + 0x4b7290]
test edi, edi
je 0x45088b
mov eax, dword [ebp - 0x84]
mov esi, dword [ebp - 0x28]
add eax, 2
mov ecx, dword [ebp - 0x24]
add edi, 0xfffffffe
mov dword [ebp - 0x80], eax
jmp 0x416633
mov eax, ecx
sub eax, 8
je 0x4508a4
dec eax
je 0x45089d
dec eax
jne 0x4508da
lea ecx, [eax + 0xd]
jmp 0x4508a9
mov ecx, 0xc
jmp 0x4508a9
mov ecx, 0xb
mov edi, dword [ebp - 0x84]
xor eax, eax
test esi, esi
mov esi, dword [ebp - 0x28]
setne al
add eax, 3
mov word [esi], ax
xor eax, eax
mov word [esi + 2], cx
mov ecx, dword [ebp - 0x24]
mov word [esi + 4], ax
add esi, 6
mov dword [ebp - 0x60], esi
add edi, 2
jmp 0x416630
lea esi, [ecx + ecx*2]
mov eax, dword [esi*4 + 0x4b71e0]
add eax, ebx
push 0x20
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.0041fdb0
mov eax, dword [esi*4 + 0x4b71e4]
add esp, 0xc
mov edx, dword [esi*4 + 0x4b71e8]
test eax, eax
js 0x450937
xor ecx, ecx
lea esi, [eax + ebx]
test edx, edx
js 0x450925
mov al, byte [esi + ecx]
or byte [ebp + ecx - 0x13c], al
inc ecx
cmp ecx, 0x20
jb 0x450913
jmp 0x450937
mov al, byte [esi + ecx]
not al
and byte [ebp + ecx - 0x13c], al
inc ecx
cmp ecx, 0x20
jb 0x450925
test edx, edx
jns 0x45093d
neg edx
cmp edx, 1
jne 0x45094b
and byte [ebp - 0x13b], 0xc3
jmp 0x450957
cmp edx, 2
jne 0x450957
and byte [ebp - 0x131], 0x7f
mov eax, dword [ebp - 0x30]
xor ecx, ecx
test eax, eax
je 0x450978
mov al, byte [ebp + ecx - 0x13c]
not al
or byte [ebp + ecx - 0xdc], al
inc ecx
cmp ecx, 0x20
jb 0x450960
jmp 0x45098c
mov al, byte [ebp + ecx - 0x13c]
or byte [ebp + ecx - 0xdc], al
inc ecx
cmp ecx, 0x20
jb 0x450978
mov edi, dword [ebp - 0x84]
mov ecx, 1
mov esi, dword [ebp - 0x28]
add edi, 2
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], 2
jmp 0x416633
cmp esi, 5
jne 0x4509b9
lea ebx, [esi + 3]
jmp 0x416ea1
cmp esi, 0xc
je 0x452dbc
cmp esi, 0x1a
jne 0x4509f9
mov edi, dword [ebp - 4]
cmp word [edi + 2], 0x5c
jne 0x4509e6
cmp word [edi + 4], 0x45
jne 0x4509e6
mov esi, dword [ebp - 0x28]
add edi, 4
mov ecx, dword [ebp - 0x24]
jmp 0x416633
mov esi, dword [ebp - 0x28]
mov eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
jmp 0x416636
mov ecx, dword [ebp - 0x24]
cmp esi, 0x19
je 0x450c49
add dword [ebp - 0x14], 2
lea eax, [esi - 6]
mov edx, dword [edi + 8]
inc ecx
mov dword [ebp - 0x24], ecx
cmp eax, 0x1c
ja case.0x450a23.12
movzx eax, byte [eax + 0x452faf]
jmp dword [eax*4 + 0x452f7b]
mov edi, dword [esi*4 + 0x4b6fbc]
mov eax, dword [ebp - 4]
sub edi, 2
mov esi, dword [ebp - 0x28]
dec ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x24], ecx
jmp 0x416633
xor ecx, ecx
mov al, byte [edx + ecx + 0x40]
or byte [ebp + ecx - 0xdc], al
inc ecx
cmp ecx, 0x20
jb 0x450a48
mov edi, dword [ebp - 4]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
jmp 0x416633
mov dword [ebp - 0x10], 1
xor ecx, ecx
mov al, byte [edx + ecx + 0x40]
not al
or byte [ebp + ecx - 0xdc], al
inc ecx
cmp ecx, 0x20
jb 0x450a70
mov edi, dword [ebp - 4]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
jmp 0x416633
xor ecx, ecx
mov al, byte [edx + ecx + 0xa0]
or byte [ebp + ecx - 0xdc], al
inc ecx
cmp ecx, 0x20
jb 0x450a93
mov edi, dword [ebp - 4]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
jmp 0x416633
mov dword [ebp - 0x10], 1
xor ecx, ecx
mov al, byte [edx + ecx + 0xa0]
not al
or byte [ebp + ecx - 0xdc], al
inc ecx
cmp ecx, 0x20
jb 0x450abe
mov edi, dword [ebp - 4]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
jmp 0x416633
lea eax, [ebp - 0xdc]
xor esi, esi
sub edx, eax
lea ecx, [ebp - 0xdc]
add ecx, esi
inc esi
mov al, byte [ecx + edx]
or byte [ecx], al
cmp esi, 0x20
jb 0x450aec
mov edi, dword [ebp - 4]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
jmp 0x416633
lea eax, [ebp - 0xdc]
mov dword [ebp - 0x10], 1
xor esi, esi
sub edx, eax
lea ecx, [ebp - 0xdc]
add ecx, esi
inc esi
mov al, byte [ecx + edx]
not al
or byte [ecx], al
cmp esi, 0x20
jb 0x450b1e
mov edi, dword [ebp - 4]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
jmp 0x416633
push 0xffffffffffffffff
push 0x4b7830
jmp 0x450b51
push 0xffffffffffffffff
push str._n_v_f_r
push edi
push ebx
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0xdc]
call fcn.0048c8bf
add esp, 0x10
jmp 0x450b7e
push str._n_v_f_r
push edi
push ebx
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0xdc]
call fcn.0048c9c1
add esp, 0xc
mov ecx, dword [ebp - 0x24]
jmp 0x41662a
push 0x4b7830
push edi
push ebx
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0xdc]
call fcn.0048c9c1
mov ecx, dword [ebp - 0x24]
add esp, 0xc
jmp 0x41662a
push dword [ebp + 0xc]
lea eax, [ebp - 0xf8]
mov dword [ebp - 0xec], 0
push eax
lea eax, [ebp - 0xec]
mov dword [ebp - 0xf8], 0
push eax
lea edx, [ebp - 0x110]
lea ecx, [ebp - 4]
call fcn.0048d132
add esp, 0xc
test eax, eax
je 0x416f70
xor eax, eax
cmp esi, 0x10
mov esi, dword [ebp - 0x28]
sete al
xor ecx, ecx
cmp eax, dword [ebp - 0x110]
movzx eax, word [ebp - 0xec]
sete cl
add ecx, 3
mov word [esi], cx
mov ecx, dword [ebp - 0x24]
mov word [esi + 2], ax
movzx eax, word [ebp - 0xf8]
mov word [esi + 4], ax
add esi, 6
dec ecx
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x24], ecx
jmp 0x41662d
mov edi, dword [ebp - 4]
test bl, 0x40
jne 0x452dae
mov edx, dword [ebp - 0x14]
dec ecx
movzx ebx, word [edi]
sub edx, 2
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], edx
jmp 0x4165c6
mov edi, dword [ebp - 4]
mov esi, dword [ebp - 0x28]
jmp 0x416633
cmp word [edi + 4], 0x45
jne 0x450c6a
add edi, 4
xor esi, esi
mov dword [ebp - 4], edi
cmp word [edi + 2], 0x5c
je 0x450c54
mov dword [ebp - 0x34], esi
jmp 0x4165d4
mov eax, dword [ebp + 0x28]
or dword [eax + 0x64], 0x800
jmp 0x4165e8
cmp word [edi + 2], 0x45
jne 0x450c99
add edi, 4
mov dword [ebp - 4], edi
cmp word [edi], 0x5c
je 0x450c81
jmp 0x416c6b
cmp word [edi], 0x5c
jne 0x416c6b
cmp word [edi + 2], 0x51
jne 0x416c6b
add edi, 4
mov dword [ebp - 4], edi
cmp word [edi], 0x5c
jne 0x450cd2
cmp word [edi + 2], 0x45
jne 0x450cd2
add edi, 4
mov dword [ebp - 4], edi
cmp word [edi], 0x5c
je 0x450ca3
jmp 0x416c6b
mov esi, 1
mov dword [ebp - 0x34], esi
jmp 0x416c6b
movzx eax, word [edi + 2]
add edi, 2
and esi, 0x3ff
mov dword [ebp - 4], edi
and eax, 0x3ff
shl esi, 0xa
or esi, eax
add esi, 0x10000
mov dword [ebp - 0x9c], esi
jmp 0x416ca2
mov eax, dword [ebp + 0x28]
lea edx, [ebp - 0x9c]
push 1
push dword [ebp - 0xc]
lea ecx, [ebp - 4]
push dword [eax + 0x40]
push dword [ebp + 0xc]
call fcn.00417555
mov ecx, dword [ebp + 0xc]
add esp, 0x10
cmp dword [ecx], 0
jne 0x416f70
mov edi, dword [ebp - 4]
test eax, eax
je 0x450d58
cmp eax, 5
jne 0x452dc7
mov edx, dword [ebp - 0x14]
mov esi, 8
mov dword [ebp - 0x9c], esi
jmp 0x416cbd
mov esi, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x14]
jmp 0x416cbd
movzx eax, word [edi + 2]
cmp eax, 0x3a
je 0x450d7d
cmp eax, 0x2e
je 0x450d7d
cmp eax, 0x3d
jne 0x416cba
lea edx, [ebp - 0x84]
mov ecx, edi
call fcn.0048cc55
test eax, eax
jne 0x452dd2
mov edx, dword [ebp - 0x14]
jmp 0x416cba
mov eax, dword [ebp + 0x28]
or dword [eax + 0x64], 0x800
jmp 0x416ce7
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x450dc8
lea edi, [ebx + 2]
mov dword [ebp - 0x80], 0
mov dword [ebp - 4], edi
movzx ebx, word [edi]
test ebx, ebx
jne 0x41664a
mov eax, dword [ebp + 0xc]
mov dword [eax], 6
jmp 0x452f6d
mov eax, dword [ebp - 0x70]
add edi, 2
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x24], eax
test edi, edi
je 0x416c2e
mov eax, dword [ebp - 0x2c]
cmp eax, 0xfffffffe
jne 0x450e01
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x88], ecx
test esi, esi
je 0x450e72
test al, 1
je 0x450e74
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b16d0]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x450e3e
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f43]
test eax, eax
je 0x450e6f
mov ecx, dword [ebp - 8]
mov dword [ecx], 0x9000f
mov word [ecx + 4], ax
add ecx, 6
mov edi, dword [ebp - 4]
mov dword [ebp - 8], ecx
jmp 0x4166df
mov eax, dword [ebp - 0xc]
test al, 1
mov edx, dword [ebp - 8]
mov eax, 0
setne al
add eax, 0x1f
mov word [edx], ax
add edx, 2
test esi, esi
je 0x450ea9
cmp ebx, 0xffff
jbe 0x450ea9
mov ecx, ebx
call fcn.0048dade
mov edi, dword [ebp - 4]
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
jmp 0x4166df
mov word [edx], bx
add edx, 2
mov edi, dword [ebp - 4]
mov dword [ebp - 8], edx
jmp 0x4166df
cmp dword [ebp - 0x20], 0
je 0x416c3a
lea edx, [ebp - 0x10c]
mov ecx, ebx
call fcn.0048dade
mov bx, word [ebp - 0x10c]
mov esi, eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x14], esi
jmp 0x416238
test eax, eax
je 0x450ef6
test dword [ebp - 0xc], 0x20000000
je 0x416697
mov edx, dword [ebp - 8]
xor eax, eax
mov edi, dword [ebp - 0x44]
mov word [esi], ax
mov eax, 0x70
add esi, 2
mov word [edx], ax
xor eax, eax
test edi, edi
mov dword [ebp - 0x60], esi
setne al
mov word [edx + 4], ax
test ecx, ecx
jle 0x450f5c
or eax, 2
mov word [edx + 4], ax
add edx, 6
mov eax, esi
mov dword [ebp - 8], edx
sub eax, edx
and eax, 0xfffffffe
push eax
push edx
lea eax, [edx + 0x20]
push eax
call fcn.00426d50
add esp, 0xc
lea eax, [ebp - 0xdc]
push 0x20
push eax
push dword [ebp - 8]
call fcn.0041fdb0
lea eax, [esi + 0x20]
add esp, 0xc
mov dword [ebp - 8], eax
jmp 0x450f61
mov eax, esi
mov dword [ebp - 8], esi
mov ecx, dword [ebp - 0x18]
sub eax, ecx
sar eax, 1
mov word [ecx + 2], ax
mov edi, dword [ebp - 4]
jmp 0x4166df
not byte [ebp + ecx - 0xdc]
inc ecx
cmp ecx, 0x20
jb 0x450f74
jmp 0x4166c1
test edx, edx
je case.0x416184.37
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x4c]
push ebx
push eax
lea ecx, [edi + 2]
lea edx, [ebp - 0x58]
call fcn.0048d2c2
add esp, 8
mov edi, eax
cmp dword [ebx], 0
mov dword [ebp - 4], edi
jne 0x452f6b
mov edx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x10]
jmp 0x416848
mov edx, 1
or ebx, 0xffffffff
jmp 0x416842
mov dword [ebp - 0x6c], 0
jmp 0x416881
mov ecx, dword [ebp + 0x28]
add edi, 2
movzx eax, word [edi]
mov edx, 0xff
cmp ax, dx
ja 0x45100c
mov ecx, dword [ecx + 0xc]
movzx eax, ax
test byte [eax + ecx], 1
je 0x451009
movzx eax, word [edi + 2]
add edi, 2
mov edx, 0xff
cmp ax, dx
jbe 0x450fef
mov ecx, dword [ebp + 0x28]
cmp word [edi], 0x23
jne 0x4510c9
movzx edx, word [edi + 2]
add edi, 2
test dx, dx
je 0x450fdf
mov eax, dword [ebp - 0x20]
mov esi, dword [ecx + 0x7c]
test esi, esi
je 0x45105e
mov ecx, dword [ecx + 0x1c]
cmp edi, ecx
jae 0x4510c4
push eax
mov eax, dword [ebp + 0x28]
mov edx, esi
sub eax, 0xffffff80
push eax
push ecx
mov ecx, edi
call fcn.0041ecb2
mov ecx, dword [ebp + 0x28]
add esp, 0xc
test eax, eax
je 0x45108e
mov eax, dword [ecx + 0x80]
lea edi, [edi + eax*2]
jmp 0x450fdf
mov esi, dword [ecx + 0x80]
mov ecx, dword [ecx + 0x1c]
lea eax, [esi + esi]
sub ecx, eax
cmp edi, ecx
mov ecx, dword [ebp + 0x28]
ja 0x45108e
cmp dx, word [ecx + 0x84]
jne 0x45108e
cmp esi, 1
je 0x451053
mov ax, word [edi + 2]
cmp ax, word [ecx + 0x86]
je 0x451053
mov eax, dword [ebp - 0x20]
add edi, 2
test eax, eax
je 0x4510b3
mov ax, word [edi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 0x20]
jne 0x4510b3
add edi, 2
movzx edx, word [edi]
test dx, dx
je 0x450fdf
jmp 0x451025
mov ecx, dword [ebp + 0x28]
jmp 0x451091
mov edx, dword [ebp - 0x58]
add edi, 0xfffffffe
mov esi, dword [ebp - 0x18]
mov dword [ebp - 4], edi
jmp 0x416893
xor eax, eax
mov dword [ebp - 0x30], 1
add edi, 2
mov dword [ebp - 4], edi
jmp 0x4168b5
push 4
lea eax, [esi + 4]
fstp st(0)
push esi
push eax
call fcn.00426d50
mov dword [esi], 0x40081
add esp, 0xc
mov dword [esi + 8], 0x40078
mov esi, dword [ebp - 8]
add esi, 8
mov dword [ebp - 0x90], 6
cmp dword [ebp + 0x2c], 0
mov dword [ebp - 8], esi
jne 0x45114f
mov edi, dword [ebp + 0x28]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x20]
add eax, 2
cmp ecx, eax
jb 0x45114f
mov eax, dword [ebp - 0x18]
sub eax, dword [edi + 0x14]
movzx edx, word [ecx - 2]
add eax, 2
sar eax, 1
cmp edx, eax
jne 0x45114f
lea eax, [edx + 2]
mov word [ecx - 2], ax
mov edi, dword [ebp - 4]
fld qword [0x4b8d00]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x58]
jmp 0x4168c5
mov esi, 0x91
cmp word [eax + 4], si
mov esi, dword [ebp - 0x44]
jne 0x416d61
fstp st(0)
jmp 0x416995
test eax, eax
jg 0x451175
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
js 0x451190
cmp ecx, 1
jle 0x416d75
mov ecx, 1
mov dword [ebp - 0x4c], ecx
jmp 0x416d75
mov eax, dword [ebp - 0x18]
mov ecx, 0xa1
mov word [eax], cx
mov edi, dword [ebp - 4]
jmp 0x416995
mov ebx, dword [ebp - 8]
mov edx, 3
mov edi, dword [ebp - 0x18]
mov ecx, edi
mov word [ebx], ax
call fcn.00417c6d
add esp, 0xc
lea eax, [esi + esi]
push eax
lea eax, [edi + 6]
push edi
push eax
call fcn.00426d50
mov ecx, dword [ebp - 0x14]
add ebx, 6
mov dword [ebp - 8], ebx
add esp, 0xc
lea eax, [ecx + 0x92]
mov word [edi], ax
mov eax, 0x83
mov word [edi + 2], ax
add edi, 4
xor eax, eax
mov dword [ebp - 0x10], edi
mov ebx, edi
mov edx, eax
mov word [edi], ax
add edi, 2
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x4c]
jmp 0x416de5
cmp eax, 1
jle 0x451385
cmp dword [ebp + 0x2c], edx
je 0x451277
lea ecx, [eax - 1]
mov dword [ebp - 0x3c], ecx
fild dword [ebp - 0x3c]
imul ecx, dword [ebp - 0x90]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fild dword [ebp - 0x90]
fstp qword [ebp - 0x40]
fmul qword [ebp - 0x40]
fcompp
fnstsw ax
test ah, 0x41
je 0x452deb
mov edi, dword [ebp + 0x2c]
mov eax, 0x7fffffeb
mov edx, dword [edi]
sub eax, edx
cmp eax, ecx
jl 0x452deb
lea eax, [edx + ecx]
mov ecx, dword [ebp - 0x4c]
mov dword [edi], eax
mov edx, ebx
mov edi, dword [ebp - 4]
mov eax, dword [ebp - 0x58]
jmp 0x451387
fstp st(0)
cmp dword [ebp - 0xa0], edx
je 0x451292
cmp dword [ebp - 0x5c], edx
jge 0x451292
mov ebx, dword [ebp - 0x74]
mov dword [ebp - 0x70], ebx
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x5c], ebx
mov ebx, 1
mov dword [ebp - 0x64], ebx
cmp eax, ebx
jle 0x451381
mov ecx, dword [ebp + 0x28]
lea edi, [esi + esi]
mov dword [ebp - 0x3c], edi
mov esi, dword [ecx + 0x20]
push edi
push dword [ebp - 0x18]
push dword [ebp - 8]
call fcn.0041fdb0
mov eax, dword [ebp + 0x28]
mov ecx, esi
sub ecx, dword [ebp - 0x48]
add esp, 0xc
sar ecx, 1
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x3c]
sub eax, ecx
mov ecx, dword [ebp + 0x28]
add eax, 0xffffff9c
lea eax, [edx + eax*2]
cmp dword [ecx + 0x20], eax
jbe 0x451329
mov eax, dword [ebp - 0x48]
sub esi, edx
sub eax, edx
sar esi, 1
sar eax, 1
mov dword [ebp - 0x48], eax
call fcn.0048cd0e
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
test eax, eax
jne 0x416f70
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp - 0x48]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x3c]
lea ecx, [edx + ecx*2]
mov dword [ebp - 0x48], ecx
lea esi, [edx + esi*2]
mov ecx, esi
sub ecx, dword [ebp - 0x48]
sar ecx, 1
sub eax, ecx
mov ecx, dword [ebp + 0x28]
add eax, 0xffffff9c
lea eax, [edx + eax*2]
cmp dword [ecx + 0x20], eax
ja 0x4512dd
cmp dword [ebp - 0x48], esi
jae 0x451356
mov edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x48]
mov edi, dword [ebp + 0x28]
mov cx, word [ebx]
add ebx, 2
add cx, dx
mov eax, dword [edi + 0x20]
mov word [eax], cx
mov ecx, edi
add dword [ecx + 0x20], 2
cmp ebx, esi
jb 0x451334
mov ebx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
inc ebx
mov dword [ebp - 0x48], esi
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x64], ebx
lea eax, [eax + esi*2]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x58]
cmp ebx, eax
jl 0x4512ab
mov edx, dword [ebp - 0x1c]
mov ebx, edx
mov edi, dword [ebp - 4]
mov ecx, dword [ebp - 0x4c]
jmp 0x451387
mov ebx, edx
jmp 0x451387
fstp st(0)
test ecx, ecx
jle 0x451390
sub ecx, eax
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x14]
jmp 0x416dec
mov ecx, dword [ebp - 0x90]
add ecx, 5
mov dword [ebp - 0x3c], ecx
fild dword [ebp - 0x3c]
imul ecx, dword [ebp - 0x4c]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fild dword [ebp - 0x4c]
sub ecx, 4
fstp qword [ebp - 0x40]
fmul qword [ebp - 0x40]
fcomp qword [0x4b8d00]
fnstsw ax
test ah, 0x41
je 0x452deb
mov edx, dword [edx]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x452deb
mov edi, dword [ebp - 4]
lea eax, [edx + ecx]
mov ecx, dword [ebp + 0x2c]
mov dword [ecx], eax
jmp 0x416e14
lea edi, [ecx + 0x92]
lea ecx, [esi + esi]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x28]
mov esi, dword [eax + 0x20]
mov word [edx], di
add edx, 2
mov dword [ebp - 8], edx
test ebx, ebx
je 0x451443
mov eax, 0x83
mov word [edx], ax
add edx, 2
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x10]
test edx, edx
jne 0x45142d
xor eax, eax
jmp 0x451434
mov eax, dword [ebp - 8]
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 8]
mov dword [ebp - 0x10], edx
mov word [edx], ax
add edx, 2
mov dword [ebp - 8], edx
push ecx
push dword [ebp - 0x18]
push edx
call fcn.0041fdb0
mov eax, dword [ebp + 0x28]
mov ecx, esi
sub ecx, dword [ebp - 0x48]
add esp, 0xc
sar ecx, 1
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x3c]
sub eax, ecx
mov ecx, dword [ebp + 0x28]
add eax, 0xffffff9c
lea eax, [edx + eax*2]
cmp dword [ecx + 0x20], eax
jbe 0x4514bc
mov eax, dword [ebp - 0x48]
sub esi, edx
sub eax, edx
sar esi, 1
sar eax, 1
mov dword [ebp - 0x48], eax
call fcn.0048cd0e
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
test eax, eax
jne 0x416f70
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp - 0x48]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x3c]
lea ecx, [edx + ecx*2]
mov dword [ebp - 0x48], ecx
lea esi, [edx + esi*2]
mov ecx, esi
sub ecx, dword [ebp - 0x48]
sar ecx, 1
sub eax, ecx
mov ecx, dword [ebp + 0x28]
add eax, 0xffffff9c
lea eax, [edx + eax*2]
cmp dword [ecx + 0x20], eax
ja 0x451470
mov ecx, dword [ebp - 0x48]
cmp ecx, esi
jae 0x4514fa
mov edx, dword [ebp - 0x44]
mov edi, dword [ebp + 0x28]
mov cx, word [ecx]
xor eax, eax
test ebx, ebx
setne al
add cx, dx
lea eax, [eax*2 + 1]
add cx, ax
mov eax, dword [edi + 0x20]
mov word [eax], cx
mov ecx, dword [ebp - 0x48]
add dword [edi + 0x20], 2
add ecx, 2
mov dword [ebp - 0x48], ecx
cmp ecx, esi
jb 0x4514c9
mov edi, dword [ebp - 0x3c]
dec ebx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x48], esi
mov esi, dword [ebp - 8]
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
jns 0x4513fe
mov edi, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
jmp 0x416e17
mov ecx, esi
mov edx, esi
sub ecx, ebx
sar ecx, 1
inc ecx
lea eax, [ecx + ecx]
sub edx, eax
movzx eax, word [edx + 2]
test eax, eax
jne 0x451538
xor ebx, ebx
jmp 0x45153d
neg eax
lea ebx, [ebx + eax*2]
mov eax, 0x78
mov word [esi], ax
mov word [esi + 2], cx
add esi, 4
mov word [edx + 2], cx
test ebx, ebx
jne 0x45151e
mov dword [ebp - 8], esi
jmp 0x416988
mov esi, dword [ebp - 8]
movzx eax, word [esi - 2]
lea ebx, [esi - 4]
add eax, eax
mov dword [ebp - 0x3c], 0x81
mov edi, ebx
sub edi, eax
movzx eax, word [edi]
cmp ax, word [ebp - 0x3c]
je 0x451589
mov dword [ebp - 0x3c], 0x82
cmp ax, word [ebp - 0x3c]
jne 0x451599
cmp dword [ebp - 0x30], 0
je 0x451599
mov eax, 0x83
mov word [edi], ax
jmp 0x4515bb
mov dword [ebp - 0x3c], 0x81
cmp ax, word [ebp - 0x3c]
je 0x4516ad
mov dword [ebp - 0x3c], 0x82
cmp ax, word [ebp - 0x3c]
je 0x4516ad
cmp dword [ebp + 0x2c], 0
jne 0x4515f8
mov esi, edi
push 0
push dword [ebp + 0x28]
mov edx, ebx
mov ecx, esi
push dword [ebp - 0x20]
call fcn.004170a8
add esp, 0xc
test eax, eax
jne 0x4515eb
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x77
lea esi, [esi + eax*2]
je 0x4515c3
jmp 0x4515ef
add word [edi], 5
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x30], 0
je 0x45169f
movzx eax, word [edi]
mov ecx, 0x87
cmp ax, cx
je 0x451627
mov ecx, 0x8c
cmp ax, cx
je 0x451627
inc eax
mov word [edi], ax
mov eax, 0x7b
mov word [ebx], ax
jmp 0x451681
push dword [ebp - 0x48]
mov ebx, dword [ebp - 8]
xor eax, eax
push dword [ebp + 0x28]
sub esi, edi
mov ecx, edi
push dword [ebp - 0x20]
lea edx, [eax + 2]
sar esi, 1
mov word [ebx], ax
call fcn.00417c6d
add esp, 0xc
lea eax, [esi + esi]
push eax
lea eax, [edi + 4]
push edi
push eax
call fcn.00426d50
mov edx, dword [ebp - 0x1c]
mov eax, 0x84
mov word [edi], ax
add esi, 2
mov eax, 0x7b
add esp, 0xc
mov word [ebx + 4], ax
mov word [ebx + 6], si
add ebx, 8
mov word [edi + 2], si
mov esi, ebx
mov dword [ebp - 8], ebx
test edx, edx
je 0x45168d
mov eax, 0x94
mov word [edx], ax
cmp dword [ebp - 0x58], 2
mov edi, dword [ebp - 4]
jge 0x41698b
jmp 0x416995
lea eax, [ecx + 0x79]
mov word [ebx], ax
mov edi, dword [ebp - 4]
jmp 0x416995
lea eax, [ecx + 0x79]
mov word [ebx], ax
jmp 0x416988
mov eax, 0x9d
fstp st(0)
cmp cx, ax
je 0x416995
mov eax, dword [ebp + 0xc]
mov dword [eax], 0xb
jmp 0x452f6d
mov eax, dword [ebp - 0x18]
mov dword [ebp - 8], eax
jmp 0x416995
cmp edx, 1
jne 0x4516fc
cmp ebx, 0xffffffff
jne 0x4516fc
add eax, 0x64
mov word [esi], ax
add esi, 2
mov dword [ebp - 8], esi
jmp 0x416988
add eax, 0x68
mov word [esi], ax
lea eax, [ebx + 1]
neg eax
mov word [esi + 2], dx
sbb eax, eax
and eax, ebx
mov word [esi + 4], ax
add esi, 6
mov dword [ebp - 0x4c], eax
mov dword [ebp - 8], esi
jmp 0x416988
mov eax, ecx
fstp st(0)
sub eax, 0x1e
je 0x451742
dec eax
je 0x45173b
dec eax
je 0x451734
xor esi, esi
jmp 0x451747
mov esi, 0x27
jmp 0x451747
mov esi, 0x1a
jmp 0x451747
mov esi, 0xd
cmp dword [ebp - 0x20], 0
mov ebx, dword [ebp - 8]
je 0x4517b0
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov dword [ebp - 0x3c], 0xfc00
and ax, word [ebp - 0x3c]
mov dword [ebp - 0x3c], 0xdc00
cmp ax, word [ebp - 0x3c]
jne 0x4517ad
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x451787
sub edx, 2
sub ebx, edx
sar ebx, 1
lea eax, [ebx + ebx]
push eax
push edx
lea eax, [ebp - 0x148]
push eax
call fcn.0041fdb0
mov edi, dword [ebp - 4]
add esp, 0xc
or ebx, 0x10000000
jmp 0x416901
mov edx, dword [ebp - 0x58]
movzx ebx, word [ebx - 2]
cmp ecx, 0x1e
ja 0x416901
cmp edx, 1
jle 0x416901
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x70], ebx
mov eax, dword [eax + 0x68]
or eax, dword [ebp - 0x94]
mov dword [ebp - 0x5c], eax
jmp 0x416901
movzx eax, word [ecx + 4]
movzx edx, word [ecx + 2]
mov dword [ebp - 0x1c], eax
jmp 0x416923
cmp ecx, 1
jne 0x4517fa
add eax, 0x25
jmp 0x416956
mov esi, dword [ebp - 0x18]
add eax, 0x27
lea edi, [esi + 2]
mov word [esi], ax
mov word [edi], cx
add edi, 2
jmp 0x41695f
cmp dword [ebp - 0x58], 1
jne 0x45184a
mov esi, dword [ebp - 0x4c]
cmp esi, 0xffffffff
jne 0x451827
add eax, 0x23
jmp 0x416956
mov dword [ebp - 8], ecx
cmp esi, 1
je 0x416995
add eax, 0x27
lea edi, [ecx + 2]
mov word [ecx], ax
lea eax, [esi - 1]
mov word [edi], ax
add edi, 2
jmp 0x41695f
mov ecx, dword [ebp - 0x18]
lea eax, [esi + 0x29]
lea edi, [ecx + 2]
mov word [ecx], ax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x4c]
mov word [edi], ax
add edi, 2
test ecx, ecx
jns 0x4518c0
cmp dword [ebp - 0x20], 0
je 0x4518a7
test ebx, 0x10000000
je 0x4518a7
mov esi, ebx
and esi, 7
lea eax, [esi + esi]
push eax
lea eax, [ebp - 0x148]
push eax
push edi
call fcn.0041fdb0
mov edx, dword [ebp - 0x10]
lea edi, [edi + esi*2]
add esp, 0xc
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
add eax, 0x21
mov word [edi], ax
add edi, 2
jmp 0x416962
mov word [edi], bx
add edi, 2
test edx, edx
js 0x451893
mov esi, dword [ebp - 0x1c]
mov word [edi], dx
mov word [edi + 2], si
add edi, 4
jmp 0x451896
cmp ecx, eax
je 0x41695f
cmp dword [ebp - 0x20], 0
je 0x4518fd
test ebx, 0x10000000
je 0x4518fd
mov esi, ebx
and esi, 7
lea eax, [esi + esi]
push eax
lea eax, [ebp - 0x148]
push eax
push edi
call fcn.0041fdb0
mov edx, dword [ebp - 0x10]
lea edi, [edi + esi*2]
mov eax, dword [ebp - 0x58]
add esp, 0xc
mov ecx, dword [ebp - 0x4c]
jmp 0x451903
mov word [edi], bx
add edi, 2
mov esi, dword [ebp - 0x1c]
test edx, edx
js 0x451914
mov word [edi], dx
mov word [edi + 2], si
add edi, 4
sub ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x4c], ecx
cmp ecx, 1
jne 0x45192f
add eax, 0x25
mov word [edi], ax
add edi, 2
jmp 0x416962
add eax, 0x27
mov word [edi], ax
mov word [edi + 2], cx
add edi, 4
jmp 0x416962
and ebx, 7
lea eax, [ebx + ebx]
push eax
lea eax, [ebp - 0x148]
push eax
push edi
call fcn.0041fdb0
mov edx, dword [ebp - 0x10]
lea edi, [edi + ebx*2]
add esp, 0xc
jmp 0x41697a
mov word [edi], dx
mov word [edi + 2], si
add edi, 4
mov dword [ebp - 8], edi
jmp 0x416985
mov eax, dword [ebp - 0x54]
movzx ecx, word [eax]
lea eax, [ecx - 0x1d]
cmp eax, 0x53
ja case.0x45198a.33
movzx eax, byte [eax + 0x452fe3]
jmp dword [eax*4 + 0x452fcf]
mov eax, dword [ebp - 0x54]
movzx eax, word [eax + 4]
cmp eax, 0x10
je 0x4519a6
cmp eax, 0xf
je 0x4519a6
xor eax, eax
jmp 0x4519ab
mov eax, 2
movzx ecx, byte [ecx + 0x4a4ad0]
add ecx, eax
jmp 0x4519f6
movzx eax, byte [ecx + 0x4a4ad0]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x20]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x54], ecx
test edx, edx
je 0x451a02
mov ax, word [ecx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xd800
cmp ax, cx
jne 0x451a02
add dword [ebp - 0x54], 2
jmp 0x451a02
add dword [ebp - 0x54], 0x22
jmp case.0x45198a.33
mov ecx, dword [ebp - 0x54]
movzx ecx, word [ecx + 2]
mov eax, dword [ebp - 0x54]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x54]
sub esi, ecx
sar esi, 1
test esi, esi
jle 0x416995
movzx eax, word [ecx]
cmp eax, 0x76
jae 0x451a31
mov al, byte [eax + 0x4b7310]
test al, al
je 0x451a31
movzx eax, al
mov word [ecx], ax
mov edi, dword [ebp - 4]
jmp 0x416995
push dword [ebp - 0x48]
mov ebx, dword [ebp - 8]
xor eax, eax
push dword [ebp + 0x28]
push edx
mov word [ebx], ax
lea edx, [eax + 2]
mov ecx, dword [ebp - 0x54]
call fcn.00417c6d
add esp, 0xc
lea eax, [esi + esi]
push eax
mov eax, dword [ebp - 0x54]
push eax
add eax, 4
push eax
call fcn.00426d50
mov eax, dword [ebp - 0x54]
mov ecx, 0x81
add esi, 2
add esp, 0xc
mov word [eax], cx
mov eax, 0x78
mov word [ebx + 4], ax
mov word [ebx + 6], si
add ebx, 8
mov eax, dword [ebp - 0x54]
mov dword [ebp - 8], ebx
mov word [eax + 2], si
mov edi, dword [ebp - 4]
jmp 0x416995
mov edi, dword [ebp - 4]
cmp word [edi + 2], 0x5c
jne 0x451aab
cmp word [edi + 4], 0x45
jne 0x451aab
add edi, 4
jmp 0x4166df
mov dword [ebp - 0x34], 1
jmp 0x4166df
mov ecx, edi
mov dword [ebp - 0x44], 0
mov edi, dword [ebp - 4]
xor ebx, ebx
add edi, 2
mov dword [ebp - 0x64], 0
mov dword [ebp - 4], edi
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x48], eax
cmp word [edi], 0x3c
movzx eax, word [edi + 2]
setne bl
dec ebx
and ebx, 0x17
add ebx, 0x27
cmp eax, 0x2b
je 0x451b06
cmp eax, 0x2d
je 0x451b06
cmp eax, 0x30
jb 0x452786
cmp eax, 0x39
ja 0x452786
movzx ecx, word [edi + 4]
lea eax, [edi + 4]
cmp ecx, 0x30
jb 0x451b24
cmp cx, 0x39
ja 0x451b24
movzx ecx, word [eax + 2]
add eax, 2
cmp ecx, 0x30
jae 0x451b12
cmp word [eax], bx
je 0x451b36
mov eax, edx
mov dword [eax], 0x39
jmp 0x4166df
mov ecx, dword [ebp + 0x28]
add edi, 2
mov dword [ebp - 4], edi
jmp 0x452a4f
mov edi, dword [ebp - 4]
movzx eax, word [edi + 2]
cmp eax, 0x3c
je 0x451b65
cmp eax, 0x27
je 0x451b65
cmp eax, 0x7b
je 0x451b65
mov dword [edx], 0x45
jmp 0x4166df
mov ecx, dword [ebp + 0x28]
add edi, 2
mov dword [ebp - 4], edi
xor edx, edx
mov dword [ebp - 0x10], edx
movzx eax, word [edi]
cmp eax, 0x3c
jne 0x451b83
lea ebx, [edx + 0x3e]
jmp 0x45278e
xor ebx, ebx
cmp eax, 0x27
setne bl
dec ebx
and ebx, 0xffffffaa
add ebx, 0x7d
jmp 0x45278e
mov ecx, dword [ebp + 0x28]
mov edi, esi
neg edi
mov dword [ebp - 0x50], edi
jmp 0x4529be
cmp dword [edi + 0x48], 0
jne 0x4167f7
mov dword [edi + 0x48], 1
jmp 0x4167f7
cmp esi, 0x22
jg 0x416800
mov eax, dword [ebp - 4]
mov edi, dword [esi*4 + 0x4b6fbc]
add eax, 2
mov dword [ebp - 0x80], eax
jmp 0x4506b7
mov dword [ebp - 0x18], 0
jmp 0x41680f
cmp esi, 0xe
jne 0x416819
mov esi, 0xd
jmp 0x416819
push edx
lea eax, [ebp - 0xe0]
mov dword [ebp - 0xf4], 0
push eax
lea eax, [ebp - 0xf4]
mov dword [ebp - 0xe0], 0
push eax
lea edx, [ebp - 0x114]
lea ecx, [ebp - 4]
call fcn.0048d132
add esp, 0xc
test eax, eax
je 0x416f70
xor eax, eax
mov dword [ebp - 0x18], ebx
cmp esi, 0x10
sete al
xor ecx, ecx
cmp eax, dword [ebp - 0x114]
movzx eax, word [ebp - 0xf4]
setne cl
add ecx, 0xf
mov word [ebx], cx
mov word [ebx + 2], ax
movzx eax, word [ebp - 0xe0]
mov word [ebx + 4], ax
add ebx, 6
mov edi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4166df
mov ax, word [edi + 2]
add edi, 2
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x416235
mov dword [ebp - 4], edi
mov esi, 2
mov ax, word [edi]
mov word [ebp - 0x10a], ax
mov dword [ebp - 0x14], esi
jmp 0x416238
mov eax, dword [ebp - 0x10a]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
jmp 0x41625f
mov edi, dword [ebp - 4]
mov dword [ebp - 0x7c], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x416330
mov ecx, dword [ebp + 0x28]
or dword [ecx + 0x64], 0x800
jmp 0x4162ed
test eax, eax
je 0x41671c
mov edi, dword [ebp - 4]
mov dword [ebp - 0x5c], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x416330
movzx eax, word [edi - 2]
mov edi, dword [ebp - 4]
mov dword [ebp - 0x70], eax
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0x5c], eax
jmp 0x416330
cmp dword [ebp - 0x94], 0
jne 0x4164a2
jmp 0x41631a
lea eax, [edi + 2]
mov dword [ebp - 0x6c], eax
movzx eax, word [eax]
cmp eax, 0x3a
je 0x451d6b
mov dword [ebp - 0x30], 0xff
cmp ax, word [ebp - 0x30]
ja 0x451f64
mov ecx, eax
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0xc]
test byte [ecx + eax], 2
mov ecx, dword [ebp + 0x28]
je 0x451f64
mov edx, dword [ebp - 0x6c]
xor ebx, ebx
mov edi, edx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x18], ebx
xor esi, esi
mov dword [ebp - 4], edi
mov ebx, 0xff
mov dword [ebp - 0x30], 0x4b6240
movzx eax, word [edi]
cmp ax, bx
ja 0x451db0
mov ecx, dword [ecx + 0xc]
movzx eax, ax
test byte [eax + ecx], 2
je 0x451db0
add edi, 2
mov ebx, 0xff
mov dword [ebp - 4], edi
movzx eax, word [edi]
cmp ax, bx
jbe 0x451d94
mov ecx, edi
sub ecx, edx
sar ecx, 1
cmp word [edi], 0x3a
mov dword [ebp - 0x3c], ecx
jne 0x451e02
add edi, 2
mov dword [ebp - 4], edi
mov ebx, edi
mov dword [ebp - 0x64], ebx
movzx eax, word [edi]
test ax, ax
je 0x451de6
cmp ax, 0x29
je 0x451de6
add edi, 2
mov dword [ebp - 4], edi
movzx eax, word [edi]
test ax, ax
jne 0x451dd2
mov esi, edi
sub esi, ebx
sar esi, 1
cmp esi, 0xffff
jbe 0x451e02
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4b
jmp 0x452f6d
cmp word [edi], 0x29
jne 0x451e4b
xor eax, eax
mov ebx, 0x4b6170
mov dword [ebp - 0x10], eax
mov edx, dword [ebx]
cmp ecx, edx
jne 0x451e30
mov edx, dword [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x6c]
call fcn.00417079
add esp, 4
test eax, eax
mov eax, dword [ebp - 0x10]
je 0x451e59
mov edx, dword [ebx]
mov ecx, dword [ebp - 0x30]
inc eax
inc ecx
mov dword [ebp - 0x10], eax
add ecx, edx
add ebx, 0xc
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x3c]
cmp ebx, 0x4b61dc
jl 0x451e12
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x3c
jmp 0x452f6d
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x4b6174]
cmp ecx, 0x9e
jne 0x451ecb
test esi, esi
jne 0x452e18
mov eax, dword [ebp + 0x28]
mov ebx, dword [ebp - 8]
mov ecx, dword [eax + 0x24]
mov dword [eax + 0x6c], 1
test ecx, ecx
je 0x451ea0
mov eax, 0xa0
mov word [ebx], ax
mov ax, word [ecx + 4]
mov word [ebx + 2], ax
add ebx, 4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x451e87
mov ecx, dword [ebp + 0x28]
xor eax, eax
cmp dword [ecx + 0x5c], eax
setg al
add eax, 0x9e
mov word [ebx], ax
add ebx, 2
cmp dword [ebp - 0x2c], 0xfffffffe
movzx edi, ax
mov dword [ebp - 8], ebx
jne 0x451f30
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x451f30
test esi, esi
jne 0x451eea
test ecx, ecx
js 0x452e26
movzx eax, cx
mov ecx, dword [ebp - 8]
mov edi, eax
mov word [ecx], ax
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x451f2d
cmp dword [eax*4 + 0x4b6178], 0
jl 0x452e18
mov ebx, dword [ebp - 8]
movzx eax, word [eax*4 + 0x4b6178]
mov edi, eax
mov word [ebx], ax
lea eax, [esi + esi]
push eax
push dword [ebp - 0x64]
mov word [ebx + 2], si
add ebx, 4
push ebx
call fcn.0041fdb0
lea ebx, [ebx + esi*2]
xor eax, eax
add esp, 0xc
mov word [ebx], ax
add ebx, 2
mov dword [ebp - 8], ebx
mov ecx, dword [ebp + 0x28]
add edi, 0xffffff6a
cmp edi, 5
ja case.default.0x451f3f
jmp dword [edi*4 + 0x453037]
or dword [ecx + 0x64], 0x1000
mov edi, dword [ebp - 4]
jmp 0x4166df
mov edi, dword [ebp - 4]
mov dword [ecx + 0x70], 1
jmp 0x4166df
mov eax, dword [ebp - 0xc]
jmp 0x41638f
sub eax, 0x21
cmp eax, 0x5b
ja case.0x451f7f.34
movzx eax, byte [eax + 0x45308b]
jmp dword [eax*4 + 0x45304f]
add edi, 2
mov dword [ebp - 4], edi
movzx eax, word [edi]
test ax, ax
je 0x451fa8
cmp ax, 0x29
je 0x451fb6
add edi, 2
mov dword [ebp - 4], edi
movzx eax, word [edi]
test ax, ax
jne 0x451f94
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x12
jmp 0x452f6d
cmp word [edi], 0
je 0x451fa8
jmp 0x4166df
mov dword [ebp - 0x64], 1
jmp case.0x451f7f.58
cmp word [edi + 2], 0x3f
mov esi, 0x87
mov edx, edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x84], edx
jne 0x45201d
cmp word [edi + 4], 0x43
jne 0x45201d
movzx ecx, word [edi + 6]
mov eax, 3
cmp ecx, 0x30
jb 0x45200a
cmp cx, 0x39
ja 0x45200a
movzx ecx, word [edi + eax*2 + 2]
inc eax
cmp ecx, 0x30
jae 0x451ff9
cmp word [edi + eax*2], 0x29
jne 0x45201d
lea edx, [eax + 1]
lea edx, [edi + edx*2]
mov dword [ebp - 0x84], edx
cmp word [edx + 2], 0x3f
jne 0x452043
movzx eax, word [edx + 4]
cmp eax, 0x3d
je 0x4523fd
cmp eax, 0x21
je 0x4523fd
cmp eax, 0x3c
je 0x4523fd
mov ecx, dword [ebp - 8]
mov eax, 0x8d
mov dword [ebp - 0x44], 2
mov dword [ebp - 0x10], 0xffffffff
mov word [ecx + 4], ax
mov edi, dword [ebp - 4]
add edi, 2
mov dword [ebp - 4], edi
movzx eax, word [edi]
cmp eax, 0x52
jne 0x45208c
cmp word [edi + 2], 0x26
jne 0x45208c
or edx, 0xffffffff
mov eax, 0x8f
add edi, 4
mov dword [ebp - 4], edi
mov word [ecx + 4], ax
mov edi, dword [ebp - 4]
jmp 0x4520a0
cmp eax, 0x3c
jne 0x452193
mov edx, 0x3e
add edi, 2
mov dword [ebp - 4], edi
mov dword [ebp - 0x14], edx
movzx eax, word [edi]
cmp eax, 0x30
jb 0x4520b4
cmp eax, 0x39
jbe 0x452e34
mov ecx, 0xff
cmp ax, cx
ja 0x452e61
movzx ecx, ax
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0xc]
test byte [ecx + eax], 0x10
je 0x452e61
mov dword [ebp - 0x78], edi
mov ecx, 0xff
add edi, 2
mov dword [ebp - 4], edi
movzx eax, word [edi]
cmp ax, cx
ja 0x452110
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx + 0xc]
movzx eax, ax
test byte [eax + ecx], 0x10
je 0x452110
add edi, 2
mov dword [ebp - 0x6c], 0xff
mov dword [ebp - 4], edi
movzx eax, word [edi]
cmp ax, word [ebp - 0x6c]
jbe 0x4520f1
mov eax, edi
sub eax, dword [ebp - 0x78]
sar eax, 1
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x452123
inc dword [eax]
test edx, edx
jle 0x452139
mov ax, word [edi]
add edi, 2
mov dword [ebp - 4], edi
cmp ax, dx
jne 0x452e50
mov ecx, dword [ebp - 0x10]
mov ax, word [edi]
add edi, 2
mov dword [ebp - 0x1c], edi
mov dword [ebp - 4], edi
cmp ax, 0x29
jne 0x452e50
mov edx, dword [ebp + 0x2c]
test edx, edx
jne 0x452400
test ecx, ecx
js 0x452242
mov eax, dword [ebp - 0x50]
test eax, eax
jle 0x452e42
test ecx, ecx
je 0x45221f
cmp ecx, 0x2d
mov ecx, dword [ebp + 0x28]
jne 0x452217
mov eax, dword [ecx + 0x40]
sub eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
jmp 0x452222
cmp eax, 0x27
jne 0x45219f
mov edx, eax
jmp 0x45209a
xor edx, edx
mov dword [ebp - 0x14], edx
cmp eax, 0x2d
je 0x4521c7
cmp eax, 0x2b
je 0x4521c7
cmp eax, 0x30
jb 0x4520b4
cmp eax, 0x39
ja 0x4520a3
xor ecx, ecx
mov dword [ebp - 0x10], ecx
jmp 0x4521da
mov ecx, eax
add edi, 2
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], edi
test ecx, ecx
js 0x4520a3
movzx eax, word [edi]
xor edx, edx
mov dword [ebp - 0x50], edx
cmp eax, 0x30
jb 0x45213c
cmp ax, 0x39
ja 0x452139
movzx eax, ax
lea edx, [edx + edx*4]
add edi, 2
lea edx, [edx - 0x18]
mov dword [ebp - 4], edi
lea edx, [eax + edx*2]
movzx eax, word [edi]
mov dword [ebp - 0x50], edx
cmp eax, 0x30
jae 0x4521eb
jmp 0x452139
add eax, dword [ecx + 0x40]
mov dword [ebp - 0x50], eax
jmp 0x452222
mov ecx, dword [ebp + 0x28]
test eax, eax
jle 0x452af6
cmp eax, dword [ecx + 0x44]
jg 0x452af6
mov ecx, dword [ebp - 8]
mov word [ecx + 6], ax
mov edi, dword [ebp - 4]
jmp 0x4169d3
mov edx, dword [ebp + 0x28]
xor eax, eax
mov dword [ebp - 0x30], eax
mov ecx, dword [edx + 0x2c]
mov edx, dword [edx + 0x30]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x6c], edx
test edx, edx
jle 0x452299
mov edi, dword [ebp + 0x28]
mov esi, eax
mov ebx, ecx
push dword [ebp - 0x68]
mov ecx, dword [ebp - 0x78]
lea edx, [ebx + 2]
call fcn.0048d5c4
mov edx, dword [ebp - 0x6c]
add esp, 4
test eax, eax
je 0x452284
mov eax, dword [edi + 0x34]
inc esi
lea ebx, [ebx + eax*2]
cmp esi, edx
jl 0x452261
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
cmp eax, edx
jge 0x452339
mov edi, dword [ebp - 0x30]
mov eax, 1
mov dword [ebp - 0x14], edi
inc edi
mov dword [ebp - 0x30], eax
movzx eax, word [ecx]
mov dword [ebp - 0x50], eax
cmp edi, edx
jge 0x452327
mov eax, dword [ebp + 0x28]
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x30]
mov eax, dword [eax + 0x34]
add eax, eax
mov dword [ebp - 0x6c], eax
push dword [ebp - 0x68]
mov ecx, dword [ebp - 0x78]
add esi, eax
lea edx, [esi + 2]
call fcn.0048d5c4
add esp, 4
test eax, eax
jne 0x4522ef
mov eax, dword [ebp + 0x28]
inc edi
inc ebx
cmp edi, dword [eax + 0x30]
mov eax, dword [ebp - 0x6c]
jl 0x4522cb
mov esi, dword [ebp - 0x18]
cmp ebx, 1
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x3c]
jle 0x452324
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0x44], 3
inc word [ecx + 4]
mov word [ecx + 6], ax
mov eax, dword [ebp - 0x30]
mov word [ecx + 8], ax
mov edi, dword [ebp - 4]
jmp 0x4169d3
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x2c]
mov word [ecx + 6], ax
mov edi, dword [ebp - 4]
jmp 0x4169d3
cmp dword [ebp - 0x14], 0
jne 0x452af6
mov eax, dword [ebp - 0x78]
cmp word [eax], 0x52
jne 0x4523ae
mov edx, 1
xor ecx, ecx
cmp dword [ebp - 0x68], edx
jle 0x45238b
movzx eax, word [eax + edx*2]
cmp eax, 0x30
jb 0x452af6
cmp eax, 0x39
ja 0x452af6
lea ecx, [ecx + ecx*4]
inc edx
lea ecx, [ecx - 0x18]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x50], ecx
cmp edx, dword [ebp - 0x68]
jl 0x452358
test ecx, ecx
je 0x45238b
mov eax, ecx
jmp 0x452393
mov eax, 0xffff
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 8]
mov edx, 0x8f
mov word [ecx + 4], dx
mov edx, dword [ebp + 0x2c]
mov word [ecx + 6], ax
mov edi, dword [ebp - 4]
jmp 0x4169d3
cmp dword [ebp - 0x68], 6
jne 0x452af6
push 6
mov edx, str.DEFINE
mov ecx, eax
call fcn.00417079
add esp, 4
test eax, eax
jne 0x452af6
mov ecx, dword [ebp - 8]
mov eax, 0x91
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0x44], 1
mov word [ecx + 4], ax
mov edi, dword [ebp - 4]
jmp 0x4169d3
inc dword [ecx + 0x5c]
mov esi, 0x7d
add edi, 2
mov dword [ebp - 4], edi
mov edx, dword [ebp + 0x2c]
mov ecx, dword [ebp - 8]
jmp 0x4169d3
add edi, 2
mov dword [ebp - 4], edi
cmp word [edi], 0x29
jne 0x45243b
movzx eax, word [edi + 2]
cmp eax, 0x2a
je 0x45243b
cmp eax, 0x2b
je 0x45243b
cmp eax, 0x3f
je 0x45243b
cmp eax, 0x7b
jne 0x452445
lea ecx, [edi + 4]
call fcn.0048d250
test eax, eax
je 0x452445
mov ecx, dword [ebp + 0x28]
inc dword [ecx + 0x5c]
mov esi, 0x7e
jmp 0x4523fd
mov eax, dword [ebp - 8]
mov ecx, 0x9d
mov dword [ebp - 0x18], 0
mov word [eax], cx
add eax, 2
mov edi, dword [ebp - 4]
mov dword [ebp - 8], eax
jmp 0x4166df
movzx eax, word [edi + 2]
mov ecx, eax
cmp ecx, 0x21
je 0x4524bf
cmp ecx, 0x3d
je 0x4524ac
mov dword [ebp - 0x3c], 0xff
cmp ax, word [ebp - 0x3c]
ja 0x452e6f
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0xc]
test byte [ecx + eax], 0x10
je 0x452e6f
mov ecx, dword [ebp + 0x28]
cmp edx, 0x3c
je 0x4525a4
mov edx, 0x27
jmp 0x4525a9
mov ecx, dword [ebp + 0x28]
mov esi, 0x7f
inc dword [ecx + 0x5c]
add edi, 4
jmp 0x4523fa
mov ecx, dword [ebp + 0x28]
mov esi, 0x80
inc dword [ecx + 0x5c]
add edi, 4
jmp 0x4523fa
mov esi, 0x81
jmp 0x4523f7
mov edx, dword [ebp - 8]
mov eax, 0x76
xor ecx, ecx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0xac], 1
mov word [edx], ax
mov edi, dword [ebp - 4]
add edi, 2
mov dword [ebp - 4], edi
movzx eax, word [edi]
cmp eax, 0x30
jb 0x45252a
cmp ax, 0x39
ja 0x45252a
movzx eax, ax
lea ecx, [ecx + ecx*4]
add edi, 2
lea ecx, [ecx - 0x18]
mov dword [ebp - 4], edi
lea ecx, [eax + ecx*2]
movzx eax, word [edi]
cmp eax, 0x30
jae 0x45250a
cmp word [edi], 0x29
jne 0x452e8e
cmp ecx, 0xff
jg 0x452e80
mov word [edx + 2], cx
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 4]
sub eax, dword [ecx + 0x18]
sar eax, 1
inc eax
mov word [edx + 4], ax
xor eax, eax
mov word [edx + 6], ax
add edx, 8
mov edi, dword [ebp - 4]
mov dword [ebp - 8], edx
mov dword [ebp - 0x18], eax
jmp 0x4166df
add edi, 2
mov dword [ebp - 4], edi
movzx eax, word [edi]
cmp eax, 0x3d
je 0x452598
cmp eax, 0x3e
je 0x452591
cmp eax, 0x3c
je 0x4525a4
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x29
jmp 0x452f6d
mov edx, 1
jmp 0x45259a
xor edx, edx
mov ebx, 0x29
jmp 0x45278b
mov edx, 0x3e
add edi, 2
mov dword [ebp - 4], edi
mov dword [ebp - 0x78], edi
movzx eax, word [edi]
cmp eax, 0x30
jb 0x4525c3
cmp eax, 0x39
jbe 0x452e34
mov dword [ebp - 0x3c], 0xff
cmp ax, word [ebp - 0x3c]
ja 0x4525f5
mov ecx, dword [ecx + 0xc]
movzx eax, ax
test byte [eax + ecx], 0x10
je 0x4525f2
add edi, 2
mov dword [ebp - 0x3c], 0xff
mov dword [ebp - 4], edi
movzx eax, word [edi]
cmp ax, word [ebp - 0x3c]
jbe 0x4525d3
mov ecx, dword [ebp + 0x28]
mov eax, edi
sub eax, dword [ebp - 0x78]
sar eax, 1
cmp dword [ebp + 0x2c], 0
mov dword [ebp - 0x68], eax
je 0x452776
mov eax, dword [ecx + 0x40]
inc eax
mov dword [ebp - 0x14], eax
cmp word [edi], dx
jne 0x452ed7
mov ecx, dword [ecx + 0x30]
mov dword [ebp - 0x44], ecx
cmp ecx, 0x2710
jge 0x452ec9
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x68]
add eax, 2
cmp eax, dword [edx + 0x34]
jle 0x452646
cmp dword [ebp - 0x68], 0x20
mov dword [edx + 0x34], eax
jg 0x452e9c
mov eax, dword [edx + 0x28]
xor edx, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], edx
test ecx, ecx
jle 0x4526ce
mov edx, dword [ebp - 0x68]
cmp edx, dword [eax + 4]
mov edx, dword [ebp - 0x10]
jne 0x4526af
push dword [ebp - 0x68]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x78]
call fcn.0048d5c4
add esp, 4
test eax, eax
mov eax, dword [ebp - 0x30]
jne 0x4526ac
mov ecx, dword [ebp - 0x14]
cmp dword [eax + 8], ecx
je 0x4526c8
test dword [ebp - 0xc], 0x80000
je 0x452eaa
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x78], 1
mov ecx, dword [ebp - 0x44]
inc edx
add eax, 0xc
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x30], eax
cmp edx, ecx
jl 0x452655
jmp 0x4526ce
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
cmp dword [eax + 8], ecx
mov ecx, dword [ebp - 0x44]
jne 0x45269c
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x41
jmp 0x452f6d
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x10]
cmp edx, ecx
jl 0x452773
mov edx, dword [ebp + 0x28]
mov eax, dword [edx + 0x38]
cmp ecx, eax
jl 0x452739
add eax, eax
mov dword [ebp - 0x3c], eax
lea eax, [eax + eax*2]
shl eax, 2
push eax
call dword [0x4b16c4]
mov edi, eax
add esp, 4
test edi, edi
je 0x452eb8
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax + 0x38]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
push dword [eax + 0x28]
push edi
call fcn.0041fdb0
mov edx, dword [ebp + 0x28]
add esp, 0xc
cmp dword [edx + 0x38], 0x14
jle 0x452730
push dword [edx + 0x28]
call dword [0x4b16c0]
mov edx, dword [ebp + 0x28]
add esp, 4
mov eax, dword [ebp - 0x3c]
mov dword [edx + 0x28], edi
mov dword [edx + 0x38], eax
mov eax, dword [edx + 0x30]
mov edi, dword [ebp - 0x78]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x28]
mov dword [eax + ecx*4], edi
mov eax, dword [edx + 0x30]
mov edi, dword [ebp - 0x68]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x28]
mov dword [eax + ecx*4 + 4], edi
mov eax, dword [edx + 0x30]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x28]
mov edx, dword [ebp - 0x14]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [ebp + 0x28]
mov edi, dword [ebp - 4]
inc dword [ecx + 0x30]
jmp 0x452776
mov ecx, dword [ebp + 0x28]
add edi, 2
mov dword [ebp - 4], edi
jmp 0x4169b8
mov ebx, 0x29
mov edx, 1
mov dword [ebp - 0x10], edx
add edi, 2
mov dword [ebp - 4], edi
mov esi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x78], esi
movzx eax, word [edi]
cmp eax, 0x30
jb 0x4527ad
cmp eax, 0x39
jbe 0x452e34
mov dword [ebp - 0x3c], 0xff
cmp ax, word [ebp - 0x3c]
ja 0x4527e2
mov ecx, dword [ecx + 0xc]
movzx eax, ax
test byte [eax + ecx], 0x10
je 0x4527dc
add edi, 2
mov dword [ebp - 0x3c], 0xff
mov dword [ebp - 4], edi
movzx eax, word [edi]
cmp ax, word [ebp - 0x3c]
jbe 0x4527bd
mov ecx, dword [ebp + 0x28]
mov dword [ebp - 0x1c], edi
mov eax, edi
sub eax, esi
sar eax, 1
cmp dword [ebp + 0x2c], 0
mov dword [ebp - 0x68], eax
je 0x45285d
test eax, eax
je 0x452ee5
cmp word [edi], bx
jne 0x452ed7
cmp eax, 0x20
jg 0x452e9c
mov ebx, dword [ecx + 0x30]
xor edi, edi
mov esi, dword [ecx + 0x28]
test ebx, ebx
jle 0x45283f
cmp eax, dword [esi + 4]
jne 0x452831
mov edx, dword [esi]
mov ecx, dword [ebp - 0x78]
push eax
call fcn.0048d5c4
add esp, 4
test eax, eax
je 0x452839
mov eax, dword [ebp - 0x68]
inc edi
add esi, 0xc
cmp edi, ebx
jl 0x452817
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x28]
cmp edi, ebx
jge 0x452848
mov edi, dword [esi + 8]
jmp 0x45284a
xor edi, edi
mov dword [ebp - 0x50], edi
test edx, edx
jne 0x452b1c
inc dword [ecx + 0x54]
jmp 0x4529bb
mov ebx, dword [ecx + 0x2c]
xor esi, esi
mov ecx, dword [ecx + 0x30]
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x3c], ecx
test ecx, ecx
jle 0x4528b1
mov edi, dword [ebp + 0x28]
jmp 0x452877
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x78]
lea edx, [ebx + 2]
push eax
call fcn.0048d5c4
add esp, 4
test eax, eax
jne 0x45289a
mov eax, dword [ebp - 0x68]
cmp word [ebx + eax*2 + 2], 0
jne 0x45289a
mov ecx, dword [ebp - 0x3c]
jmp 0x4528a8
mov eax, dword [edi + 0x34]
inc esi
mov ecx, dword [ebp - 0x3c]
lea ebx, [ebx + eax*2]
cmp esi, ecx
jl 0x452874
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x6c], ebx
cmp esi, ecx
jge 0x452af6
movzx edi, word [ebx]
mov dword [ebp - 0x50], edi
test edx, edx
jne 0x452b19
mov eax, dword [ebp + 0x28]
cmp dword [eax + 0x78], edx
je 0x452a01
mov eax, dword [eax + 0x34]
lea edi, [edx + 1]
mov dword [ebp - 0x64], esi
inc esi
lea edx, [ebx + eax*2]
mov dword [ebp - 0x30], edx
cmp esi, ecx
jge 0x4529b5
lea eax, [ebx + 2]
mov dword [ebp - 0x3c], eax
mov ebx, eax
add edx, 2
mov ecx, ebx
call fcn.0048d594
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp - 0x30]
test eax, eax
jne 0x452917
mov eax, dword [ecx + 0x34]
inc esi
inc edi
lea edx, [edx + eax*2]
mov dword [ebp - 0x30], edx
cmp esi, dword [ecx + 0x30]
jl 0x4528f3
mov ebx, dword [ebp - 0x6c]
cmp edi, 1
jle 0x4529b8
cmp dword [ebp - 0x2c], 0xfffffffe
jne 0x452930
mov dword [ebp - 0x2c], 0xffffffff
mov ecx, dword [ebp - 8]
mov eax, 0
test byte [ebp - 0xc], 1
mov dword [ebp - 0x18], ecx
setne al
add eax, 0x73
mov word [ecx], ax
mov eax, dword [ebp - 0x64]
mov word [ecx + 2], ax
mov word [ecx + 4], di
add ecx, 6
mov dword [ebp - 8], ecx
cmp ebx, edx
jae case.default.0x451f3f
mov esi, dword [ebp + 0x28]
movzx edi, word [ebx]
mov eax, 1
mov dword [ebp - 0x50], edi
cmp edi, 0x20
jge 0x452978
mov ecx, edi
shl eax, cl
or dword [esi + 0x50], eax
cmp edi, dword [esi + 0x4c]
jle 0x452983
mov dword [esi + 0x4c], edi
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x4529a3
movzx eax, word [ecx + 4]
cmp eax, edi
je 0x45299a
mov ecx, dword [ecx]
test ecx, ecx
jne 0x45298a
jmp 0x4529a3
mov eax, 1
mov word [ecx + 6], ax
mov eax, dword [esi + 0x34]
lea ebx, [ebx + eax*2]
cmp ebx, edx
jb 0x452964
mov edi, dword [ebp - 4]
jmp 0x4166df
mov ecx, dword [ebp + 0x28]
mov edi, dword [ebp - 0x50]
mov ebx, dword [ebp - 8]
cmp dword [ebp - 0x2c], 0xfffffffe
jne 0x4529cb
mov dword [ebp - 0x2c], 0xffffffff
mov edx, dword [ebp - 0xc]
mov eax, 0
test dl, 1
mov dword [ebp - 0x18], ebx
setne al
add eax, 0x71
mov word [ebx], ax
mov word [ebx + 2], di
add ebx, 4
mov dword [ebp - 8], ebx
cmp edi, 0x20
jge 0x452a05
mov ebx, 1
mov ecx, edi
mov eax, ebx
shl eax, cl
mov ecx, dword [ebp + 0x28]
jmp 0x452a0c
mov ecx, eax
jmp 0x4529bb
mov eax, 1
mov ebx, eax
or dword [ecx + 0x50], eax
cmp edi, dword [ecx + 0x4c]
jle 0x452a17
mov dword [ecx + 0x4c], edi
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x4164a2
movzx eax, word [ecx + 4]
cmp eax, edi
je 0x452a38
mov ecx, dword [ecx]
test ecx, ecx
jne 0x452a22
mov edi, dword [ebp - 4]
jmp 0x416330
mov word [ecx + 6], bx
mov edi, dword [ebp - 4]
jmp 0x416330
add edi, 2
mov dword [ebp - 4], edi
mov ebx, 0x29
movzx edx, word [edi]
mov esi, edx
cmp esi, 0x2b
jne 0x452a7a
add edi, 2
mov dword [ebp - 4], edi
movzx eax, word [edi]
cmp eax, 0x30
jb 0x452a6c
cmp eax, 0x39
jbe 0x452a9e
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x3f
jmp 0x452f6d
cmp esi, 0x2d
jne 0x452a9e
movzx eax, word [edi + 2]
cmp eax, 0x30
jb case.0x451f7f.34
cmp eax, 0x39
ja case.0x451f7f.34
mov ecx, dword [ebp + 0x28]
add edi, 2
mov dword [ebp - 4], edi
movzx eax, word [edi]
xor edx, edx
mov dword [ebp - 0x50], edx
cmp eax, 0x30
jb 0x452ad1
cmp ax, 0x39
ja 0x452acb
movzx eax, ax
lea edx, [edx + edx*4]
add edi, 2
lea edx, [edx - 0x18]
mov dword [ebp - 4], edi
lea edx, [eax + edx*2]
movzx eax, word [edi]
cmp eax, 0x30
jae 0x452aab
mov ecx, dword [ebp + 0x28]
mov dword [ebp - 0x50], edx
cmp word [edi], bx
jne 0x452f17
cmp esi, 0x2d
jne 0x452b04
test edx, edx
je 0x452ef0
mov eax, dword [ecx + 0x40]
sub eax, edx
lea edx, [eax + 1]
mov dword [ebp - 0x50], edx
test edx, edx
jg 0x452b1f
mov eax, dword [ebp + 0xc]
mov dword [eax], 0xf
jmp 0x452f6d
cmp esi, 0x2b
jne 0x452b1f
test edx, edx
je 0x452ef0
add edx, dword [ecx + 0x40]
mov dword [ebp - 0x50], edx
jmp 0x452b1f
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp - 0x50]
cmp dword [ebp + 0x2c], 0
mov ebx, dword [ebp - 8]
mov esi, dword [ecx + 0x14]
mov dword [ebp - 0x18], ebx
jne 0x452bd2
mov edi, dword [ebp - 0x20]
xor eax, eax
mov word [ebx], ax
test edx, edx
je 0x452b54
mov ecx, dword [ecx + 0x14]
push edx
mov edx, edi
call fcn.0048c76e
mov ecx, dword [ebp + 0x28]
add esp, 4
mov edx, dword [ebp - 0x50]
mov esi, eax
test esi, esi
jne 0x452ba9
cmp edx, dword [ecx + 0x44]
jg 0x452efb
mov eax, dword [ecx + 0x14]
mov edi, dword [ebp + 0x28]
mov ecx, dword [ecx + 0x3c]
lea esi, [eax + edx*2]
mov eax, dword [edi + 0x10]
lea eax, [eax + ecx*2]
add eax, 0xffffff38
cmp dword [edi + 0x20], eax
jb 0x452b91
mov ecx, edi
call fcn.0048cd0e
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
test eax, eax
jne 0x416f70
mov eax, dword [edi + 0x20]
mov ecx, ebx
sub ecx, dword [edi + 0x14]
add ecx, 2
sar ecx, 1
mov word [eax], cx
mov ecx, edi
add dword [ecx + 0x20], 2
jmp 0x452bd2
cmp word [esi + 2], 0
jne 0x452bd2
cmp dword [ebp + 0x24], 0
jg 0x452bd2
push ecx
push edi
push dword [ebp + 0x20]
mov edx, ebx
mov ecx, esi
call fcn.0048ccd0
add esp, 0xc
test eax, eax
jne 0x452f09
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp - 0xc]
mov eax, 0x75
mov word [ebx], ax
sub esi, dword [ecx + 0x14]
sar esi, 1
mov word [ebx + 2], si
add ebx, 4
cmp dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 8], ebx
mov dword [ebp - 0xa0], 0
jne 0x4164a2
mov edi, dword [ebp - 4]
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x416330
mov edx, dword [ebp - 0xc]
jmp 0x4164a2
sub eax, 0x2d
cmp eax, 0x4b
ja case.0x452c2a.46
movzx eax, byte [eax + 0x453107]
jmp dword [eax*4 + 0x4530e7]
lea ecx, [ebp - 0xe4]
jmp 0x4163ec
mov eax, dword [ebp + 0x28]
or dword [ecx], 0x80000
or dword [eax + 0x64], 0x400
jmp 0x4163ec
or dword [ecx], 2
jmp 0x4163ec
or dword [ecx], 4
jmp 0x4163ec
or dword [ecx], 8
jmp 0x4163ec
or dword [ecx], 0x200
jmp 0x4163ec
or dword [ecx], 0x40
jmp 0x4163ec
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x452c8c
cmp dword [eax], 4
jne 0x416423
mov dword [ecx + 0x60], ebx
jmp 0x416453
mov dword [ebp - 0x94], 0
jmp 0x416453
mov ebx, dword [ebp - 8]
mov edx, dword [ebp + 0x2c]
cmp dword [eax + 0x40], edi
ja 0x416ab3
mov eax, 0x82
mov word [ebx], ax
jmp 0x416ab3
cmp esi, 0x7d
jl 0x416aa1
dec dword [eax + 0x5c]
jmp 0x416aa1
test edx, edx
jne 0x416ab3
mov edx, ebx
xor ecx, ecx
movzx eax, word [edx + 2]
inc ecx
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
jne 0x452cdc
mov eax, 0x91
cmp word [ebx + 4], ax
jne 0x452d09
cmp ecx, 1
jg 0x452f30
mov esi, eax
mov edx, dword [ebp + 0x2c]
jmp 0x416ab3
cmp ecx, 2
jg 0x452f3e
cmp ecx, 1
jne 0x452d01
mov edx, dword [ebp + 0x2c]
or eax, 0xffffffff
or ecx, eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa8], ecx
jmp 0x416abf
test ecx, ecx
js 0x452d4c
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0xa0], 1
jmp 0x452d53
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x7c], 0xffffffff
jmp 0x416bc3
cmp esi, 0x7d
jne 0x4166df
mov edx, dword [ebp - 0xc]
test eax, eax
js 0x416330
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x5c], eax
jmp 0x416330
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x14
jmp 0x452f6b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1e
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1f
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 7
jmp 0x452f6d
mov dword [eax], 0x47
jmp 0x416f70
mov dword [ecx], 0x53
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x53
jmp 0x452f6d
mov dword [ecx], 8
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 4]
mov dword [eax], 0x14
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 9
jmp 0x452f6b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x14
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x3b
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x42
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x54
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x23
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
sub edi, 2
mov dword [eax], 0x1a
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1c
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
add edi, 2
mov dword [eax], 0x18
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x26
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x27
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x30
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x2b
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 4]
mov dword [eax], 0x15
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x31
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x2a
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x3e
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x3a
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 4]
mov dword [eax], 0xf
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 4]
mov dword [eax], 0x28
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1d
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
sub edi, 2
mov dword [eax], 0xc
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 4]
mov dword [eax], 0x36
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 4]
mov dword [eax], 0x1b
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0xe
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x52
jmp 0x452f6d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x34
fstp st(0)
mov eax, dword [ebp + 8]
mov dword [eax], edi
xor eax, eax
jmp 0x4161e4