Function at 0x46d880
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3f4
push ebx
xor ecx, ecx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x110]
push edi
mov edi, dword [ebp + 0xc]
mov edx, dword [edi + 0x40]
mov ebx, dword [edi + 0x48]
push ecx
mov dword [esp + 0x180], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [edi + 0x44]
lea ecx, [ecx + edx + 0xa]
push ecx
push eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x20], ebx
call fcn.0046cc00
mov edx, dword [edi + 0x40]
sub eax, 4
mov dword [esp + 0xcc], eax
mov dword [esp + 0x68], eax
lea eax, [eax + edx*4 + 4]
mov edx, dword [esi + 0x110]
mov edx, dword [edx]
mov dword [esp + 0x44], edx
mov edx, dword [edi + 0x14]
and edx, 1
or edx, 2
mov dword [eax], edx
mov edx, dword [esi + 0x284]
lea ecx, [eax + 0x24]
add esp, 0xc
test edx, edx
mov dword [esp + 0x220], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x18], ecx
je 0x46d91e
mov edx, dword [edx + 4]
inc edx
jmp 0x46d923
mov edx, 1
mov dword [eax + 4], edx
mov edx, dword [esi + 0x60]
mov dword [eax + 0x10], edx
mov edx, dword [esi + 0x284]
mov dword [eax + 0x14], edx
xor edx, edx
mov dword [eax + 0xc], edx
mov dword [eax + 8], edx
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], edx
mov dword [eax + 0x20], edx
mov dword [ecx], edx
mov esi, dword [esi + 0x64]
mov eax, dword [esi]
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x274], eax
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x17c]
mov edx, eax
and dl, 0x3f
inc eax
test dl, dl
mov dword [esp + 0x17c], eax
jne 0x46da2c
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x320]
cmp dword [eax], 0
je 0x46d9af
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
push eax
push esi
mov dword [edx + 0x10], ecx
call fcn.0046c110
add esp, 8
cmp eax, 1
mov dword [esp + 0x34], 1
je 0x472d11
mov eax, dword [esi + 0x210]
test eax, eax
je 0x46da2c
mov ecx, dword [esi + 0x214]
inc ecx
mov dword [esi + 0x214], ecx
test byte [esi + 0x210], 1
mov edi, ecx
je 0x46d9e5
mov ecx, dword [esi + 0x224]
cmp ecx, 1
je 0x46da02
mov eax, edi
cdq
idiv ecx
test edx, edx
je 0x46da02
test byte [esi + 0x210], 2
je 0x46da2c
mov ecx, dword [esi + 0x234]
cmp ecx, 1
je 0x46da02
mov eax, edi
cdq
idiv ecx
test edx, edx
jne 0x46da2c
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
push esi
mov dword [edx + 0x10], ecx
call fcn.00410950
mov ecx, 1
add esp, 4
cmp eax, ecx
mov dword [esp + 0x34], ecx
jne 0x46da2c
mov dword [esp + 0x1c], ecx
jmp 0x475a58
xor ecx, ecx
mov cl, byte [ebx]
cmp cl, 0xa
je case.0x46da54.10
cmp cl, 1
je case.0x46da54.1
mov eax, ecx
and eax, 0xff
cmp eax, 0x83
ja case.default.0x46da54
jmp dword [eax*4 + 0x475e1c]
movsx eax, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 2]
xor edx, edx
mov dl, byte [ebx + 3]
shl eax, 8
mov edi, dword [esp + 0x18]
mov esi, dword [ebp + 8]
or eax, ecx
xor ecx, ecx
mov cl, byte [ebx + 4]
shl eax, 8
or eax, edx
shl eax, 8
xor edx, edx
mov dl, byte [ebx + 7]
or eax, ecx
xor ecx, ecx
mov ch, byte [ebx + 5]
mov cl, byte [ebx + 6]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [ebx + 8]
shl ecx, 8
or ecx, edx
mov edx, dword [edi]
push edx
push ecx
push eax
push esi
call fcn.0040c730
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x46dac2
add ebx, 9
mov dword [esp + 0x14], ebx
jmp 0x475cca
mov eax, dword [edi - 4]
push eax
push esi
call fcn.0040c0f0
mov al, byte [ebx]
add esp, 8
cmp al, 0x7d
jne 0x46dadc
and dword [esi + 0x100], 0xfffffffb
mov edi, 2
mov eax, dword [esp + 0x1c]
cmp eax, 4
mov esi, dword [esp + 0x4c]
je 0x46daf7
cmp eax, 3
jne 0x475a51
mov edx, dword [ebp + 0xc]
push edx
push 0
push ebx
call fcn.004765b0
add esp, 0xc
test eax, eax
mov dword [esp + 0x28], eax
je 0x475d3a
cmp dword [eax], 1
je 0x475b77
mov ecx, edi
dec edi
test ecx, ecx
je 0x474139
inc edi
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x18]
mov esi, dword [edi]
mov ecx, dword [esi]
sub edi, 4
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x474127
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4740ff
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4740ff
push esi
call fcn.00460cf0
jmp 0x474124
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
mov edi, dword [ebp + 8]
sub esi, 4
mov dword [esp + 0x10], ecx
mov edx, dword [esi]
push edx
push edi
mov dword [esp + 0x20], esi
call fcn.0040d040
mov dword [esp + 0x24], eax
mov eax, dword [esi]
mov edx, dword [eax]
add esp, 8
dec edx
mov dword [eax], edx
mov eax, dword [esi]
cmp dword [eax], 0
jg 0x46db9f
push eax
call fcn.00460cf0
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x46dbb7
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov ecx, dword [esp + 0x10]
push ecx
push edi
call fcn.0040c0f0
add esp, 8
mov edi, 1
jmp 0x46dae1
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x58]
jbe 0x475d2f
mov edx, dword [eax]
mov eax, dword [ebp + 8]
push edx
push eax
call fcn.0040c0f0
add esp, 8
jmp 0x475a51
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x4c]
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dl, byte [ebx + 1]
add ecx, 4
add ebx, 2
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ebx
mov eax, dword [eax + edx*4]
mov dword [ecx], eax
inc dword [eax]
cmp byte [ebx], 1
jne 0x46d95b
mov eax, dword [esi + 0x4c]
xor edx, edx
mov dl, byte [ebx + 1]
add ecx, 4
add ebx, 2
mov eax, dword [eax + edx*4]
mov dword [ecx], eax
inc dword [eax]
cmp byte [ebx], 1
je 0x46dc1e
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
jmp 0x46d95b
xor ecx, ecx
mov ch, byte [ebx + 1]
xor edx, edx
mov dl, byte [ebx + 3]
xor eax, eax
mov al, byte [ebx + 4]
mov cl, byte [ebx + 2]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp + 0xc]
shl ecx, 8
or ecx, eax
mov eax, dword [edx + 0x4c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
mov dword [eax], ecx
jmp 0x475389
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov ecx, dword [esi]
sub eax, 4
dec ecx
mov dword [esp + 0x18], eax
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x46dcd6
mov eax, dword [esi + 0xc]
test eax, eax
je 0x46dcae
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46dcae
push esi
call fcn.00460cf0
jmp 0x46dcd3
mov eax, dword [esi + 4]
test eax, eax
je 0x46dcc6
cmp eax, dword [0x5b0f40]
je 0x46dcc6
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x69
mov dword [esp + 0x14], ebx
jne 0x46d95b
mov esi, dword [ebp + 8]
xor ecx, ecx
mov ch, byte [ebx + 5]
xor edx, edx
mov dl, byte [ebx + 7]
xor eax, eax
mov al, byte [ebx + 8]
mov cl, byte [ebx + 6]
shl ecx, 8
or ecx, edx
mov edx, dword [esi + 0xc0]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x34]
add edx, ecx
test eax, eax
mov dword [esi + 0xc0], edx
je 0x46dd49
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
cmp ecx, dword [esi + 0xf0]
jne 0x46dd3b
mov ecx, dword [esp + 0x274]
mov edx, dword [eax + 0xc]
cmp edx, dword [ecx + 0xe4]
je 0x46dd41
test byte [eax + 0x14], 1
je 0x46dd55
mov dword [esp + 0x34], 0
add ebx, 9
mov dword [esp + 0x14], ebx
jmp 0x46d95b
lea edx, [esp + 0x260]
push edx
push eax
push ebx
call fcn.004763f0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x24]
mov dword [ecx + 0x10], edx
mov ecx, dword [esp + 0x26c]
push 0
push ecx
push eax
push esi
call fcn.00404240
add esp, 0x1c
test eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], 1
je 0x46ddaa
xor edi, edi
cmp eax, 1
jne 0x46dae1
or dword [esi + 0x100], 4
jmp 0x475a58
xor edx, edx
mov dh, byte [ebx + 1]
xor eax, eax
mov al, byte [ebx + 3]
xor ecx, ecx
mov cl, byte [ebx + 4]
push esi
mov dl, byte [ebx + 2]
shl edx, 8
or edx, eax
shl edx, 8
or edx, ecx
mov edi, edx
call fcn.0040c190
add esp, 4
mov dword [esp + 0x10], eax
call fcn.00477380
xor ecx, ecx
mov dword [eax], ecx
mov edx, dword [0x5b0f40]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov edx, dword [eax]
inc edx
add ebx, edi
mov dword [eax], edx
mov dword [esi + 0x1e4], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], ecx
jmp 0x474cbb
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [eax], ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
xor eax, eax
mov ah, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 3]
xor edx, edx
mov dl, byte [ebx + 4]
mov al, byte [ebx + 2]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [esp + 0x18]
mov edx, eax
sub edx, ecx
mov ecx, dword [edx]
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
mov dword [eax], ecx
jmp 0x475389
xor eax, eax
mov ah, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 3]
xor edx, edx
mov dl, byte [ebx + 4]
mov al, byte [ebx + 2]
shl eax, 8
or eax, ecx
mov ecx, dword [esp + 0x18]
shl eax, 8
or eax, edx
shl eax, 2
mov edx, eax
mov eax, ecx
sub eax, edx
add eax, 4
cmp eax, ecx
jae 0x47538f
mov esi, dword [ecx]
mov edx, dword [eax]
mov dword [eax], esi
mov dword [ecx], edx
add eax, 4
sub ecx, 4
cmp eax, ecx
jb 0x46de9e
add ebx, 5
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov edx, dword [esp + 0x18]
xor eax, eax
mov al, byte [ebx + 1]
mov ecx, 2
xor esi, esi
sub ecx, eax
lea edi, [edx + ecx*4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], edi
cmp edi, dword [esp + 0x18]
ja 0x46df15
mov eax, dword [edi]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46def6
mov eax, dword [eax + 8]
mov dword [esp + 0x54], eax
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
jmp 0x46df04
lea edx, [esp + 0x54]
push edx
push eax
call fcn.00460f00
add esp, 8
test eax, eax
je 0x46df0c
add esi, dword [esp + 0x54]
add edi, 4
test esi, esi
jge 0x46ded9
jmp 0x46df19
test esi, esi
jge 0x46df2d
push closesocket
push str.max_size_for_a_Tcl_value___d_bytes__exceeded
call fcn.00406da0
add esp, 8
test esi, esi
jne 0x46df44
mov eax, dword [esp + 0x20]
add ebx, 2
dec eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], eax
jmp 0x46f501
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
lea edx, [ecx*4]
sub eax, edx
lea edi, [eax + 4]
mov eax, dword [edi]
mov dword [esp + 0x10], eax
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46df75
mov ecx, dword [eax + 8]
mov dword [esp + 0x54], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x28], edx
jmp 0x46df8b
lea ecx, [esp + 0x54]
push ecx
push eax
call fcn.00460f00
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
add esp, 8
mov edx, dword [esp + 0x54]
add edx, esi
test edx, edx
jge 0x46dfab
push closesocket
push str.max_size_for_a_Tcl_value___d_bytes__exceeded
call fcn.00406da0
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [esp + 0x28]
cmp ecx, dword [0x5b0f40]
je 0x46e029
cmp dword [eax], 1
jg 0x46e029
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x46dfd4
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x46dfd4
push eax
call ecx
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x28]
mov dword [eax + 0xc], 0
mov edx, dword [esp + 0x54]
lea eax, [edx + esi + 1]
push eax
push ecx
call fcn.00478450
mov edx, dword [esp + 0x18]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
add eax, esi
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
add esp, 8
test eax, eax
jne 0x46e019
push ecx
call fcn.00460ec0
add esp, 4
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x40]
add eax, edx
mov dword [esp + 0x30], eax
jmp 0x46e07f
mov eax, dword [esp + 0x54]
lea ecx, [eax + esi + 1]
push ecx
call fcn.004783d0
add esp, 4
mov dword [esp + 0x30], eax
call fcn.00477380
mov dword [esp + 0x10], eax
xor ecx, ecx
mov dword [eax], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [0x5b0f40]
mov dword [edx + 4], eax
mov edx, dword [esp + 0x10]
mov dword [edx + 8], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], edx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
add eax, esi
mov dword [ecx + 8], eax
mov esi, edi
cmp esi, dword [esp + 0x18]
mov dword [esp + 0x28], esi
ja 0x46e0e9
mov eax, dword [esi]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46e0a0
mov edx, dword [eax + 8]
mov dword [esp + 0x54], edx
mov eax, dword [esi]
mov eax, dword [eax + 4]
jmp 0x46e0ae
lea ecx, [esp + 0x54]
push ecx
push eax
call fcn.00460f00
add esp, 8
test eax, eax
je 0x46e0da
mov ecx, dword [esp + 0x54]
mov edx, ecx
mov esi, eax
mov eax, dword [esp + 0x30]
shr ecx, 2
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x28]
add eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
add esi, 4
cmp esi, eax
mov dword [esp + 0x28], esi
jbe 0x46e089
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
mov byte [eax], 0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax]
add ebx, 2
inc ecx
mov dword [esp + 0x14], ebx
mov dword [eax], ecx
jmp 0x474cbb
call fcn.00477380
mov esi, dword [esp + 0x58]
xor ecx, ecx
mov dword [eax], ecx
mov edx, dword [0x5b0f40]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x18]
sub ecx, esi
sar ecx, 2
inc ebx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
cmp dword [eax + 0xc], 0x5b3ee0
mov dword [esp + 0x40], eax
jne 0x46e17c
mov ecx, dword [eax + 0x10]
mov edi, dword [ebp + 8]
add ecx, 0x10
mov dword [esp + 0x218], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x158], eax
jmp 0x46e1a1
mov edi, dword [ebp + 8]
lea ecx, [esp + 0x218]
push ecx
lea edx, [esp + 0x15c]
push edx
push eax
push edi
call fcn.0047b3d0
add esp, 0x10
test eax, eax
jne 0x472d11
movsx ecx, byte [ebx + 1]
xor edx, edx
mov dl, byte [ebx + 2]
shl ecx, 8
xor eax, eax
mov al, byte [ebx + 3]
sub esi, 4
push 1
mov dword [esp + 0x1c], esi
or ecx, edx
xor edx, edx
mov dl, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x44]
shl ecx, 8
or ecx, edx
sub eax, ecx
add eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0x10], esi
mov edx, dword [edi + 0x110]
push eax
push edx
call fcn.0046cc00
mov edx, dword [esp + 0xcc]
mov ecx, 0xfffffffc
sub ecx, edx
add eax, ecx
add esp, 0xc
sar eax, 2
je 0x46e239
mov ecx, dword [esp + 0x5c]
shl eax, 2
add edx, eax
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x58]
add edx, eax
add ecx, eax
mov dword [esp + 0x58], edx
mov edx, dword [edi + 0x110]
add esi, eax
mov eax, dword [edx]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x158]
xor ecx, ecx
test eax, eax
jle 0x46e267
mov edx, dword [esp + 0x218]
mov eax, dword [edx + ecx*4]
add esi, 4
mov dword [esi], eax
inc dword [eax]
mov eax, dword [esp + 0x158]
inc ecx
cmp ecx, eax
jl 0x46e246
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x40]
mov edx, dword [eax]
dec edx
mov ecx, edx
test ecx, ecx
mov dword [eax], edx
jg 0x47538f
push eax
call fcn.00460cf0
add esp, 4
add ebx, 5
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x18]
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 0x14]
sub esi, ecx
mov ecx, dword [edi]
sar esi, 2
sub esi, edx
dec ecx
mov dword [esp + 0x4c], eax
mov eax, ecx
test eax, eax
mov dword [edi], ecx
jg 0x46e2f5
mov eax, dword [edi + 0xc]
test eax, eax
je 0x46e2cd
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46e2cd
push edi
call fcn.00460cf0
jmp 0x46e2f2
mov eax, dword [edi + 4]
test eax, eax
je 0x46e2e5
cmp eax, dword [0x5b0f40]
je 0x46e2e5
push eax
call fcn.00478500
add esp, 4
push edi
mov dword [edi + 8], 0xffffffff
call fcn.00477440
add esp, 4
test esi, esi
je 0x46e306
mov dword [esp + 0x20], 1
jmp 0x46e4e6
call fcn.00477380
mov dword [esp + 0x10], eax
xor ecx, ecx
mov dword [eax], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [0x5b0f40]
mov dword [edx + 4], eax
mov edx, dword [esp + 0x10]
mov dword [edx + 8], ecx
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
add eax, 4
mov dword [eax], ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
xor edx, edx
mov dh, byte [ebx + 1]
xor eax, eax
mov al, byte [ebx + 3]
xor ecx, ecx
mov cl, byte [ebx + 4]
mov dword [esp + 0x20], 5
mov dl, byte [ebx + 2]
shl edx, 8
or edx, eax
shl edx, 8
or edx, ecx
mov esi, edx
jmp 0x46e4e6
xor edx, edx
mov dl, byte [ebx + 1]
mov esi, edx
jmp 0x46e4de
xor eax, eax
mov al, byte [ebx + 1]
mov esi, eax
test esi, esi
jl 0x46e398
cmp esi, 0x19
jle 0x46e3a6
push esi
push str.TclExecuteByteCode:_unrecognized_builtin_function_code__d
call fcn.00406da0
add esp, 8
push 0x11
push str.::tcl::mathfunc::
call fcn.00478830
mov ecx, dword [esi*8 + 0x5b3388]
push 0xffffffffffffffff
mov edi, eax
push ecx
push edi
call fcn.00479080
mov esi, dword [esi*8 + 0x5b338c]
add esp, 0x14
test esi, esi
mov dword [esp + 0x40], esi
jne 0x46e3f2
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [eax], edi
mov dword [esp + 0x18], eax
mov eax, dword [edi]
inc eax
mov edx, esi
mov dword [edi], eax
lea esi, [edx + 1]
jmp 0x46e4de
cmp esi, 1
mov ecx, dword [esp + 0x18]
jne 0x46e42a
mov eax, dword [ecx]
mov dword [ecx], edi
mov edx, dword [edi]
add ecx, 4
inc edx
mov dword [edi], edx
mov dword [ecx], eax
mov dword [esp + 0x18], ecx
mov ecx, dword [eax]
test ecx, ecx
mov dword [eax], ecx
jg 0x46e477
push eax
call fcn.00460cf0
mov edx, dword [esp + 0x44]
add esp, 4
lea esi, [edx + 1]
jmp 0x46e4de
mov esi, dword [ecx]
mov eax, dword [ecx - 4]
mov dword [ecx - 4], edi
mov edx, dword [edi]
sub ecx, 4
inc edx
mov dword [edi], edx
add ecx, 4
mov dword [ecx], eax
mov edi, dword [eax]
inc edi
add ecx, 4
mov dword [eax], edi
mov dword [ecx], esi
inc dword [esi]
mov edx, dword [eax]
dec edx
mov dword [esp + 0x18], ecx
mov ecx, edx
test ecx, ecx
mov dword [eax], edx
jg 0x46e463
push eax
call fcn.00460cf0
add esp, 4
mov ecx, dword [esi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x46e477
push esi
call fcn.00460cf0
add esp, 4
mov edx, dword [esp + 0x40]
lea esi, [edx + 1]
jmp 0x46e4de
mov edx, dword [esp + 0x18]
xor eax, eax
mov al, byte [ebx + 1]
push 0x11
push str.::tcl::mathfunc::
mov esi, eax
lea ecx, [esi*4]
sub edx, ecx
mov edi, dword [edx + 4]
lea eax, [edx + 4]
mov dword [esp + 0x94], eax
call fcn.00478830
push edi
push eax
mov dword [esp + 0x50], eax
call fcn.00479100
mov ecx, dword [edi]
add esp, 0x10
dec ecx
mov eax, ecx
test eax, eax
mov dword [edi], ecx
jg 0x46e4cf
push edi
call fcn.00460cf0
add esp, 4
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x8c]
mov dword [ecx], eax
inc dword [eax]
mov dword [esp + 0x20], 2
mov ecx, dword [esp + 0x220]
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x18]
lea edx, [esi*4]
mov dword [ecx + 0x1c], ebx
sub edi, edx
mov dword [eax + 0x284], ecx
mov cl, byte [eax + 0x100]
add edi, 4
test cl, 0x10
mov dword [esp + 0x17c], 1
je 0x46e541
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x48]
mov ecx, ebx
sub ecx, edx
mov edx, dword [esp + 0x220]
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
push esi
push edi
push eax
call fcn.00404cb0
add esp, 0x18
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
push eax
mov dword [edx + 0x10], ecx
call fcn.00403b40
mov ecx, dword [ebp + 8]
mov dword [esp + 0x34], eax
mov al, byte [ecx + 0x100]
add esp, 0x18
test al, 0x10
mov dword [esp + 0x34], 1
je 0x46e593
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
mov edx, ebx
sub edx, ecx
push edx
push eax
mov eax, dword [ebp + 8]
push esi
push edi
push eax
call fcn.00404d70
add esp, 0x14
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x284]
mov eax, dword [esp + 0x1c]
test eax, eax
mov edx, dword [ecx + 0x14]
mov dword [edi + 0x284], edx
jne 0x46e608
mov eax, dword [esp + 0x20]
cmp byte [eax + ebx], 3
jne 0x46e5c8
lea ebx, [eax + ebx + 1]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], esi
jmp 0x46f501
push edi
call fcn.0040c190
add esp, 4
mov dword [esp + 0x10], eax
call fcn.00477380
xor ecx, ecx
mov dword [eax], ecx
mov edx, dword [0x5b0f40]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
inc dword [eax]
mov dword [edi + 0x1e4], eax
mov eax, dword [esp + 0x20]
add ebx, eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], esi
jmp 0x474cbb
mov edi, esi
jmp 0x46dae1
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov edx, dword [esp + 0x38]
mov esi, dword [ebp + 8]
xor edi, edi
push edi
push edi
push eax
push esi
mov dword [edx + 0x10], ecx
call fcn.0046d230
add esp, 0x10
cmp eax, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], 1
jne 0x46dbc5
push esi
call fcn.0040c190
add esp, 4
mov dword [esp + 0x10], eax
call fcn.00477380
mov dword [eax], edi
mov ecx, dword [0x5b0f40]
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov ecx, dword [eax]
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esi + 0x1e4], eax
mov dword [esp + 0x14], ebx
jmp 0x475c34
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov edx, dword [esp + 0x38]
mov dword [edx + 0x10], ecx
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x264]
push ecx
push eax
push edx
call fcn.0046cea0
add esp, 0xc
test eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], 1
jne 0x475a51
mov eax, dword [esp + 0x264]
inc ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jmp 0x475c34
mov edx, dword [esp + 0x44]
xor ecx, ecx
mov cl, byte [ebx + 1]
mov edi, ecx
mov cl, byte [edx + edi*8]
test cl, 2
lea eax, [edx + edi*8]
je 0x46e6e2
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x46e6da
test byte [eax], 0x13
jne 0x46e716
mov ecx, dword [eax + 4]
xor esi, esi
cmp ecx, esi
je 0x46e718
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [eax], ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
inc ecx
add ebx, 2
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
xor esi, esi
mov dword [esp + 0x20], 2
mov dword [esp + 0x2c], esi
mov dword [esp + 0x98], esi
mov dword [esp + 0x30], esi
jmp 0x46e90e
xor eax, eax
mov ah, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 3]
xor edx, edx
mov dl, byte [ebx + 4]
mov al, byte [ebx + 2]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov edi, eax
mov eax, dword [esp + 0x44]
mov cl, byte [eax + edi*8]
test cl, 2
lea eax, [eax + edi*8]
je 0x46e769
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x46e761
test byte [eax], 0x13
jne 0x46e77c
mov ecx, dword [eax + 4]
xor esi, esi
cmp ecx, esi
je 0x46e77e
jmp 0x46dc6a
xor esi, esi
mov dword [esp + 0x20], 5
mov dword [esp + 0x2c], esi
mov dword [esp + 0x98], esi
mov dword [esp + 0x30], esi
jmp 0x46e90e
xor ecx, ecx
mov ch, byte [ebx + 1]
xor edx, edx
mov dl, byte [ebx + 3]
xor eax, eax
mov al, byte [ebx + 4]
mov dword [esp + 0x20], 5
mov cl, byte [ebx + 2]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
mov edi, ecx
jmp 0x46e7d1
xor ecx, ecx
mov cl, byte [ebx + 1]
mov dword [esp + 0x20], 2
mov edi, ecx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
lea eax, [eax + edi*8]
mov dword [esp + 0x98], eax
test byte [eax], 2
mov dword [esp + 0x30], 0
je 0x46e801
mov eax, dword [eax + 4]
mov dword [esp + 0x98], eax
test byte [eax], 2
jne 0x46e7f2
mov ecx, dword [eax]
test cl, 1
je 0x46e84b
test cl, 0x10
jne 0x46e84b
mov eax, dword [eax + 4]
push 0
push esi
push eax
call dword [eax + 0x30]
add esp, 0xc
test eax, eax
je 0x46e844
add eax, 0xfffffff4
test eax, eax
je 0x46e844
test byte [eax], 0x13
jne 0x46e844
mov eax, dword [eax + 4]
test eax, eax
je 0x46e844
mov dword [esp + 0x10], eax
inc dword [eax]
add ebx, dword [esp + 0x20]
mov dword [esp + 0x14], ebx
jmp 0x475c34
mov eax, dword [esp + 0x98]
mov ecx, dword [ebp + 8]
push edi
push eax
push 1
push 0
push str.read
push 0x200
push esi
push 0
push ecx
call fcn.00407720
add esp, 0x24
test eax, eax
je 0x472d11
mov dword [esp + 0x2c], 1
jmp 0x46e90e
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [eax - 4]
mov dword [esp + 0x2c], 2
jmp 0x46e8a2
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov dword [esp + 0x2c], 1
xor esi, esi
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x98]
push ecx
push 1
push 0
push str.read
push 0x200
push esi
push eax
push edx
mov dword [esp + 0x50], eax
call fcn.00406fb0
add esp, 0x20
test eax, eax
je 0x4756b6
test byte [eax], 0x13
jne 0x46e903
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46e903
mov edx, dword [esp + 0x98]
test edx, edx
je 0x46e8ee
test byte [edx], 0x10
jne 0x46e903
mov eax, ecx
mov dword [esp + 0x10], eax
mov ecx, dword [eax]
inc ebx
inc ecx
mov dword [esp + 0x14], ebx
mov dword [eax], ecx
jmp 0x474cbb
mov dword [esp + 0x20], 1
or edi, 0xffffffff
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
push edi
push 0x200
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xa0]
push esi
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00407a50
add esp, 0x1c
test eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], 1
je 0x4756b6
mov edx, dword [esp + 0x20]
mov ecx, dword [eax]
add ebx, edx
inc ecx
mov dword [esp + 0x14], ebx
mov dword [eax], ecx
jmp 0x474cbb
xor ecx, ecx
mov ch, byte [ebx + 1]
xor edx, edx
mov dl, byte [ebx + 3]
xor eax, eax
mov al, byte [ebx + 4]
mov dword [esp + 0x24], 5
mov cl, byte [ebx + 2]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
mov esi, ecx
jmp 0x46e999
xor ecx, ecx
mov cl, byte [ebx + 1]
mov dword [esp + 0x24], 2
mov esi, ecx
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov edi, dword [eax - 4]
mov eax, dword [esp + 0x44]
lea eax, [eax + esi*8]
mov dword [esp + 0xb8], eax
test byte [eax], 2
mov dword [esp + 0x20], edx
je 0x46e9c8
mov eax, dword [eax + 4]
mov dword [esp + 0xb8], eax
test byte [eax], 2
jne 0x46e9b9
mov ecx, dword [eax]
test cl, 1
je 0x46ea2b
test cl, 0x20
jne 0x46ea2b
mov eax, dword [eax + 4]
push 0
push edi
push eax
call dword [eax + 0x30]
add esp, 0xc
test eax, eax
je 0x46ea24
add eax, 0xfffffff4
test eax, eax
mov dword [esp + 0x30], eax
je 0x46ea24
test byte [eax], 0x2b
jne 0x46ea24
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 4]
mov edx, dword [eax]
add ecx, 0xfffffffc
dec edx
mov dword [eax], edx
mov eax, dword [ecx]
mov dword [esp + 0x18], ecx
cmp dword [eax], 0
jg 0x46ea18
push eax
call fcn.00460cf0
add esp, 4
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov dword [eax], edx
jmp 0x46ea9c
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x2c], 2
mov ebx, 0x200
jmp 0x46ecd9
xor ecx, ecx
mov ch, byte [ebx + 1]
xor edx, edx
mov dl, byte [ebx + 3]
xor eax, eax
mov al, byte [ebx + 4]
mov dword [esp + 0x24], 5
mov cl, byte [ebx + 2]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
mov esi, ecx
jmp 0x46ea74
xor ecx, ecx
mov cl, byte [ebx + 1]
mov dword [esp + 0x24], 2
mov esi, ecx
mov edx, dword [esp + 0x44]
mov cl, byte [edx + esi*8]
test cl, 2
lea eax, [edx + esi*8]
mov dword [esp + 0x30], eax
je 0x46ea93
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x46ea87
mov dword [esp + 0x30], eax
test byte [eax], 0x2b
jne 0x46eb37
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 4]
test esi, esi
je 0x46eaf0
mov ecx, dword [esi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x46eaf0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x46eac8
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46eac8
push esi
call fcn.00460cf0
jmp 0x46eaed
mov eax, dword [esi + 4]
test eax, eax
je 0x46eae0
cmp eax, dword [0x5b0f40]
je 0x46eae0
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], eax
mov dword [edx + 4], eax
mov eax, dword [esp + 0x24]
cmp byte [eax + ebx], 3
jne 0x46eb23
mov ecx, dword [esp + 0x18]
sub ecx, 4
lea ebx, [eax + ebx + 1]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
inc edx
add ebx, eax
mov dword [ecx], edx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov ebx, 0x200
jmp 0x46eda4
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
xor edi, edi
mov ebx, 0x20c
jmp 0x46ebaf
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov edi, dword [eax - 4]
mov dword [esp + 0x20], edx
mov ebx, 0x20c
jmp 0x46ebaf
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
xor edi, edi
mov ebx, 0x204
jmp 0x46ebaf
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov edi, dword [eax - 4]
mov dword [esp + 0x20], edx
mov ebx, 0x204
jmp 0x46ebaf
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edi, dword [eax - 4]
mov dword [esp + 0x20], ecx
jmp 0x46ebaa
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov dword [esp + 0x20], eax
xor edi, edi
mov ebx, 0x200
mov eax, dword [esp + 0x18]
xor ecx, ecx
test edi, edi
setne cl
lea edx, [ecx*4 + 4]
lea ecx, [esp + 0xb8]
push ecx
push 1
push 1
push 0x5a86a4
sub eax, edx
mov eax, dword [eax]
mov edx, dword [ebp + 8]
push 0x200
push edi
push eax
push edx
mov dword [esp + 0x50], eax
call fcn.00406fb0
add esp, 0x20
test eax, eax
je 0x4756b6
xor ecx, ecx
test edi, edi
setne cl
mov dword [esp + 0x24], 1
add ecx, 2
mov dword [esp + 0x2c], ecx
or esi, 0xffffffff
jmp 0x46edd7
mov eax, dword [esp + 0x14]
xor edx, edx
mov dh, byte [eax + 1]
xor ecx, ecx
mov cl, byte [eax + 3]
mov dword [esp + 0x24], 5
mov ebx, 0x20c
mov dl, byte [eax + 2]
shl edx, 8
or edx, ecx
xor ecx, ecx
mov cl, byte [eax + 4]
shl edx, 8
or edx, ecx
mov esi, edx
jmp 0x46eca2
mov eax, dword [esp + 0x14]
xor edx, edx
mov dl, byte [eax + 1]
mov dword [esp + 0x24], 2
mov ebx, 0x20c
mov esi, edx
jmp 0x46eca2
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [eax + 1]
xor edx, edx
mov dl, byte [eax + 3]
mov dword [esp + 0x24], 5
mov cl, byte [eax + 2]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
shl ecx, 8
or ecx, edx
mov esi, ecx
jmp 0x46ec9d
mov ecx, dword [esp + 0x14]
xor eax, eax
mov al, byte [ecx + 1]
mov dword [esp + 0x24], 2
mov esi, eax
mov ebx, 0x204
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov edi, dword [eax - 4]
mov eax, dword [esp + 0x44]
lea eax, [eax + esi*8]
mov dword [esp + 0xb8], eax
test byte [eax], 2
mov dword [esp + 0x20], edx
je 0x46ecd1
mov eax, dword [eax + 4]
mov dword [esp + 0xb8], eax
test byte [eax], 2
jne 0x46ecc2
mov dword [esp + 0x2c], 2
mov ecx, dword [ebp + 8]
push esi
push eax
push 1
push 1
push 0x5a86a4
push 0x200
push edi
push 0
push ecx
mov dword [esp + 0x54], 0
call fcn.00407720
add esp, 0x24
test eax, eax
jne 0x46edd7
mov dword [esp + 0x1c], 1
jmp 0x475a58
mov eax, dword [esp + 0x14]
xor edx, edx
mov dh, byte [eax + 1]
xor ecx, ecx
mov cl, byte [eax + 3]
mov dword [esp + 0x24], 5
mov ebx, 0x20c
mov dl, byte [eax + 2]
shl edx, 8
or edx, ecx
xor ecx, ecx
mov cl, byte [eax + 4]
shl edx, 8
or edx, ecx
mov esi, edx
jmp 0x46eda4
mov eax, dword [esp + 0x14]
xor edx, edx
mov dl, byte [eax + 1]
mov dword [esp + 0x24], 2
mov ebx, 0x20c
mov esi, edx
jmp 0x46eda4
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [eax + 1]
xor edx, edx
mov dl, byte [eax + 3]
mov dword [esp + 0x24], 5
mov cl, byte [eax + 2]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
shl ecx, 8
or ecx, edx
mov esi, ecx
jmp 0x46ed9f
mov ecx, dword [esp + 0x14]
xor eax, eax
mov al, byte [ecx + 1]
mov dword [esp + 0x24], 2
mov esi, eax
mov ebx, 0x204
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], eax
lea eax, [ecx + esi*8]
test byte [eax], 2
je 0x46edc2
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x46edba
xor edi, edi
mov dword [esp + 0x2c], 1
mov dword [esp + 0xb8], edi
mov dword [esp + 0x30], edi
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
push esi
push ebx
mov dword [ecx + 0x10], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0xc4]
push edi
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00407d50
add esp, 0x20
test eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], 1
je 0x4756b6
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
cmp byte [edx + ecx], 3
jne 0x46ee35
lea ecx, [edx + ecx + 1]
mov dword [esp + 0x14], ecx
mov ebx, ecx
jmp 0x46f501
add edx, ecx
mov ecx, dword [eax]
inc ecx
mov dword [esp + 0x14], edx
mov dword [eax], ecx
mov ebx, edx
jmp 0x474cbb
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx]
xor edx, edx
mov dl, byte [ebx + 1]
sub ecx, 4
sub eax, 0x18
mov dword [esp + 0x18], ecx
mov edi, edx
mov dword [esp + 0x24], edi
je 0x46ee80
sub eax, 2
je 0x46ee73
mov dword [esp + 0x30], 1
jmp 0x46eead
mov dword [esp + 0x30], 2
jmp 0x46ef5e
mov dword [esp + 0x30], 2
jmp 0x46f3e5
movsx eax, byte [ebx + 1]
push eax
call fcn.00461820
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov eax, dword [esi]
add esp, 4
inc eax
mov dword [esi], eax
mov dword [esp + 0x30], 2
mov al, byte [ebx]
cmp al, 0x20
je 0x46eec3
cmp al, 0x1b
je 0x46eec3
mov eax, dword [ecx]
mov dword [esp + 0x20], 0
jmp 0x46eecc
mov eax, dword [ecx]
mov dword [esp + 0x20], eax
mov eax, dword [ecx - 4]
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x100]
push ecx
push 1
push 1
push str.read
push 0x200
push edx
push eax
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 8]
push eax
mov dword [esp + 0x44], 0xffffffff
call fcn.00406fb0
mov edi, eax
add esp, 0x20
test edi, edi
je 0x46ef1b
mov edx, dword [esp + 0x20]
xor ecx, ecx
test edx, edx
setne cl
inc ecx
mov dword [esp + 0x2c], ecx
jmp 0x46f414
mov edx, dword [ebp + 8]
push 0xffffffffffffffff
push str._n_____reading_value_of_variable_to_increment_
push edx
call fcn.00405960
add esp, 0xc
jmp 0x46efc7
xor eax, eax
mov al, byte [ebx + 1]
mov edi, eax
movsx eax, byte [ebx + 2]
push eax
mov dword [esp + 0x28], edi
call fcn.00461820
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov eax, dword [esi]
add esp, 4
inc eax
mov dword [esi], eax
mov dword [esp + 0x30], 3
mov ecx, dword [ecx]
mov edx, dword [esp + 0x44]
lea eax, [edx + edi*8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x100], eax
test byte [eax], 2
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 1
je 0x46ef96
mov eax, dword [eax + 4]
mov dword [esp + 0x100], eax
test byte [eax], 2
jne 0x46ef87
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push ecx
push eax
mov eax, dword [ebp + 8]
push 1
push 1
push str.read
push 0x200
push edx
push 0
push eax
call fcn.00407720
mov edi, eax
add esp, 0x24
test edi, edi
jne 0x46f414
mov ecx, dword [esi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esp + 0x1c], 1
mov dword [esi], ecx
jg 0x475a58
push esi
call fcn.00460cf0
add esp, 4
jmp 0x475a58
mov edx, dword [esp + 0x44]
movsx ecx, byte [ebx + 2]
xor eax, eax
mov al, byte [ebx + 1]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], 3
mov dword [esp + 0x2c], 0
lea edi, [edx + eax*8]
mov dword [esp + 0x24], eax
test byte [edi], 2
mov dword [esp + 0x28], edi
je 0x46f029
mov edi, dword [edi + 4]
test byte [edi], 2
jne 0x46f01d
mov dword [esp + 0x28], edi
test byte [edi], 0x33
jne 0x46f3c1
mov esi, dword [edi + 4]
test esi, esi
je 0x46f3c1
mov eax, dword [esi + 0xc]
cmp eax, 0x5b0f90
jne 0x46f061
lea edx, [esi + 0x10]
mov dword [esp + 0x130], 1
mov dword [esp + 0x15c], edx
jmp 0x46f115
cmp eax, 0x5b0fa8
jne 0x46f082
lea edx, [esi + 0x10]
mov dword [esp + 0x130], 2
mov dword [esp + 0x15c], edx
jmp 0x46f282
cmp eax, 0x5b0f78
jne 0x46f0b6
fld qword [esi + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.00582bc4
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 4
lea edx, [esi + 0x10]
mov dword [esp + 0x130], eax
mov dword [esp + 0x15c], edx
jmp 0x46f10c
test eax, eax
jne 0x46f0c5
mov eax, dword [esi + 4]
test eax, eax
je 0x46f346
mov eax, dword [esi + 4]
test eax, eax
je 0x46f0d7
mov eax, dword [esi + 8]
test eax, eax
je 0x46f346
lea eax, [esp + 0x130]
push eax
lea ecx, [esp + 0x160]
push ecx
push esi
push 0
call fcn.00462700
add esp, 0x10
test eax, eax
jne 0x46f346
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x28]
cmp eax, 1
jne 0x46f279
mov edx, dword [edx]
mov ecx, dword [esp + 0x20]
lea eax, [edx + ecx]
mov dword [esp + 0x3c], eax
xor eax, edx
jge 0x46f1e3
mov eax, edx
xor eax, ecx
jl 0x46f1e3
mov eax, edx
cdq
mov dword [esp + 0x228], eax
mov eax, dword [esi]
cmp eax, 1
mov dword [esp + 0x22c], edx
jle 0x46f183
dec eax
mov dword [esi], eax
mov esi, dword [esp + 0x22c]
mov eax, ecx
mov ecx, dword [esp + 0x228]
cdq
add eax, ecx
adc edx, esi
push edx
push eax
call fcn.00461b80
mov dword [esp + 0x18], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x10]
mov dword [edi + 4], ecx
jmp 0x46f4ef
mov dword [esp + 0x10], esi
mov eax, dword [esi + 4]
test eax, eax
je 0x46f1a6
cmp eax, dword [0x5b0f40]
je 0x46f19f
push eax
call fcn.00478500
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x46f1ba
mov eax, dword [eax + 4]
test eax, eax
je 0x46f1ba
push esi
call eax
add esp, 4
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x228]
mov ecx, dword [esp + 0x22c]
cdq
add eax, edi
adc edx, ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
mov dword [esi + 0xc], 0x5b0fa8
jmp 0x46f4ef
mov eax, dword [esi]
cmp eax, 1
jle 0x46f22f
dec eax
mov dword [esi], eax
call fcn.00477380
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov edx, dword [esp + 0x10]
mov dword [edx + 4], 0
mov eax, dword [esp + 0x10]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x10]
mov dword [edx + 0xc], 0x5b0f90
mov eax, dword [esp + 0x10]
inc dword [eax]
mov eax, dword [esp + 0x10]
mov dword [edi + 4], eax
jmp 0x46f4ef
mov dword [esp + 0x10], esi
mov eax, dword [esi + 4]
test eax, eax
je 0x46f252
cmp eax, dword [0x5b0f40]
je 0x46f24b
push eax
call fcn.00478500
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x46f266
mov eax, dword [eax + 4]
test eax, eax
je 0x46f266
push esi
call eax
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword [esi + 0x10], ecx
mov dword [esi + 0xc], 0x5b0f90
jmp 0x46f4ef
cmp eax, 2
jne 0x46f346
mov edi, dword [edx + 4]
mov ecx, dword [edx]
mov eax, dword [esp + 0x20]
cdq
mov dword [esp + 0x248], edx
mov edx, ecx
add edx, eax
mov dword [esp + 0x290], edx
mov edx, dword [esp + 0x248]
mov dword [esp + 0x244], eax
mov eax, edi
adc eax, edx
mov edx, dword [esp + 0x290]
xor edx, ecx
mov dword [esp + 0x2f0], edx
mov edx, eax
xor edx, edi
mov dword [esp + 0x2f4], edx
jg 0x46f2f7
jl 0x46f2da
mov edx, dword [esp + 0x2f0]
test edx, edx
jae 0x46f2f7
xor ecx, dword [esp + 0x244]
xor edi, dword [esp + 0x248]
mov dword [esp + 0x94], edi
jg 0x46f346
jl 0x46f2f7
test ecx, ecx
jae 0x46f346
mov ecx, dword [esi]
cmp ecx, 1
jle 0x46f32b
push eax
mov eax, dword [esp + 0x294]
dec ecx
push eax
mov dword [esi], ecx
call fcn.00461b80
mov edx, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x10]
mov dword [edx + 4], ecx
jmp 0x46f4ef
push eax
mov eax, dword [esp + 0x294]
push eax
push esi
mov dword [esp + 0x1c], esi
call fcn.00461be0
add esp, 0xc
jmp 0x46f4ef
mov eax, dword [esi]
cmp eax, 1
jle 0x46f36f
dec eax
push esi
mov dword [esi], eax
call fcn.00460e00
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 4
inc ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x10]
mov dword [edx + 4], ecx
jmp 0x46f373
mov dword [esp + 0x10], esi
call fcn.00477380
mov edx, dword [ebp + 8]
mov esi, eax
mov eax, dword [esp + 0x20]
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], 0x5b0f90
mov ecx, dword [esp + 0x10]
push esi
push ecx
push edx
call fcn.0046d420
mov ecx, dword [esi]
add esp, 0xc
dec ecx
mov edi, eax
mov eax, ecx
test eax, eax
mov dword [esp + 0x1c], edi
mov dword [esi], ecx
jg 0x46f485
jmp 0x46f47c
call fcn.00477380
mov esi, eax
mov eax, dword [esp + 0x20]
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], 0x5b0f90
inc dword [esi]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x24]
mov al, byte [ecx + edx*8]
test al, 2
lea edi, [ecx + edx*8]
je 0x46f3ff
mov edi, dword [edi + 4]
test byte [edi], 2
jne 0x46f3f7
xor eax, eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
test byte [edi], 0x33
jne 0x46f48e
mov eax, dword [edi + 4]
test eax, eax
je 0x46f48e
mov ecx, dword [esp + 0x100]
test ecx, ecx
je 0x46f430
test byte [ecx], 0x30
jne 0x46f48e
mov ecx, dword [eax]
cmp ecx, 1
jle 0x46f455
dec ecx
push eax
mov dword [eax], ecx
call fcn.00460e00
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 4
inc ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
mov dword [edi + 4], eax
jmp 0x46f459
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 8]
push esi
push ecx
push edx
call fcn.0046d420
mov ecx, dword [esi]
add esp, 0xc
dec ecx
mov edi, eax
mov eax, ecx
test eax, eax
mov dword [esp + 0x1c], edi
mov dword [esi], ecx
jg 0x46f485
push esi
call fcn.00460cf0
add esp, 4
test edi, edi
je 0x46f4ef
jmp 0x475a51
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
push edx
push 0x200
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x108]
push esi
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push edi
push eax
call fcn.00408120
mov dword [esp + 0x30], eax
mov ecx, dword [esi]
add esp, 0x20
dec ecx
mov eax, ecx
test eax, eax
mov dword [esp + 0x34], 1
mov dword [esi], ecx
jg 0x46f4e3
push esi
call fcn.00460cf0
add esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x472d11
mov eax, dword [esp + 0x30]
cmp byte [eax + ebx], 3
jne 0x46f56e
lea ebx, [eax + ebx + 1]
mov dword [esp + 0x14], ebx
mov edi, dword [esp + 0x2c]
mov eax, edi
sub eax, 0
je 0x46d95b
dec eax
je 0x475cca
dec eax
je 0x470402
sub edi, 2
mov edx, edi
dec edi
test edx, edx
mov dword [esp + 0x2c], edi
je 0x470402
inc edi
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov ecx, dword [esi]
sub eax, 4
dec ecx
mov dword [esp + 0x18], eax
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x474d83
mov eax, dword [esi + 0xc]
test eax, eax
je 0x474d5b
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x474d5b
push esi
call fcn.00460cf0
jmp 0x474d80
add ebx, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
inc ecx
mov dword [esp + 0x14], ebx
mov dword [eax], ecx
jmp 0x474cbb
xor eax, eax
mov ah, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 3]
xor edx, edx
mov dl, byte [ebx + 4]
mov al, byte [ebx + 2]
shl eax, 8
or eax, ecx
mov ecx, dword [esp + 0x44]
shl eax, 8
or eax, edx
lea esi, [ecx + eax*8]
test byte [esi], 2
je 0x46f5b2
mov esi, dword [esi + 4]
test byte [esi], 2
jne 0x46f5aa
test byte [esi], 0x10
je 0x46f603
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
push eax
push 0
push 0x10
push 0
push 0
push esi
mov dword [ecx + 0x10], edx
mov edx, dword [ebp + 8]
push 0
push edx
call fcn.00450760
mov eax, dword [esi + 4]
add esp, 0x20
test eax, eax
mov dword [esp + 0x34], 1
jne 0x46f603
push 0
push esi
call fcn.00406e10
add esp, 8
mov ecx, dword [esp + 0x48]
xor eax, eax
mov ecx, dword [ecx + eax*4 + 4]
jmp 0x46dc6a
test esi, esi
je 0x46f5f4
mov eax, dword [esi + 4]
test eax, eax
je 0x46f5f4
mov ecx, dword [esp + 0x48]
mov eax, 1
mov ecx, dword [ecx + eax*4 + 4]
jmp 0x46dc6a
xor eax, eax
mov ah, byte [ebx + 1]
xor edx, edx
mov dl, byte [ebx + 3]
xor ecx, ecx
mov cl, byte [ebx + 4]
mov al, byte [ebx + 2]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x18]
mov edi, dword [edx]
shl eax, 8
or eax, ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
lea eax, [ecx + eax*8]
mov dword [esp + 0x70], eax
test byte [eax], 2
je 0x46f662
mov eax, dword [eax + 4]
mov dword [esp + 0x70], eax
test byte [eax], 2
jne 0x46f656
mov ecx, dword [eax]
test cl, 1
je 0x46f69b
test cl, 0x10
jne 0x46f69b
mov eax, dword [eax + 4]
push 0
push edi
push eax
call dword [eax + 0x30]
add esp, 0xc
test eax, eax
je 0x46f71f
lea esi, [eax - 0xc]
test esi, esi
je 0x46f71f
test byte [esi], 0x10
je 0x46f73e
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x3c]
push edx
push eax
mov eax, dword [ebp + 8]
push 1
push 0
push str.access
push 0
push edi
push 0
push eax
call fcn.00407720
mov esi, eax
add esp, 0x24
test esi, esi
je 0x46f71f
test byte [esi], 0x10
jne 0x46f6d3
mov eax, dword [esp + 0x70]
test eax, eax
je 0x46f70e
test byte [eax], 0x10
je 0x46f70e
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
push eax
push 0
push 0x10
push edi
push 0
mov dword [ecx + 0x10], edx
mov ecx, dword [esp + 0x84]
mov edx, dword [ebp + 8]
push esi
push ecx
push edx
call fcn.00450760
mov eax, dword [esp + 0x90]
add esp, 0x20
mov dword [esp + 0x34], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46f73e
push eax
push esi
call fcn.00406e10
add esp, 8
xor eax, eax
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x10], eax
mov ecx, dword [eax]
inc ecx
add ebx, 5
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x475c34
mov eax, dword [esi + 4]
test eax, eax
je 0x46f71f
mov eax, 1
jmp 0x46f721
mov eax, dword [esp + 0x18]
mov edx, dword [eax - 4]
mov edi, dword [eax]
mov dword [esp + 0x2c], 2
mov dword [esp + 0x28], edx
jmp 0x46f777
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov dword [esp + 0x2c], 1
xor edi, edi
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x70]
push edx
push 1
push 0
push str.access
push 0
push edi
push eax
push ecx
call fcn.00406fb0
mov esi, eax
add esp, 0x20
test esi, esi
je 0x46f7fd
test byte [esi], 0x10
jne 0x46f7b1
mov eax, dword [esp + 0x70]
test eax, eax
je 0x46f7ec
test byte [eax], 0x10
je 0x46f7ec
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
push 0xffffffffffffffff
push 0
push 0x10
push edi
push ecx
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x84]
mov eax, dword [ebp + 8]
push esi
push edx
push eax
call fcn.00450760
mov eax, dword [esp + 0x90]
add esp, 0x20
mov dword [esp + 0x34], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46f81a
push eax
push esi
call fcn.00406e10
add esp, 8
xor eax, eax
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x10], eax
mov ecx, dword [eax]
inc ebx
inc ecx
mov dword [esp + 0x14], ebx
mov dword [eax], ecx
jmp 0x474cbb
mov eax, 1
jmp 0x46f7ff
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 4]
mov edi, dword [ebp + 8]
lea edx, [esp + 0x26c]
push edx
push eax
push edi
call fcn.0044cca0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4756b6
mov ecx, dword [edi + 0x64]
mov edx, dword [esp + 0x26c]
lea eax, [esp + 0xc4]
push eax
push 1
push 1
push str.access
push 0x200
mov dword [esp + 0x54], ecx
mov dword [edi + 0x64], edx
mov ecx, dword [esi]
push 0
push ecx
push edi
call fcn.00406fb0
mov edx, dword [esp + 0x60]
mov esi, eax
add esp, 0x20
test esi, esi
mov dword [edi + 0x64], edx
je 0x4756b6
mov dword [esp + 0x1c], 0
jmp 0x46f95c
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
lea eax, [esp + 0xc4]
push eax
mov eax, dword [ebp + 8]
push 1
push 1
push str.access
push 0x202
push 0
push edx
push eax
call fcn.00406fb0
mov esi, eax
add esp, 0x20
test esi, esi
je 0x4756b6
mov eax, dword [esi]
test al, 0x80
jne 0x46f8de
or eax, 0x80
mov dword [esi], eax
inc dword [esi + 8]
mov edi, dword [ebp + 8]
mov dword [esp + 0x1c], 0
jmp 0x46f95c
mov esi, dword [esp + 0x18]
mov edx, dword [esi - 4]
mov edi, dword [ebp + 8]
lea ecx, [esp + 0x28c]
push ecx
push edx
push edi
call fcn.00455da0
add esp, 0xc
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x4756b6
mov eax, dword [edi + 0x64]
mov ecx, dword [eax]
mov edx, dword [esp + 0x28c]
mov dword [eax], edx
lea eax, [esp + 0xc4]
push eax
push 1
push 1
push str.access
push 0x202
mov dword [esp + 0x54], ecx
mov ecx, dword [esi]
push 0
push ecx
push edi
call fcn.00406fb0
mov edx, dword [edi + 0x64]
mov esi, eax
mov eax, dword [esp + 0x60]
add esp, 0x20
test esi, esi
mov dword [edx], eax
je 0x4756b6
movsx eax, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 2]
shl eax, 8
xor edx, edx
mov dl, byte [ebx + 3]
or eax, ecx
xor ecx, ecx
mov cl, byte [ebx + 4]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x44]
shl eax, 8
or eax, ecx
lea ecx, [edx + eax*8]
cmp ecx, esi
mov dword [esp + 0xc4], ecx
je 0x46fa0f
mov edx, dword [ecx]
test edx, 0x870
mov dword [esp + 0x40], edx
jne 0x46fa0f
mov edx, dword [ecx + 4]
test edx, edx
mov dword [esp + 0x8c], edx
je 0x46f9e3
test byte [esp + 0x40], 2
je 0x46fa0f
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x46f9e3
cmp edx, esi
je 0x46fa2a
test byte [edx], 4
je 0x46f9e3
dec dword [edx + 8]
mov eax, dword [edx + 4]
test eax, eax
jne 0x46f9dc
push 0
push edx
call fcn.00406e10
add esp, 8
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx]
and eax, 0xfffffffe
or eax, 2
mov dword [ecx], eax
mov ecx, dword [esp + 0xc4]
mov dword [ecx + 4], esi
test byte [esi], 4
je 0x46fa2a
mov eax, dword [esi + 8]
inc eax
add ebx, 5
mov dword [esi + 8], eax
mov dword [esp + 0x14], ebx
jmp 0x475cca
push eax
push 0
push 0
push esi
push edi
call fcn.00409ec0
add esp, 0x14
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x475a51
add ebx, 5
mov dword [esp + 0x14], ebx
jmp 0x475cca
movsx edx, byte [ebx + 1]
add ebx, edx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
movsx edx, byte [ebx + 1]
xor eax, eax
mov al, byte [ebx + 2]
shl edx, 8
xor ecx, ecx
mov cl, byte [ebx + 3]
mov dword [esp + 0x170], 5
or edx, eax
xor eax, eax
mov al, byte [ebx + 4]
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
mov dword [esp + 0x16c], edx
jmp 0x46fad8
movsx ecx, byte [ebx + 1]
xor edx, edx
mov dl, byte [ebx + 2]
shl ecx, 8
xor eax, eax
mov al, byte [ebx + 3]
mov dword [esp + 0x16c], 5
or ecx, edx
xor edx, edx
mov dl, byte [ebx + 4]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, edx
jmp 0x46fad1
movsx eax, byte [ebx + 1]
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], 2
jmp 0x46fad8
movsx ecx, byte [ebx + 1]
mov dword [esp + 0x16c], 2
mov dword [esp + 0x170], ecx
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x5b0f90
je 0x46fb29
cmp ecx, 0x5b0f60
je 0x46fb29
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x1e8]
push ecx
push eax
push edx
call fcn.00461030
add esp, 0xc
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x475a51
mov edx, dword [esp + 0x1e8]
add ebx, dword [esp + edx*4 + 0x16c]
mov dword [esp + 0x14], ebx
jmp 0x475cca
mov edx, dword [eax + 0x10]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0x1c], 0
mov dword [esp + 0x1e8], ecx
jmp 0x46fb12
movsx eax, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 2]
shl eax, 8
xor edx, edx
mov dl, byte [ebx + 3]
or eax, ecx
xor ecx, ecx
mov cl, byte [ebx + 4]
shl eax, 8
or eax, edx
mov edx, dword [ebp + 0xc]
shl eax, 8
or eax, ecx
mov ecx, dword [edx + 0x54]
mov esi, dword [ecx + eax*8 + 4]
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46fb81
mov eax, ecx
jmp 0x46fb8a
push eax
call fcn.00460ec0
add esp, 4
push eax
push esi
call dword [esi + 0x2c]
add esp, 8
test eax, eax
je 0x46fa2a
add ebx, dword [eax + 0xc]
mov dword [esp + 0x14], ebx
jmp 0x475cca
mov eax, dword [esp + 0x18]
mov esi, dword [eax - 4]
mov edi, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, 0x5b0f90
je 0x46fbf1
cmp eax, 0x5b0f60
je 0x46fbf1
lea eax, [esp + 0x184]
push eax
push esi
push 0
call fcn.00461030
add esp, 0xc
test eax, eax
mov dword [esp + 0x1c], eax
je 0x46fc02
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
push esi
push ebx
mov dword [edx + 0x10], eax
push ecx
jmp 0x473970
mov eax, dword [esi + 0x10]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x184], ecx
mov eax, dword [edi + 0xc]
cmp eax, 0x5b0f90
je 0x46fc44
cmp eax, 0x5b0f60
je 0x46fc44
lea edx, [esp + 0x1ec]
push edx
push edi
push 0
call fcn.00461030
add esp, 0xc
test eax, eax
mov dword [esp + 0x1c], eax
je 0x46fc5f
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 8]
push edi
push ebx
mov dword [eax + 0x10], ecx
push edx
jmp 0x473970
mov ecx, dword [edi + 0x10]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp + 0x1c], 0
mov dword [esp + 0x1ec], eax
jmp 0x46fc66
mov eax, dword [esp + 0x1ec]
cmp byte [ebx], 0x28
mov ecx, dword [esp + 0x184]
jne 0x46fc90
test ecx, ecx
jne 0x46fc7a
test eax, eax
je 0x46fcae
mov ecx, dword [esp + 0x48]
mov eax, 1
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x10], eax
jmp 0x471614
test ecx, ecx
je 0x46fcae
test eax, eax
je 0x46fcae
mov ecx, dword [esp + 0x48]
mov eax, 1
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x10], eax
jmp 0x471614
mov ecx, dword [esp + 0x48]
xor eax, eax
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x10], eax
jmp 0x471614
xor edx, edx
mov dh, byte [ebx + 1]
xor eax, eax
mov al, byte [ebx + 3]
xor ecx, ecx
mov cl, byte [ebx + 4]
mov dl, byte [ebx + 2]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x18]
shl edx, 8
or edx, ecx
mov esi, edx
lea edx, [esi*4]
sub eax, edx
add eax, 4
push eax
push esi
call fcn.0047b190
mov dword [esp + 0x18], eax
mov ecx, dword [eax]
add ebx, 5
add esp, 8
inc ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], esi
mov dword [eax], ecx
jmp 0x474cbb
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
cmp dword [eax + 0xc], 0x5b3ee0
jne 0x46fd38
mov edx, dword [eax + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x214], eax
mov dword [esp + 0x1c], 0
jmp 0x46fd59
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x214]
push ecx
push eax
push edx
call fcn.0047b6d0
add esp, 0xc
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x475a51
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov eax, dword [esp + 0x10]
mov dword [eax + 4], 0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x214]
mov dword [ecx + 0x10], edx
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc], 0x5b0f90
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x475c34
mov eax, dword [esp + 0x18]
mov edi, dword [eax - 4]
mov esi, dword [eax]
cmp dword [edi + 0xc], 0x5b3ee0
jne 0x46fdd5
mov ecx, dword [edi + 0x10]
add ecx, 0x10
mov dword [esp + 0xf4], ecx
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0xcc], eax
mov dword [esp + 0x1c], 0
jmp 0x46fdfe
mov eax, dword [ebp + 8]
lea ecx, [esp + 0xf4]
push ecx
lea edx, [esp + 0xd0]
push edx
push edi
push eax
call fcn.0047b3d0
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x46feab
mov eax, dword [esi + 0xc]
cmp eax, 0x5b3ee0
je 0x46feab
cmp eax, 0x5b0f90
jne 0x46fe1f
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x13c], ecx
jmp 0x46fe3f
mov eax, dword [esp + 0xcc]
lea edx, [esp + 0x13c]
push edx
dec eax
push eax
push esi
push 0
call fcn.004652e0
add esp, 0x10
test eax, eax
jne 0x46feab
mov ecx, dword [esi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x46fe88
mov eax, dword [esi + 0xc]
test eax, eax
je 0x46fe60
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46fe60
push esi
call fcn.00460cf0
jmp 0x46fe85
mov eax, dword [esi + 4]
test eax, eax
je 0x46fe78
cmp eax, dword [0x5b0f40]
je 0x46fe78
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x13c]
add ecx, 0xfffffffc
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xf4]
mov edi, 1
jmp 0x46ff6b
mov edx, dword [ebp + 8]
push esi
push edi
push edx
call fcn.0047baa0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
je 0x4756b6
jmp 0x471616
movsx esi, byte [ebx + 1]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov cl, byte [ebx + 2]
shl esi, 8
xor edx, edx
mov dl, byte [ebx + 3]
mov edi, 5
or esi, ecx
xor ecx, ecx
mov cl, byte [ebx + 4]
shl esi, 8
or esi, edx
shl esi, 8
or esi, ecx
cmp dword [eax + 0xc], 0x5b3ee0
jne 0x46ff24
mov ecx, dword [eax + 0x10]
add ecx, 0x10
mov dword [esp + 0xf4], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0xcc], eax
mov dword [esp + 0x1c], 0
jmp 0x46ff54
lea ecx, [esp + 0xf4]
push ecx
lea edx, [esp + 0xd0]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0047b3d0
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x475a51
mov ecx, dword [esp + 0xf4]
cmp esi, 0xffffffff
jge 0x46ff64
mov edx, dword [esp + 0xcc]
lea esi, [esi + edx + 1]
mov dword [esp + 0x13c], esi
test esi, esi
jl 0x46ff8f
cmp esi, dword [esp + 0xcc]
jge 0x46ff8f
mov ecx, dword [ecx + esi*4]
mov dword [esp + 0x10], ecx
mov edx, dword [ecx]
inc edx
add ebx, edi
mov dword [ecx], edx
mov dword [esp + 0x14], ebx
jmp 0x475c34
call fcn.00477380
mov dword [esp + 0x10], eax
xor ecx, ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [0x5b0f40]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x10]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x10]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
inc edx
add ebx, edi
mov dword [ecx], edx
mov dword [esp + 0x14], ebx
jmp 0x475c34
xor eax, eax
mov ah, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 3]
xor edx, edx
mov dl, byte [ebx + 4]
mov al, byte [ebx + 2]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov esi, eax
mov eax, dword [esp + 0x18]
lea ecx, [esi - 1]
lea edx, [ecx*4]
sub eax, edx
lea edx, [eax + 4]
mov eax, dword [eax]
push edx
push ecx
mov ecx, dword [ebp + 8]
push eax
push ecx
call fcn.0047bba0
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
je 0x4756b6
add ebx, 5
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], esi
jmp 0x474cbb
mov edi, dword [esp + 0x18]
mov esi, dword [edi]
xor ecx, ecx
mov ch, byte [ebx + 1]
xor edx, edx
mov dl, byte [ebx + 3]
xor eax, eax
mov al, byte [ebx + 4]
sub edi, 4
mov dword [esp + 0x18], edi
mov cl, byte [ebx + 2]
shl ecx, 8
or ecx, edx
mov edx, dword [esi]
shl ecx, 8
or ecx, eax
sub ecx, 2
dec edx
mov eax, edx
test eax, eax
mov dword [esp + 0x3c], ecx
mov dword [esi], edx
jg 0x470071
push esi
call fcn.00460cf0
mov ecx, dword [esp + 0x40]
add esp, 4
mov eax, dword [edi]
push eax
mov eax, dword [ebp + 8]
lea edx, [ecx*4]
sub edi, edx
push edi
push ecx
push esi
push eax
call fcn.0047be20
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
je 0x4756b6
mov ecx, dword [esp + 0x3c]
add ebx, 5
inc ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], ecx
jmp 0x474cbb
mov edi, dword [esp + 0x18]
mov esi, dword [edi]
mov ecx, dword [esi]
sub edi, 4
dec ecx
mov eax, ecx
test eax, eax
mov dword [esp + 0x18], edi
mov dword [esi], ecx
jg 0x4700ce
push esi
call fcn.00460cf0
add esp, 4
mov eax, dword [edi]
mov edi, dword [edi - 4]
mov edx, dword [ebp + 8]
push eax
push edi
push esi
push edx
call fcn.0047bd10
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
je 0x4756b6
jmp 0x471616
movsx edi, byte [ebx + 1]
movsx esi, byte [ebx + 5]
xor ecx, ecx
mov cl, byte [ebx + 2]
xor edx, edx
mov dl, byte [ebx + 3]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
shl edi, 8
shl esi, 8
or edi, ecx
xor ecx, ecx
mov cl, byte [ebx + 4]
shl edi, 8
or edi, edx
xor edx, edx
mov dl, byte [ebx + 6]
shl edi, 8
or edi, ecx
xor ecx, ecx
mov cl, byte [ebx + 7]
or esi, edx
xor edx, edx
mov dl, byte [ebx + 8]
shl esi, 8
or esi, ecx
mov ecx, dword [eax + 0xc]
shl esi, 8
or esi, edx
cmp ecx, 0x5b3ee0
jne 0x47016c
mov ecx, dword [eax + 0x10]
add ecx, 0x10
mov dword [esp + 0x204], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x224], eax
mov dword [esp + 0x1c], 0
jmp 0x4701a3
lea ecx, [esp + 0x204]
push ecx
lea edx, [esp + 0x228]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0047b3d0
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x475a51
mov ecx, dword [esp + 0x204]
mov eax, dword [esp + 0x224]
cmp byte [ebx + 9], 3
jne 0x4701b5
add ebx, 0xa
mov dword [esp + 0x14], ebx
jmp 0x475cca
cmp edi, 0xffffffff
jge 0x4701c8
lea edi, [edi + eax + 1]
cmp edi, 0xffffffff
jge 0x4701ce
or edi, 0xffffffff
jmp 0x4701ce
cmp edi, eax
jle 0x4701ce
mov edi, eax
cmp esi, 0xffffffff
jge 0x4701e1
lea esi, [esi + eax + 1]
cmp esi, 0xffffffff
jge 0x4701e7
or esi, 0xffffffff
jmp 0x4701e7
cmp esi, eax
jle 0x4701e7
mov esi, eax
cmp edi, esi
jg 0x470225
cmp edi, eax
jge 0x470225
test esi, esi
jl 0x470225
test edi, edi
jge 0x4701f9
xor edi, edi
cmp esi, eax
jl 0x470200
lea esi, [eax - 1]
lea ecx, [ecx + edi*4]
sub esi, edi
push ecx
inc esi
push esi
call fcn.0047b190
mov dword [esp + 0x18], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
add ebx, 9
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x475c34
call fcn.00477380
mov dword [esp + 0x10], eax
xor ecx, ecx
mov dword [eax], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [0x5b0f40]
mov dword [edx + 4], eax
mov edx, dword [esp + 0x10]
mov dword [edx + 8], ecx
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
inc ecx
add ebx, 9
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x475c34
mov eax, dword [esp + 0x18]
mov edi, dword [eax]
mov eax, dword [eax - 4]
mov ecx, dword [eax + 4]
xor esi, esi
cmp ecx, esi
mov dword [esp + 0x40], edi
je 0x47028a
mov ecx, dword [eax + 8]
mov dword [esp + 0x20c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x3c], edx
jmp 0x47029f
lea ecx, [esp + 0x20c]
push ecx
push eax
call fcn.00460f00
add esp, 8
mov dword [esp + 0x3c], eax
cmp dword [edi + 0xc], 0x5b3ee0
jne 0x4702bb
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x1c], esi
jmp 0x4702dc
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x18c]
push ecx
push edi
push edx
call fcn.0047b6d0
add esp, 0xc
cmp eax, esi
mov dword [esp + 0x1c], eax
jne 0x475a51
mov eax, dword [esp + 0x18c]
test eax, eax
jle 0x4703b0
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x25c]
push eax
push ecx
push edi
push 0
call fcn.0047b650
mov eax, dword [esp + 0x26c]
add esp, 0x10
test eax, eax
je 0x47033f
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x47032c
mov edx, dword [eax + 8]
mov dword [esp + 0x1d8], edx
mov eax, dword [eax + 4]
jmp 0x470344
lea ecx, [esp + 0x1d8]
push ecx
push eax
call fcn.00460f00
add esp, 8
jmp 0x470344
mov eax, 0x5debc4
mov edx, dword [esp + 0x1d8]
cmp dword [esp + 0x20c], edx
jne 0x470394
mov esi, dword [esp + 0x3c]
mov edi, eax
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x470382
test al, al
je 0x47037e
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x470382
add esi, 2
add edi, 2
test al, al
jne 0x47035a
xor eax, eax
jmp 0x470387
sbb eax, eax
sbb eax, 0xffffffff
mov edi, dword [esp + 0x40]
xor ecx, ecx
test eax, eax
sete cl
mov esi, ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18c]
inc eax
cmp eax, ecx
mov dword [esp + 0x28], eax
jge 0x4703b0
test esi, esi
je 0x4702f3
cmp byte [ebx], 0x6b
jne 0x4703be
xor edx, edx
test esi, esi
sete dl
mov esi, edx
inc ebx
xor eax, eax
mov al, byte [ebx]
mov dword [esp + 0x14], ebx
add eax, 0xffffffdc
cmp eax, 3
ja case.default.0x4703d3
jmp dword [eax*4 + 0x47602c]
test esi, esi
jmp 0x4712d5
test esi, esi
je 0x4712fa
movsx eax, byte [ebx + 1]
jmp 0x4703fc
test esi, esi
je 0x47130f
mov eax, 5
add ebx, eax
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov ecx, dword [esi]
sub eax, 4
dec ecx
mov dword [esp + 0x18], eax
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x475cca
mov eax, dword [esi + 0xc]
test eax, eax
je 0x475ca2
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x475ca2
push esi
call fcn.00460cf0
jmp 0x475cc7
test esi, esi
je 0x4703f7
movsx eax, byte [ebx + 1]
xor edx, edx
mov dl, byte [ebx + 2]
shl eax, 8
xor ecx, ecx
mov cl, byte [ebx + 3]
or eax, edx
xor edx, edx
mov dl, byte [ebx + 4]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x4703fc
mov eax, dword [esp + 0x48]
mov eax, dword [eax + esi*4 + 4]
mov dword [esp + 0x10], eax
inc dword [eax]
jmp 0x47161b
mov eax, dword [esp + 0x18]
mov edi, dword [eax]
mov eax, dword [eax - 4]
cmp eax, edi
jne 0x470491
xor eax, eax
cmp cl, 0x49
jmp 0x470585
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4704a7
mov ecx, dword [eax + 8]
mov dword [esp + 0x1e4], ecx
mov esi, dword [eax + 4]
jmp 0x4704ba
lea edx, [esp + 0x1e4]
push edx
push eax
call fcn.00460f00
add esp, 8
mov esi, eax
mov eax, dword [edi + 4]
test eax, eax
je 0x4704d0
mov eax, dword [edi + 8]
mov dword [esp + 0x21c], eax
mov eax, dword [edi + 4]
jmp 0x4704e1
lea ecx, [esp + 0x21c]
push ecx
push edi
call fcn.00460f00
add esp, 8
mov edx, dword [esp + 0x21c]
cmp dword [esp + 0x1e4], edx
jne 0x47057e
cmp byte [ebx], 0x4a
mov edi, eax
jne 0x47053d
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x47052d
test al, al
je 0x470520
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x47052d
add esi, 2
add edi, 2
test al, al
jne 0x4704fc
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
jmp 0x470588
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
jmp 0x470588
mov dl, byte [esi]
mov cl, byte [edi]
mov al, dl
cmp dl, cl
jne 0x47056e
test al, al
je 0x470561
mov cl, byte [esi + 1]
mov dl, byte [edi + 1]
mov al, cl
cmp cl, dl
jne 0x47056e
add esi, 2
add edi, 2
test al, al
jne 0x47053d
xor eax, eax
xor edx, edx
test eax, eax
sete dl
mov eax, edx
jmp 0x470588
sbb eax, eax
sbb eax, 0xffffffff
xor edx, edx
test eax, eax
sete dl
mov eax, edx
jmp 0x470588
mov cl, byte [ebx]
xor eax, eax
cmp cl, 0x4a
sete al
inc ebx
xor ecx, ecx
mov cl, byte [ebx]
mov dword [esp + 0x14], ebx
add ecx, 0xffffffdc
cmp ecx, 3
ja case.default.0x470599
jmp dword [ecx*4 + 0x47603c]
test eax, eax
je 0x4712fa
movsx eax, byte [ebx + 1]
jmp 0x4703fc
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x10], eax
inc dword [eax]
jmp 0x47161b
mov eax, dword [esp + 0x18]
mov edi, dword [eax - 4]
mov edx, dword [eax]
mov eax, dword [edi + 0xc]
xor esi, esi
cmp eax, 0x5b0f90
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], esi
jne 0x470610
mov eax, 1
add edi, 0x10
mov dword [esp + 0x110], eax
mov dword [esp + 0x108], edi
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x28], edx
jne 0x4706c1
xor esi, esi
jmp case.default.0x470d0b
cmp eax, 0x5b0fa8
jne 0x47061e
mov eax, 2
jmp 0x4705ea
cmp eax, 0x5b0f78
jne 0x470656
mov eax, dword [esp + 0x28]
fld qword [eax + 0x10]
lea edi, [eax + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.00582bc4
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 4
mov dword [esp + 0x110], eax
mov dword [esp + 0x108], edi
jmp 0x4706a6
cmp eax, esi
jne 0x470663
cmp dword [edi + 4], esi
je case.0x46da54.75
cmp dword [edi + 4], esi
je 0x470671
cmp dword [edi + 8], esi
je case.0x46da54.75
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x110]
push ecx
lea edx, [esp + 0x10c]
push edx
push eax
push 0
call fcn.00462700
add esp, 0x10
test eax, eax
jne case.0x46da54.75
mov eax, dword [esp + 0x110]
mov edi, dword [esp + 0x108]
cmp eax, 5
jne 0x4705fb
mov al, byte [ebx]
xor ecx, ecx
cmp al, 0x2e
sete cl
mov dword [esp + 0x24], ecx
jmp case.default.0x471260
mov ecx, dword [edx + 0xc]
cmp ecx, 0x5b0f90
jne 0x4706eb
mov edx, dword [esp + 0x20]
mov ecx, 1
add edx, 0x10
mov dword [esp + 0x120], ecx
mov dword [esp + 0xf8], edx
jmp 0x470cea
cmp ecx, 0x5b0fa8
jne 0x470712
mov edx, dword [esp + 0x20]
mov ecx, 2
add edx, 0x10
mov dword [esp + 0x120], ecx
mov dword [esp + 0xf8], edx
jmp 0x470cea
cmp ecx, 0x5b0f78
jne 0x470752
mov eax, dword [esp + 0x20]
fld qword [eax + 0x10]
lea edi, [eax + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.00582bc4
add esp, 8
mov ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 4
mov edx, edi
mov dword [esp + 0x120], ecx
mov dword [esp + 0xf8], edx
jmp 0x470cc8
test ecx, ecx
jne 0x47075d
mov eax, dword [edx + 4]
test eax, eax
je case.0x46da54.75
mov eax, dword [edx + 4]
test eax, eax
je 0x47076b
mov eax, dword [edx + 8]
test eax, eax
je case.0x46da54.75
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x120]
push ecx
lea edx, [esp + 0xfc]
push edx
push eax
push 0
call fcn.00462700
add esp, 0x10
test eax, eax
je 0x470cba
mov eax, dword [esp + 0x18]
mov edi, dword [eax]
mov esi, dword [eax - 4]
cmp esi, edi
jne 0x4707b1
xor edx, edx
mov dword [esp + 0xb0], edx
mov dword [esp + 0x74], edx
jmp 0x4708fb
mov eax, dword [esi + 0xc]
cmp eax, 0x5b0d50
jne 0x47080c
cmp dword [edi + 0xc], 0x5b0d50
jne 0x47080c
lea ecx, [esp + 0x74]
push ecx
push esi
call fcn.0045e760
lea edx, [esp + 0xb8]
push edx
push edi
mov esi, eax
call fcn.0045e760
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0xc0]
add esp, 0x10
cmp edx, ecx
jge 0x4707f6
mov ecx, edx
mov edi, eax
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4708f7
sbb eax, eax
sbb eax, 0xffffffff
jmp 0x4708f7
cmp eax, 0x5b3cb8
jne 0x47088a
cmp dword [edi + 0xc], 0x5b3cb8
jne 0x47088a
push esi
call fcn.00478920
push edi
mov dword [esp + 0x7c], eax
call fcn.00478920
mov edx, dword [esp + 0x7c]
mov dword [esp + 0xb8], eax
mov ecx, dword [esi + 8]
add esp, 8
cmp edx, ecx
jne 0x470868
cmp eax, dword [edi + 8]
jne 0x470868
cmp edx, eax
jge 0x47084c
mov eax, edx
mov edi, dword [edi + 4]
mov esi, dword [esi + 4]
mov ecx, eax
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4708f7
sbb eax, eax
sbb eax, 0xffffffff
jmp 0x4708f7
cmp edx, eax
jge 0x47086e
mov eax, edx
push eax
push edi
call fcn.004789f0
add esp, 4
push eax
push esi
call fcn.004789f0
add esp, 4
push eax
call fcn.0048f3c0
jmp 0x4708ed
mov eax, dword [esi + 4]
test eax, eax
je 0x47089d
mov eax, dword [esi + 8]
mov dword [esp + 0x74], eax
mov esi, dword [esi + 4]
jmp 0x4708ad
lea ecx, [esp + 0x74]
push ecx
push esi
call fcn.00460f00
add esp, 8
mov esi, eax
mov eax, dword [edi + 4]
test eax, eax
je 0x4708c3
mov ecx, dword [edi + 8]
mov dword [esp + 0xb0], ecx
mov eax, dword [edi + 4]
jmp 0x4708db
lea edx, [esp + 0xb0]
push edx
push edi
call fcn.00460f00
mov ecx, dword [esp + 0xb8]
add esp, 8
mov edx, dword [esp + 0x74]
cmp edx, ecx
jge 0x4708e5
mov ecx, edx
push ecx
push eax
push esi
call fcn.0048f080
mov edx, dword [esp + 0x80]
add esp, 0xc
test eax, eax
jne 0x470904
sub edx, dword [esp + 0xb0]
mov eax, edx
xor ecx, ecx
mov cl, byte [ebx]
cmp cl, 0x4b
je case.default.0x47091b
and ecx, 0xff
add ecx, 0xffffffd3
cmp ecx, 5
ja case.default.0x47091b
jmp dword [ecx*4 + 0x47604c]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp case.default.0x47091b
xor edx, edx
test eax, eax
setne dl
jmp 0x47095c
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp case.default.0x47091b
xor edx, edx
test eax, eax
setg dl
jmp 0x47095c
xor ecx, ecx
test eax, eax
setle cl
mov eax, ecx
jmp case.default.0x47091b
xor edx, edx
test eax, eax
setge dl
mov eax, edx
test eax, eax
jge 0x470981
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov eax, dword [esp + 0x10]
mov dword [eax + 4], 0
jmp 0x472cb2
mov edx, dword [esp + 0x48]
xor ecx, ecx
test eax, eax
setg cl
mov eax, dword [edx + ecx*4 + 4]
mov dword [esp + 0x10], eax
jmp 0x471614
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp dword [eax + 0xc], 0x5b0d50
jne 0x4709bb
lea ecx, [esp + 0x200]
push ecx
push eax
call fcn.0045e760
add esp, 8
jmp 0x4709cb
push eax
call fcn.00478920
add esp, 4
mov dword [esp + 0x200], eax
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov edx, dword [esp + 0x10]
mov dword [edx + 4], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x200]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x10]
mov dword [edx + 0xc], 0x5b0f90
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x475c34
mov eax, dword [esp + 0x18]
mov esi, dword [eax - 4]
mov edi, dword [eax]
cmp dword [esi + 0xc], 0x5b0d50
mov dword [esp + 0x3c], 0
jne 0x470a49
lea eax, [esp + 0x154]
push eax
push esi
call fcn.0045e760
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x15c]
add esp, 8
jmp 0x470a59
push esi
call fcn.00478920
add esp, 4
mov dword [esp + 0x154], eax
cmp dword [edi + 0xc], 0x5b0f90
jne 0x470a76
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x208], ecx
mov dword [esp + 0x1c], 0
jmp 0x470aa7
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x208]
push ecx
dec eax
push eax
push edi
push edx
call fcn.004652e0
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x475a51
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x208]
xor edi, edi
cmp ecx, edi
jl 0x470b39
cmp ecx, eax
jge 0x470b39
cmp dword [esi + 0xc], 0x5b0d50
jne 0x470adc
mov eax, dword [esp + 0x3c]
add ecx, eax
push 1
push ecx
call fcn.0045e680
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x471614
mov edx, dword [esi + 4]
cmp edx, edi
je 0x470afe
cmp eax, dword [esi + 8]
jne 0x470afe
add ecx, edx
push 1
push ecx
call fcn.00478830
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x471614
push ecx
push esi
call fcn.004789a0
lea ecx, [esp + 0x248]
push ecx
and eax, 0xffff
push eax
call fcn.0048e880
push eax
lea edx, [esp + 0x254]
push edx
mov dword [esp + 0x16c], eax
call fcn.00478830
add esp, 0x18
mov dword [esp + 0x10], eax
jmp 0x471614
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [0x5b0f40]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x10]
mov dword [edx + 8], edi
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc], edi
jmp 0x471610
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
movsx ecx, byte [ebx + 1]
mov edi, dword [eax - 4]
mov eax, dword [esi + 0xc]
cmp eax, 0x5b3cb8
mov dword [esp + 0x3c], ecx
je 0x470c03
cmp dword [edi + 0xc], 0x5b3cb8
je 0x470c03
cmp eax, 0x5b0d50
jne 0x470bd0
test ecx, ecx
jne 0x470bd0
lea ecx, [esp + 0x268]
push ecx
push esi
call fcn.0045e760
lea edx, [esp + 0x2ac]
push edx
push edi
mov esi, eax
call fcn.0045e760
mov ecx, dword [esp + 0x2b4]
mov edx, dword [esp + 0x278]
push 0
push ecx
push eax
push edx
push esi
call fcn.004648a0
jmp 0x470c3d
mov eax, dword [edi + 4]
test eax, eax
jne 0x470be0
push edi
call fcn.00460ec0
add esp, 4
mov edi, eax
mov eax, dword [esi + 4]
test eax, eax
jne 0x470bf2
push esi
call fcn.00460ec0
add esp, 4
mov ecx, dword [esp + 0x3c]
push ecx
push edi
push eax
call fcn.00464470
add esp, 0xc
jmp 0x470c40
lea edx, [esp + 0x2a8]
push edx
push esi
call fcn.00478a30
mov esi, eax
lea eax, [esp + 0x2b4]
push eax
push edi
call fcn.00478a30
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x2bc]
push ecx
push edx
push eax
mov eax, dword [esp + 0x2c4]
push eax
push esi
call fcn.0048f9e0
add esp, 0x24
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x10], eax
inc dword [eax]
add ebx, 2
jmp 0x471617
movsx ecx, byte [ebx + 1]
mov eax, dword [esp + 0x18]
mov edi, dword [eax]
mov eax, dword [eax - 4]
mov esi, dword [ebp + 8]
push ecx
push eax
push esi
call fcn.0048b580
add esp, 0xc
test eax, eax
je 0x470c8a
push 0
push 0
push 0
push edi
push eax
push esi
call fcn.0048b490
add esp, 0x18
test eax, eax
jge 0x470ca4
push esi
call fcn.0040c190
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], 1
jmp 0x475a58
mov edx, dword [esp + 0x48]
mov eax, dword [edx + eax*4 + 4]
mov dword [esp + 0x10], eax
inc dword [eax]
add ebx, 2
jmp 0x471617
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0xf8]
cmp ecx, 5
jne 0x470cdc
mov cl, byte [ebx]
xor eax, eax
cmp cl, 0x2e
sete al
jmp 0x4712af
mov eax, dword [esp + 0x110]
mov edi, dword [esp + 0x108]
dec eax
cmp eax, 3
ja case.default.0x470d0b
jmp dword [eax*4 + 0x476064]
mov eax, dword [edi]
dec ecx
cmp ecx, 3
mov dword [esp + 0x40], eax
ja case.default.0x470d0b
jmp dword [ecx*4 + 0x476074]
mov esi, dword [edx]
cmp eax, esi
jge 0x470eb1
or esi, 0xffffffff
jmp case.default.0x470d0b
mov esi, dword [edx]
mov edi, dword [edx + 4]
cdq
jmp 0x470f65
mov ecx, dword [edx]
fild dword [esp + 0x40]
mov edx, dword [edx + 4]
mov dword [esp + 0x68], ecx
fstp qword [esp + 0x80]
mov dword [esp + 0x6c], edx
jmp 0x4711bf
mov eax, dword [edi]
mov dword [esp + 0x114], eax
mov eax, dword [edi + 4]
dec ecx
cmp ecx, 3
mov dword [esp + 0x118], eax
ja case.default.0x470d0b
jmp dword [ecx*4 + 0x476084]
mov esi, dword [edx]
mov edi, dword [edx + 4]
jmp 0x470f73
mov eax, dword [edx]
cdq
mov esi, eax
mov edi, edx
jmp 0x470f73
mov ecx, dword [edx]
fild qword [esp + 0x114]
mov edx, dword [edx + 4]
mov dword [esp + 0x68], ecx
fst qword [esp + 0x80]
mov dword [esp + 0x6c], edx
call fcn.00582b68
cmp dword [esp + 0x114], eax
jne 0x470dbc
cmp dword [esp + 0x118], edx
je 0x4711bf
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
lea eax, [esp + 0x298]
push eax
push ecx
push edx
call fcn.00582cf9
fcomp qword [0x5940e0]
add esp, 0xc
fnstsw ax
test ah, 0x40
je 0x4711bf
fld qword [esp + 0x68]
fcomp qword [0x594bb8]
fnstsw ax
test ah, 1
je 0x470e02
mov esi, 1
jmp case.default.0x470d0b
fld qword [esp + 0x68]
fcomp qword [0x594bb0]
fnstsw ax
test ah, 0x41
jne 0x470e1b
or esi, 0xffffffff
jmp case.default.0x470d0b
fld qword [esp + 0x68]
call fcn.00582b68
mov esi, eax
mov edi, edx
jmp 0x470f73
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x190]
push eax
push ecx
push 0
call fcn.004623c0
lea edx, [esp + 0x19c]
push 0
push edx
call fcn.00489b70
mov esi, eax
inc esi
neg esi
sbb esi, esi
lea eax, [esp + 0x1a4]
and esi, 0xfffffffe
push eax
inc esi
call fcn.004897e0
add esp, 0x18
jmp case.default.0x470d0b
mov eax, dword [edi]
mov edi, dword [edi + 4]
dec ecx
cmp ecx, 3
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
ja case.default.0x470d0b
jmp dword [ecx*4 + 0x476094]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
jmp 0x4711bf
fild dword [edx]
fstp qword [esp + 0x68]
jmp 0x4711bf
xor ecx, ecx
cmp eax, esi
setg cl
mov esi, ecx
jmp case.default.0x470d0b
mov esi, dword [edx]
mov edi, dword [edx + 4]
mov dword [esp + 0x360], esi
mov dword [esp + 0x364], edi
fild qword [esp + 0x360]
fst qword [esp + 0x68]
call fcn.00582b68
cmp esi, eax
jne 0x470eee
cmp edi, edx
je 0x4711bf
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x298]
push edx
push eax
push ecx
call fcn.00582cf9
fcomp qword [0x5940e0]
add esp, 0xc
fnstsw ax
test ah, 0x40
je 0x4711bf
fld qword [esp + 0x80]
fcomp qword [0x594bb8]
fnstsw ax
test ah, 1
je 0x470f3b
or esi, 0xffffffff
jmp case.default.0x470d0b
fld qword [esp + 0x80]
fcomp qword [0x594bb0]
fnstsw ax
test ah, 0x41
jne 0x470f59
mov esi, 1
jmp case.default.0x470d0b
fld qword [esp + 0x80]
call fcn.00582b68
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], edx
mov eax, dword [esp + 0x118]
cmp eax, edi
jg 0x470fa8
jl 0x470f89
cmp dword [esp + 0x114], esi
jae 0x470f91
or esi, 0xffffffff
jmp case.default.0x470d0b
cmp eax, edi
jl 0x470609
jg 0x470fa8
cmp dword [esp + 0x114], esi
jbe 0x470609
mov esi, 1
jmp case.default.0x470d0b
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
push esi
push edi
call fcn.00582bb0
add esp, 8
test eax, eax
jne 0x470ff0
fld qword [esp + 0x80]
fcomp qword [0x5940e0]
fnstsw ax
test ah, 0x41
jne 0x4711d1
mov esi, 1
jmp case.default.0x470d0b
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x190]
push edx
push eax
push 0
call fcn.004623c0
fld qword [esp + 0x8c]
fcomp qword [0x5940f8]
add esp, 0xc
fnstsw ax
test ah, 1
je 0x47105e
fld qword [esp + 0x80]
fcomp qword [0x5940f0]
fnstsw ax
test ah, 0x41
jne 0x47105e
lea ecx, [esp + 0x190]
push 0
push ecx
call fcn.00489b70
mov esi, eax
inc esi
neg esi
sbb esi, esi
lea edx, [esp + 0x198]
and esi, 0xfffffffe
push edx
inc esi
call fcn.004897e0
add esp, 0xc
jmp case.default.0x470d0b
lea eax, [esp + 0x298]
push eax
push esi
push edi
call fcn.00582cf9
fcomp qword [0x5940e0]
add esp, 0xc
fnstsw ax
test ah, 0x40
jne 0x47109a
lea ecx, [esp + 0x190]
push ecx
call fcn.00489070
fstp qword [esp + 0x6c]
lea edx, [esp + 0x194]
jmp 0x4711b6
lea eax, [esp + 0x230]
push eax
push esi
push edi
push 0
call fcn.00488f70
add esp, 0x10
jmp 0x471220
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x230]
push ecx
push edx
push 0
call fcn.004623c0
mov eax, dword [esp + 0x12c]
add esp, 0xc
dec eax
cmp eax, 3
ja case.default.0x470d0b
jmp dword [eax*4 + 0x4760a4]
mov eax, dword [esp + 0xf8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov esi, edx
mov edi, ecx
push esi
push edi
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
call fcn.00582bb0
fld qword [esp + 0x70]
add esp, 8
test eax, eax
jne 0x471138
fcomp qword [0x5940e0]
fnstsw ax
test ah, 0x41
jne 0x47111e
or esi, 0xffffffff
jmp 0x471123
mov esi, 1
lea eax, [esp + 0x230]
push eax
call fcn.004897e0
add esp, 4
jmp case.default.0x470d0b
fcomp qword [0x5940f8]
fnstsw ax
test ah, 1
je 0x47117c
fld qword [esp + 0x68]
fcomp qword [0x5940f0]
fnstsw ax
test ah, 0x41
jne 0x47117c
lea ecx, [esp + 0x230]
push 0
push ecx
call fcn.00489b70
lea edx, [esp + 0x238]
push edx
mov esi, eax
call fcn.004897e0
add esp, 0xc
jmp case.default.0x470d0b
lea eax, [esp + 0x298]
push eax
push esi
push edi
call fcn.00582cf9
fcomp qword [0x5940e0]
add esp, 0xc
fnstsw ax
test ah, 0x40
jne 0x4711f3
lea ecx, [esp + 0x230]
push ecx
call fcn.00489070
fstp qword [esp + 0x84]
lea edx, [esp + 0x234]
push edx
call fcn.004897e0
add esp, 8
fld qword [esp + 0x80]
fcomp qword [esp + 0x68]
fnstsw ax
test ah, 1
je 0x4711d6
or esi, 0xffffffff
jmp case.default.0x470d0b
fld qword [esp + 0x80]
fcomp qword [esp + 0x68]
fnstsw ax
test ah, 0x41
jne 0x470609
mov esi, 1
jmp case.default.0x470d0b
lea eax, [esp + 0x190]
push eax
push esi
push edi
push 0
call fcn.00488f70
add esp, 0x10
jmp 0x471220
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x190]
push ecx
push edx
push 0
call fcn.004623c0
add esp, 0xc
lea eax, [esp + 0x190]
push eax
lea ecx, [esp + 0x234]
push ecx
call fcn.004b5300
lea edx, [esp + 0x238]
push edx
mov esi, eax
call fcn.004897e0
lea eax, [esp + 0x19c]
push eax
call fcn.004897e0
add esp, 0x10
xor eax, eax
mov al, byte [ebx]
add eax, 0xffffffd3
cmp eax, 5
ja case.default.0x471260
jmp dword [eax*4 + 0x4760b4]
xor ecx, ecx
test esi, esi
sete cl
mov dword [esp + 0x24], ecx
jmp case.default.0x471260
xor edx, edx
test esi, esi
setne dl
mov dword [esp + 0x24], edx
jmp case.default.0x471260
xor eax, eax
cmp esi, 0xffffffff
sete al
jmp 0x4712af
xor ecx, ecx
cmp esi, 1
sete cl
mov dword [esp + 0x24], ecx
jmp case.default.0x471260
xor edx, edx
cmp esi, 1
setne dl
mov dword [esp + 0x24], edx
jmp case.default.0x471260
xor eax, eax
cmp esi, 0xffffffff
setne al
mov dword [esp + 0x24], eax
inc ebx
xor eax, eax
mov al, byte [ebx]
mov dword [esp + 0x14], ebx
add eax, 0xffffffdc
cmp eax, 3
ja case.default.0x4712c8
jmp dword [eax*4 + 0x4760cc]
mov eax, dword [esp + 0x24]
test eax, eax
mov eax, 2
jne 0x4703fc
movsx eax, byte [ebx + 1]
jmp 0x4703fc
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4712fa
movsx eax, byte [ebx + 1]
jmp 0x4703fc
mov eax, 2
jmp 0x4703fc
mov eax, dword [esp + 0x24]
test eax, eax
jmp 0x4703f1
movsx eax, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 2]
shl eax, 8
xor edx, edx
mov dl, byte [ebx + 3]
or eax, ecx
xor ecx, ecx
mov cl, byte [ebx + 4]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x4703fc
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4703f7
movsx eax, byte [ebx + 1]
xor edx, edx
mov dl, byte [ebx + 2]
shl eax, 8
xor ecx, ecx
mov cl, byte [ebx + 3]
or eax, edx
xor edx, edx
mov dl, byte [ebx + 4]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x4703fc
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x48]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esp + 0x10], eax
inc dword [eax]
jmp 0x47161b
mov eax, dword [esp + 0x18]
mov edi, dword [eax - 4]
mov esi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, 0x5b0f90
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], edi
jne 0x4713b3
mov ecx, 1
add edi, 0x10
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x7c], edi
jmp 0x471462
cmp eax, 0x5b0fa8
jne 0x4713d2
mov ecx, 2
add edi, 0x10
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x7c], edi
jmp 0x471462
cmp eax, 0x5b0f78
jne 0x471405
fld qword [edi + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.00582bc4
mov ecx, eax
add esp, 8
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 4
lea eax, [edi + 0x10]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x7c], eax
jmp 0x471450
test eax, eax
jne 0x471414
mov eax, dword [edi + 4]
test eax, eax
je 0x472624
mov eax, dword [edi + 4]
test eax, eax
je 0x471426
mov eax, dword [edi + 8]
test eax, eax
je 0x472624
lea edx, [esp + 0xc8]
push edx
lea eax, [esp + 0x80]
push eax
push edi
push 0
call fcn.00462700
add esp, 0x10
test eax, eax
jne 0x472624
mov ecx, dword [esp + 0xc8]
cmp ecx, 4
je 0x472624
cmp ecx, 5
je 0x472624
mov eax, dword [esi + 0xc]
cmp eax, 0x5b0f90
jne 0x471473
mov eax, 1
jmp 0x47147f
cmp eax, 0x5b0fa8
jne 0x47149d
mov eax, 2
lea edx, [esi + 0x10]
mov dword [esp + 0xfc], eax
mov dword [esp + 0xb4], edx
mov dword [esp + 0x1c], 0
jmp 0x47154a
cmp eax, 0x5b0f78
jne 0x4714db
fld qword [esi + 0x10]
lea edi, [esi + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.00582bc4
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 4
mov edx, edi
mov dword [esp + 0xfc], eax
mov dword [esp + 0xb4], edx
mov dword [esp + 0x1c], 0
jmp 0x471531
test eax, eax
jne 0x4714ea
mov eax, dword [esi + 4]
test eax, eax
je 0x471ed7
mov eax, dword [esi + 4]
test eax, eax
je 0x4714fc
mov eax, dword [esi + 8]
test eax, eax
je 0x471ed7
lea ecx, [esp + 0xfc]
push ecx
lea edx, [esp + 0xb8]
push edx
push esi
push 0
call fcn.00462700
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x471ed7
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0xb4]
cmp eax, 4
je 0x471ed7
cmp eax, 5
je 0x471ed7
mov ecx, dword [esp + 0xc8]
cmp byte [ebx], 0x39
jne 0x471a5c
xor edi, edi
cmp eax, 1
jne 0x471587
mov edi, dword [edx]
test edi, edi
je 0x4759fe
cmp edi, eax
je 0x47156d
cmp edi, 0xffffffff
jne 0x471583
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
inc dword [eax]
jmp 0x471616
mov ebx, dword [esp + 0x14]
cmp ecx, 1
jne 0x471739
mov ecx, dword [esp + 0x7c]
mov esi, dword [ecx]
test esi, esi
jne 0x4715a7
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 4]
mov dword [esp + 0x10], eax
jmp 0x471614
cmp eax, 1
jne 0x471658
mov eax, esi
cdq
idiv edi
test eax, eax
mov dword [esp + 0x3c], eax
jl 0x4715cf
jne 0x4715dd
test esi, esi
jge 0x4715c9
test edi, edi
jg 0x4715cf
test esi, esi
jle 0x4715dd
test edi, edi
jge 0x4715dd
mov ecx, edi
imul ecx, eax
cmp ecx, esi
je 0x4715dd
dec eax
mov dword [esp + 0x3c], eax
call fcn.00477380
imul edi, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov edx, dword [esp + 0x10]
mov dword [edx + 4], 0
mov eax, dword [esp + 0x10]
sub esi, edi
mov dword [eax + 0x10], esi
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xc], 0x5b0f90
mov eax, dword [esp + 0x10]
inc dword [eax]
inc ebx
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov ecx, dword [esi]
sub eax, 4
dec ecx
mov dword [esp + 0x18], eax
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x475c34
mov eax, dword [esi + 0xc]
test eax, eax
je 0x475c0c
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x475c0c
push esi
call fcn.00460cf0
jmp 0x475c31
cmp eax, 2
jne 0x47169e
mov ecx, dword [edx + 4]
test ecx, ecx
mov edi, dword [edx]
jl 0x471673
jg 0x47166c
test edi, edi
jbe 0x471673
mov eax, 1
jmp 0x471675
xor eax, eax
xor edx, edx
test esi, esi
setg dl
xor edx, eax
je 0x472a0a
mov eax, esi
cdq
add eax, edi
adc edx, ecx
push edx
push eax
call fcn.00461b80
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x471614
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x310]
push eax
push ecx
push 0
call fcn.004623c0
mov edi, dword [esp + 0x324]
xor edx, edx
add esp, 0xc
test esi, esi
setg dl
xor eax, eax
test edi, edi
sete al
xor edx, eax
je 0x47171f
lea ecx, [esp + 0x3b0]
push esi
push ecx
call fcn.00462c70
lea edx, [esp + 0x318]
push edx
lea eax, [esp + 0x3bc]
push eax
lea ecx, [esp + 0x320]
push ecx
call fcn.004b5440
lea edx, [esp + 0x3c4]
push edx
call fcn.004897e0
lea eax, [esp + 0x328]
push eax
call fcn.00462160
add esp, 0x1c
mov dword [esp + 0x10], eax
jmp 0x471614
lea ecx, [esp + 0x310]
push ecx
call fcn.004897e0
add esp, 4
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x475cca
cmp ecx, 2
jne 0x471926
cmp eax, 3
mov ecx, dword [esp + 0x7c]
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
je 0x47187e
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x128]
push edx
push eax
push 0
call fcn.00461cb0
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x134]
add esp, 0xc
push ecx
push edx
push edi
push esi
call fcn.00583dc0
test edx, edx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], edx
jl 0x4717f2
jg 0x47179a
test eax, eax
jb 0x4717f2
mov eax, dword [esp + 0xd0]
or eax, dword [esp + 0xd4]
jne 0x471842
test edi, edi
jg 0x4717da
jl 0x4717b8
test esi, esi
jae 0x4717d0
mov eax, dword [esp + 0x12c]
test eax, eax
jg 0x4717f2
jl 0x4717d0
mov eax, dword [esp + 0x128]
test eax, eax
ja 0x4717f2
test edi, edi
jl 0x471842
jg 0x4717da
test esi, esi
jbe 0x471842
mov eax, dword [esp + 0x12c]
test eax, eax
jg 0x471842
jl 0x4717f2
mov eax, dword [esp + 0x128]
test eax, eax
jae 0x471842
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x128]
mov eax, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
push eax
push ecx
call fcn.00583e70
cmp eax, esi
jne 0x47181f
cmp edx, edi
je 0x471842
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
or eax, 0xffffffff
add edx, eax
adc ecx, eax
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], ecx
mov edx, dword [esp + 0x12c]
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push eax
push ecx
push edx
call fcn.00583e70
sub esi, eax
sbb edi, edx
push edi
push esi
call fcn.00461b80
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x471614
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x320]
push eax
push ecx
push 0
call fcn.004623c0
add esp, 0xc
test edi, edi
jl 0x4718a6
jg 0x47189f
test esi, esi
jbe 0x4718a6
mov eax, 1
jmp 0x4718a8
xor eax, eax
mov ecx, dword [esp + 0x328]
xor edx, edx
test ecx, ecx
sete dl
xor edx, eax
je 0x47190c
push edi
lea eax, [esp + 0x3e4]
push esi
push eax
call fcn.00462cd0
lea ecx, [esp + 0x32c]
push ecx
lea edx, [esp + 0x3f0]
push edx
lea eax, [esp + 0x334]
push eax
call fcn.004b5440
lea ecx, [esp + 0x3f8]
push ecx
call fcn.004897e0
lea edx, [esp + 0x33c]
push edx
call fcn.00462160
add esp, 0x20
mov dword [esp + 0x10], eax
jmp 0x471614
lea eax, [esp + 0x320]
push eax
call fcn.004897e0
add esp, 4
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x475cca
mov esi, dword [esp + 0x30]
lea ecx, [esp + 0x3c0]
push ecx
push esi
push 0
call fcn.004621a0
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x37c]
push edx
push eax
push 0
call fcn.004621a0
lea ecx, [esp + 0x2e8]
push ecx
call fcn.00489ae0
lea edx, [esp + 0x294]
push edx
call fcn.00489ae0
lea eax, [esp + 0x298]
push eax
lea ecx, [esp + 0x2f4]
push ecx
lea edx, [esp + 0x398]
push edx
lea eax, [esp + 0x3ec]
push eax
call fcn.004b4ce0
mov eax, dword [esp + 0x2a8]
add esp, 0x30
test eax, eax
je 0x4719e2
mov ecx, dword [esp + 0x280]
cmp ecx, dword [esp + 0x378]
je 0x4719e2
lea edx, [esp + 0x2d0]
push edx
lea eax, [esp + 0x2d4]
push 1
push eax
call fcn.0048aad0
lea ecx, [esp + 0x284]
push ecx
lea edx, [esp + 0x380]
push edx
lea eax, [esp + 0x28c]
push eax
call fcn.004b5440
add esp, 0x18
lea ecx, [esp + 0x2d0]
push ecx
lea edx, [esp + 0x27c]
push edx
call fcn.004b5230
lea eax, [esp + 0x280]
push eax
call fcn.004897e0
lea ecx, [esp + 0x3cc]
push ecx
call fcn.004897e0
lea edx, [esp + 0x380]
push edx
call fcn.004897e0
mov eax, dword [esi]
add esp, 0x14
cmp eax, 1
jle 0x471a41
lea eax, [esp + 0x2d0]
push eax
call fcn.00462160
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x471614
lea ecx, [esp + 0x2d0]
push ecx
push esi
call fcn.004623e0
add esp, 8
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x475cca
mov edi, eax
dec edi
je 0x471ada
dec edi
je 0x471aae
dec edi
jne 0x471abc
lea edx, [esp + 0x3d0]
push edx
push esi
push 0
call fcn.004623c0
lea eax, [esp + 0x3dc]
push 0
push eax
call fcn.00489b70
mov esi, eax
inc esi
neg esi
lea ecx, [esp + 0x3e4]
sbb esi, esi
push ecx
inc esi
call fcn.004897e0
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0x114]
add esp, 0x18
jmp 0x471aec
mov esi, dword [edx + 4]
test esi, esi
jl 0x471afb
jg 0x471abc
cmp dword [edx], 0
jb 0x471afb
mov edi, dword [esp + 0x7c]
cmp ecx, 1
jne 0x471b07
cmp dword [edi], 0
jne 0x471b07
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 4]
mov dword [esp + 0x10], eax
jmp 0x471614
mov esi, dword [esp + 0xb4]
mov edi, dword [esi]
xor edx, edx
test edi, edi
setl dl
mov esi, edx
test esi, esi
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x7c]
je 0x471ac0
push 0xffffffffffffffff
push str.negative_shift_argument
jmp 0x472cff
cmp byte [ebx], 0x33
jne 0x471c88
cmp eax, 1
jne 0x471c7c
mov edx, dword [edx]
cmp edx, 0x7fffffff
jg 0x471c7c
cmp ecx, eax
mov esi, edx
jne 0x471b83
cmp esi, 0x20
jae 0x471b8c
mov edi, dword [edi]
test edi, edi
je 0x471b8c
mov eax, edi
jg 0x471b3e
not eax
mov ecx, 0x1f
sub ecx, esi
or edx, 0xffffffff
shl edx, cl
test eax, edx
jne 0x471b8c
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov eax, dword [esp + 0x10]
mov ecx, esi
mov dword [eax + 4], 0
shl edi, cl
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x10], edi
mov edx, dword [esp + 0x10]
mov dword [edx + 0xc], 0x5b0f90
jmp 0x471610
cmp ecx, 3
je 0x471ddb
cmp esi, 0x40
jae 0x471ddb
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x5b0fa8
jne 0x471bba
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xe0], ecx
mov edx, dword [eax + 0x14]
mov dword [esp + 0xe4], edx
jmp 0x471be9
cmp ecx, 0x5b0f90
jne 0x471bd6
mov eax, dword [eax + 0x10]
cdq
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], edx
jmp 0x471be9
lea ecx, [esp + 0xe0]
push ecx
push eax
push 0
call fcn.00461cb0
add esp, 0xc
mov eax, dword [esp + 0xe4]
test eax, eax
jl 0x471c18
jg 0x471c01
mov eax, dword [esp + 0xe0]
test eax, eax
jbe 0x471c18
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0xe0]
mov dword [esp + 0x30c], edx
jmp 0x471c31
mov eax, dword [esp + 0xe4]
mov edi, dword [esp + 0xe0]
not eax
not edi
mov dword [esp + 0x30c], eax
mov ecx, 0x3f
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.005840b0
and eax, edi
and edx, dword [esp + 0x30c]
or eax, edx
jne 0x471ddb
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov ecx, esi
call fcn.005840b0
push edx
push eax
call fcn.00461b80
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x471614
push 0xffffffffffffffff
push str.integer_value_too_large_to_represent
jmp 0x472cff
cmp eax, 1
jne 0x471c9b
mov edx, dword [edx]
cmp edx, 0x7fffffff
jle 0x471d47
dec ecx
je 0x471d28
dec ecx
je 0x471ce5
dec ecx
jne 0x471cf3
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x3f0]
push ecx
push edx
push 0
call fcn.004623c0
lea eax, [esp + 0x3fc]
push 0
push eax
call fcn.00489b70
mov esi, eax
dec esi
neg esi
lea ecx, [esp + 0x404]
sbb esi, esi
push ecx
inc esi
call fcn.004897e0
add esp, 0x18
jmp 0x471d33
mov eax, dword [edi + 4]
test eax, eax
jg 0x471d37
jl 0x471cf3
cmp dword [edi], 0
ja 0x471d37
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], 0
mov edx, dword [esp + 0x10]
mov dword [edx + 0x10], 0xffffffff
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc], 0x5b0f90
jmp 0x471610
mov eax, dword [edi]
xor edx, edx
test eax, eax
setg dl
mov esi, edx
test esi, esi
je 0x471cf3
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
jmp 0x471614
cmp ecx, 1
mov esi, edx
jne 0x471d90
cmp esi, 0x20
mov edi, dword [edi]
jb 0x471d6d
test edi, edi
jl 0x470962
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + 4]
mov dword [esp + 0x10], edx
jmp 0x471610
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov eax, dword [esp + 0x10]
mov ecx, esi
mov dword [eax + 4], 0
sar edi, cl
jmp 0x471b6c
cmp ecx, 2
jne 0x471ddb
cmp esi, 0x40
mov eax, dword [edi]
mov edx, dword [edi + 4]
jb 0x471dc1
test edx, edx
jl 0x471cf3
jg 0x471db1
test eax, eax
jb 0x471cf3
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
jmp 0x471614
mov ecx, esi
call fcn.00584080
push edx
push eax
call fcn.00461b80
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x471614
mov edi, dword [esp + 0x30]
lea ecx, [esp + 0x3a0]
push ecx
push edi
push 0
call fcn.004623c0
lea edx, [esp + 0x2cc]
push edx
call fcn.00489ae0
mov al, byte [ebx]
add esp, 0x10
cmp al, 0x33
jne 0x471e20
lea eax, [esp + 0x2c0]
push eax
lea ecx, [esp + 0x3a4]
push esi
push ecx
call fcn.004b41a0
add esp, 0xc
jmp 0x471e8c
lea edx, [esp + 0x390]
push edx
call fcn.00489ae0
lea eax, [esp + 0x394]
push eax
lea ecx, [esp + 0x2c8]
push ecx
lea edx, [esp + 0x3ac]
push esi
push edx
call fcn.004b48f0
lea eax, [esp + 0x3a4]
push 0
push eax
call fcn.00489b70
add esp, 0x1c
cmp eax, 0xffffffff
jne 0x471e7c
lea ecx, [esp + 0x2c0]
push ecx
lea edx, [esp + 0x2c4]
push 1
push edx
call fcn.0048aad0
add esp, 0xc
lea eax, [esp + 0x390]
push eax
call fcn.004897e0
add esp, 4
lea ecx, [esp + 0x3a0]
push ecx
call fcn.004897e0
mov eax, dword [edi]
add esp, 4
cmp eax, 1
jg 0x471ebe
lea edx, [esp + 0x2c0]
push edx
push edi
call fcn.004623e0
add esp, 8
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x475cca
lea eax, [esp + 0x2c0]
push eax
call fcn.00462160
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x471614
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
push esi
push ebx
mov edi, 1
push eax
mov dword [esp + 0x28], edi
mov dword [ecx + 0x10], edx
call fcn.004761d0
add esp, 0xc
mov dword [esp + 0x34], edi
jmp 0x475a58
mov eax, dword [esp + 0x18]
mov esi, dword [eax - 4]
mov edi, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, 0x5b0f90
mov dword [esp + 0x30], esi
jne 0x471f34
mov ecx, 1
lea edx, [esi + 0x10]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x168], edx
jmp 0x471fe9
cmp eax, 0x5b0fa8
jne 0x471f56
mov ecx, 2
lea eax, [esi + 0x10]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x168], eax
jmp 0x471fe9
cmp eax, 0x5b0f78
jne 0x471f8c
fld qword [esi + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.00582bc4
mov ecx, eax
add esp, 8
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 4
lea eax, [esi + 0x10]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x168], eax
jmp 0x471fd7
test eax, eax
jne 0x471f9b
mov eax, dword [esi + 4]
test eax, eax
je 0x471ed7
mov eax, dword [esi + 4]
test eax, eax
je 0x471fad
mov eax, dword [esi + 8]
test eax, eax
je 0x471ed7
lea ecx, [esp + 0x104]
push ecx
lea edx, [esp + 0x16c]
push edx
push esi
push 0
call fcn.00462700
add esp, 0x10
test eax, eax
jne 0x471ed7
mov ecx, dword [esp + 0x104]
cmp ecx, 5
je 0x471ed7
cmp ecx, 4
je 0x471ed7
mov eax, dword [edi + 0xc]
cmp eax, 0x5b0f90
jne 0x471ffa
mov eax, 1
jmp 0x472006
cmp eax, 0x5b0fa8
jne 0x472024
mov eax, 2
lea edx, [edi + 0x10]
mov dword [esp + 0x144], eax
mov dword [esp + 0x14c], edx
mov dword [esp + 0x1c], 0
jmp 0x4720c8
cmp eax, 0x5b0f78
jne 0x472060
fld qword [edi + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.00582bc4
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 4
lea ecx, [edi + 0x10]
mov dword [esp + 0x144], eax
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x1c], 0
jmp 0x4720af
test eax, eax
jne 0x47206f
mov eax, dword [edi + 4]
test eax, eax
je 0x472624
mov eax, dword [edi + 4]
test eax, eax
je 0x472081
mov eax, dword [edi + 8]
test eax, eax
je 0x472624
lea eax, [esp + 0x144]
push eax
lea ecx, [esp + 0x150]
push ecx
push edi
push 0
call fcn.00462700
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x472624
mov eax, dword [esp + 0x144]
cmp eax, 5
je 0x472624
cmp eax, 4
je 0x472624
mov ecx, dword [esp + 0x104]
cmp ecx, 3
je 0x4720d6
cmp eax, 3
jne 0x472457
lea edx, [esp + 0x380]
push edx
push esi
push 0
call fcn.004623c0
lea eax, [esp + 0x344]
push eax
push edi
push 0
call fcn.004623c0
lea ecx, [esp + 0x398]
push 0
push ecx
call fcn.00489b70
add esp, 0x20
cmp eax, 0xffffffff
je 0x47213c
lea edx, [esp + 0x338]
push 0
push edx
call fcn.00489b70
xor ecx, ecx
add esp, 8
cmp eax, 0xffffffff
setne cl
lea edi, [esp + 0x380]
lea esi, [esp + 0x338]
inc ecx
mov dword [esp + 0x28], ecx
jmp 0x472168
lea edx, [esp + 0x338]
push 0
push edx
lea edi, [esp + 0x340]
lea esi, [esp + 0x388]
call fcn.00489b70
xor ecx, ecx
add esp, 8
cmp eax, 0xffffffff
setne cl
mov dword [esp + 0x28], ecx
lea edx, [esp + 0xa0]
push edx
call fcn.00489ae0
xor eax, eax
mov al, byte [ebx]
add esp, 4
sub eax, 0x2a
je 0x472309
dec eax
je 0x472255
dec eax
jne 0x4723fb
mov eax, dword [esp + 0x28]
sub eax, 0
je 0x4721fa
dec eax
je 0x4721bd
dec eax
jne 0x4723fb
lea eax, [esp + 0xa0]
push eax
push esi
push edi
call fcn.004b53a0
add esp, 0xc
jmp 0x4723fb
push esi
push esi
call fcn.00489b30
push esi
push 1
push esi
call fcn.0048aad0
lea ecx, [esp + 0xb4]
push ecx
push esi
push edi
call fcn.004b3d60
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xc4]
push eax
push edi
call fcn.004b53a0
add esp, 0x2c
jmp 0x4723fb
push edi
push edi
call fcn.00489b30
push edi
push 1
push edi
call fcn.0048aad0
push esi
push esi
call fcn.00489b30
push esi
push 1
push esi
call fcn.0048aad0
lea ecx, [esp + 0xc8]
push ecx
push esi
push edi
call fcn.004b4110
lea edx, [esp + 0xd4]
push edx
lea eax, [esp + 0xd8]
push eax
call fcn.00489b30
lea ecx, [esp + 0xdc]
push ecx
push 1
lea edx, [esp + 0xe4]
push edx
jmp 0x4723f3
mov eax, dword [esp + 0x28]
sub eax, 0
je 0x4722d2
dec eax
je 0x47227f
dec eax
jne 0x4723fb
lea eax, [esp + 0xa0]
push eax
push esi
push edi
call fcn.004b3d60
add esp, 0xc
jmp 0x4723fb
push esi
push esi
call fcn.00489b30
push esi
push 1
push esi
call fcn.0048aad0
lea ecx, [esp + 0xb4]
push ecx
push esi
push edi
call fcn.004b3d60
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xc4]
push eax
call fcn.00489b30
lea ecx, [esp + 0xc8]
push ecx
lea edx, [esp + 0xcc]
push 1
push edx
call fcn.0048aad0
add esp, 0x34
jmp 0x4723fb
push edi
push edi
call fcn.00489b30
push edi
push 1
push edi
call fcn.0048aad0
push esi
push esi
call fcn.00489b30
push esi
push 1
push esi
call fcn.0048aad0
lea eax, [esp + 0xc8]
push eax
push esi
push edi
call fcn.004b3d60
add esp, 0x34
jmp 0x4723fb
mov eax, dword [esp + 0x28]
sub eax, 0
je 0x47239d
dec eax
je 0x472337
dec eax
jne 0x4723fb
lea ecx, [esp + 0xa0]
push ecx
push esi
push edi
call fcn.004b4110
add esp, 0xc
jmp 0x4723fb
push esi
push esi
call fcn.00489b30
push esi
push 1
push esi
call fcn.0048aad0
lea edx, [esp + 0xb4]
push edx
push esi
push edi
call fcn.004b3d60
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xc4]
push ecx
push esi
call fcn.004b53a0
lea edx, [esp + 0xcc]
push edx
lea eax, [esp + 0xd0]
push eax
call fcn.00489b30
lea ecx, [esp + 0xd4]
push ecx
lea edx, [esp + 0xd8]
push 1
push edx
call fcn.0048aad0
add esp, 0x40
jmp 0x4723fb
push edi
push edi
call fcn.00489b30
push edi
push 1
push edi
call fcn.0048aad0
push esi
push esi
call fcn.00489b30
push esi
push 1
push esi
call fcn.0048aad0
lea eax, [esp + 0xc8]
push eax
push esi
push edi
call fcn.004b53a0
lea ecx, [esp + 0xd4]
push ecx
lea edx, [esp + 0xd8]
push edx
call fcn.00489b30
lea eax, [esp + 0xdc]
push eax
push 1
lea ecx, [esp + 0xe4]
push ecx
call fcn.0048aad0
add esp, 0x48
lea edx, [esp + 0x380]
push edx
call fcn.004897e0
lea eax, [esp + 0x33c]
push eax
call fcn.004897e0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
add esp, 8
cmp ecx, 1
jle 0x47243c
lea ecx, [esp + 0xa0]
push ecx
call fcn.00462160
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x471614
lea edx, [esp + 0xa0]
push edx
push eax
call fcn.004623e0
add esp, 8
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x475cca
cmp ecx, 2
je 0x472465
cmp eax, 2
jne 0x472588
mov eax, dword [esi + 0xc]
cmp eax, 0x5b0fa8
jne 0x472485
mov eax, dword [esi + 0x10]
mov dword [esp + 0x160], eax
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x164], ecx
jmp 0x4724bc
cmp eax, 0x5b0f90
jne 0x4724a2
mov eax, dword [esi + 0x10]
cdq
mov ecx, edx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
jmp 0x4724bc
lea ecx, [esp + 0x160]
push ecx
push esi
push 0
call fcn.00461cb0
mov ecx, dword [esp + 0x170]
add esp, 0xc
mov eax, dword [edi + 0xc]
cmp eax, 0x5b0fa8
jne 0x4724dc
mov esi, dword [edi + 0x10]
mov dword [esp + 0x1a0], esi
mov edx, dword [edi + 0x14]
mov dword [esp + 0x1a4], edx
jmp 0x472521
cmp eax, 0x5b0f90
jne 0x4724f9
mov eax, dword [edi + 0x10]
cdq
mov esi, eax
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x1a4], edx
jmp 0x472521
lea edx, [esp + 0x1a0]
push edx
push edi
push 0
call fcn.00461cb0
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x1b0]
mov esi, dword [esp + 0x1ac]
add esp, 0xc
xor eax, eax
mov al, byte [ebx]
sub eax, 0x2a
je 0x47254c
dec eax
je 0x472541
dec eax
je 0x472536
xor esi, esi
xor edx, edx
jmp 0x472555
and esi, dword [esp + 0x160]
and edx, ecx
jmp 0x472555
xor esi, dword [esp + 0x160]
xor edx, ecx
jmp 0x472555
or esi, dword [esp + 0x160]
or edx, ecx
mov eax, dword [esp + 0x30]
cmp dword [eax], 1
push edx
push esi
jle 0x472571
call fcn.00461b80
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x471614
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00461be0
add esp, 0xc
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x475cca
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x14c]
mov edi, dword [edx]
mov eax, dword [eax]
xor ecx, ecx
mov cl, byte [ebx]
sub ecx, 0x2a
je 0x4725b5
dec ecx
je 0x4725b1
dec ecx
je 0x4725ad
xor edi, edi
jmp 0x4725b9
and eax, edi
jmp 0x4725b7
xor eax, edi
jmp 0x4725b7
or eax, edi
mov edi, eax
cmp dword [esi], 1
jle 0x4725dd
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], 0
jmp 0x472eca
mov eax, dword [esi + 4]
test eax, eax
je 0x4725fc
cmp eax, dword [0x5b0f40]
je 0x4725f5
push eax
call fcn.00478500
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x472610
mov eax, dword [eax + 4]
test eax, eax
je 0x472610
push esi
call eax
add esp, 4
inc ebx
mov dword [esi + 0x10], edi
mov dword [esi + 0xc], 0x5b0f90
mov dword [esp + 0x14], ebx
jmp 0x475cca
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
push edi
push ebx
mov esi, 1
push eax
mov dword [esp + 0x28], esi
mov dword [ecx + 0x10], edx
call fcn.004761d0
add esp, 0xc
mov dword [esp + 0x34], esi
jmp 0x475a58
mov eax, dword [esp + 0x18]
mov esi, dword [eax - 4]
mov edi, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, 0x5b0f90
mov dword [esp + 0x30], edi
mov dword [esp + 0x24], esi
jne 0x472684
lea ecx, [esi + 0x10]
mov dword [esp + 0x88], 1
mov dword [esp + 0x11c], ecx
jmp 0x47272d
cmp eax, 0x5b0fa8
jne 0x4726a5
lea edx, [esi + 0x10]
mov dword [esp + 0x88], 2
mov dword [esp + 0x11c], edx
jmp 0x47272d
cmp eax, 0x5b0f78
jne 0x4726d9
fld qword [esi + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.00582bc4
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 4
lea ecx, [esi + 0x10]
mov dword [esp + 0x88], eax
mov dword [esp + 0x11c], ecx
jmp 0x472724
test eax, eax
jne 0x4726e8
mov eax, dword [esi + 4]
test eax, eax
je 0x473906
mov eax, dword [esi + 4]
test eax, eax
je 0x4726fa
mov eax, dword [esi + 8]
test eax, eax
je 0x473906
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x120]
push ecx
push esi
push 0
call fcn.00462700
add esp, 0x10
test eax, eax
jne 0x473906
mov eax, dword [esp + 0x88]
cmp eax, 5
je 0x473906
mov eax, dword [edi + 0xc]
cmp eax, 0x5b0f90
jne 0x47275a
mov ecx, 1
lea edx, [edi + 0x10]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x1c], 0
jmp 0x47281a
cmp eax, 0x5b0fa8
jne 0x472784
mov ecx, 2
lea eax, [edi + 0x10]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x1c], 0
jmp 0x47281a
cmp eax, 0x5b0f78
jne 0x4727c2
fld qword [edi + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.00582bc4
mov ecx, eax
add esp, 8
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 4
lea eax, [edi + 0x10]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x1c], 0
jmp 0x472811
test eax, eax
jne 0x4727d1
mov eax, dword [edi + 4]
test eax, eax
je 0x4738db
mov eax, dword [edi + 4]
test eax, eax
je 0x4727e3
mov eax, dword [edi + 8]
test eax, eax
je 0x4738db
lea ecx, [esp + 0xbc]
push ecx
lea edx, [esp + 0x110]
push edx
push edi
push 0
call fcn.00462700
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x4738db
mov ecx, dword [esp + 0xbc]
cmp ecx, 5
je 0x4738db
mov edx, dword [esp + 0x88]
cmp edx, 4
je 0x47282f
cmp ecx, 4
jne 0x472a14
lea eax, [esp + 0x1b8]
push eax
push esi
push 0
call fcn.00461520
lea ecx, [esp + 0x1bc]
push ecx
push edi
push 0
call fcn.00461520
xor eax, eax
mov al, byte [ebx]
add esp, 0x18
add eax, 0xffffffcb
cmp eax, 0x2e
ja case.0x47286a.58
xor edx, edx
mov dl, byte [eax + 0x4760f4]
jmp dword [edx*4 + 0x4760dc]
fld qword [esp + 0x1b0]
fadd qword [esp + 0x1b8]
fstp qword [esp + 0xd8]
jmp 0x472931
fld qword [esp + 0x1b8]
fsub qword [esp + 0x1b0]
fstp qword [esp + 0xd8]
jmp 0x472931
fld qword [esp + 0x1b0]
fmul qword [esp + 0x1b8]
fstp qword [esp + 0xd8]
jmp 0x472931
fld qword [esp + 0x1b8]
fdiv qword [esp + 0x1b0]
fstp qword [esp + 0xd8]
jmp 0x472931
fld qword [esp + 0x1b8]
fcomp qword [0x5940e0]
fnstsw ax
test ah, 0x40
je 0x4728ff
fld qword [esp + 0x1b0]
fcomp qword [0x5940e0]
fnstsw ax
test ah, 1
jne 0x472c64
fld qword [esp + 0x1b8]
fld qword [esp + 0x1b0]
call fcn.00581d70
fstp qword [esp + 0xd8]
jmp 0x472931
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov edi, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
push edi
push eax
call fcn.00582bc4
add esp, 8
test eax, eax
je 0x47297f
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xd8]
push edi
mov dword [ecx + 0x10], edx
mov ecx, dword [ebp + 8]
push eax
push ecx
call fcn.00476610
mov eax, 1
add esp, 0xc
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], eax
jmp 0x475a58
cmp dword [esi], 1
jle 0x4729bc
call fcn.00477380
fld qword [esp + 0xd8]
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov edx, dword [esp + 0x10]
mov dword [edx + 4], 0
mov eax, dword [esp + 0x10]
fstp qword [eax + 0x10]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xc], 0x5b0f78
jmp 0x471610
mov eax, dword [esi + 4]
test eax, eax
je 0x4729db
cmp eax, dword [0x5b0f40]
je 0x4729d4
push eax
call fcn.00478500
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4729ef
mov eax, dword [eax + 4]
test eax, eax
je 0x4729ef
push esi
call eax
add esp, 4
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
mov dword [esi + 0xc], 0x5b0f78
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x475cca
mov al, byte [ebx]
cmp al, 0x37
jne 0x472b1b
cmp edx, 1
jne 0x472b1b
cmp ecx, edx
jne 0x472b1b
mov eax, dword [esi + 0xc]
cmp eax, 0x5b0fa8
jne 0x472a4f
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x1c0], ecx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x1c4], edx
jmp 0x472a7d
cmp eax, 0x5b0f90
jne 0x472a6a
mov eax, dword [esi + 0x10]
cdq
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], edx
jmp 0x472a7d
lea eax, [esp + 0x1c0]
push eax
push esi
push 0
call fcn.00461cb0
add esp, 0xc
mov eax, dword [edi + 0xc]
cmp eax, 0x5b0fa8
jne 0x472a9d
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x1a8], ecx
mov edx, dword [edi + 0x14]
mov dword [esp + 0x1ac], edx
jmp 0x472acb
cmp eax, 0x5b0f90
jne 0x472ab8
mov eax, dword [edi + 0x10]
cdq
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], edx
jmp 0x472acb
lea eax, [esp + 0x1a8]
push eax
push edi
push 0
call fcn.00461cb0
add esp, 0xc
mov ecx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1c0]
mov eax, dword [esp + 0x1ac]
push ecx
mov ecx, dword [esp + 0x1ac]
push edx
push eax
push ecx
call fcn.00583e70
cmp dword [esi], 1
push edx
push eax
jle 0x472b08
call fcn.00461b80
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x471614
push esi
call fcn.00461be0
add esp, 0xc
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x475cca
cmp al, 0x63
jne 0x473378
xor esi, esi
xor eax, eax
xor edi, edi
cmp ecx, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], esi
jne 0x472b64
mov edx, dword [esp + 0x10c]
mov edx, dword [edx]
cmp edx, esi
mov dword [esp + 0x2c], edx
jne 0x472b5b
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 8]
mov dword [esp + 0x10], eax
jmp 0x471614
cmp edx, 1
je 0x473067
mov edx, ecx
dec edx
je 0x472c05
dec edx
je 0x472be6
dec edx
jne 0x472c1d
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x350]
push ecx
push edx
push esi
call fcn.004623c0
lea eax, [esp + 0x35c]
push esi
push eax
call fcn.00489b70
mov edi, eax
inc edi
lea ecx, [esp + 0x364]
push ecx
neg edi
lea edx, [esp + 0x368]
sbb edi, edi
push 1
push edx
inc edi
call fcn.00489ba0
mov ecx, dword [esp + 0x370]
xor eax, eax
cmp ecx, esi
setne al
lea ecx, [esp + 0x370]
push ecx
mov dword [esp + 0x44], eax
call fcn.004897e0
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0x4c]
add esp, 0x24
jmp 0x472c1d
mov edi, dword [esp + 0x10c]
cmp dword [edi + 4], esi
mov edx, dword [edi]
jg 0x472c01
jl 0x472bfa
cmp edx, esi
jae 0x472c01
mov edi, 1
jmp 0x472c16
xor edi, edi
jmp 0x472c16
mov edi, dword [esp + 0x2c]
xor edx, edx
cmp edi, esi
setl dl
mov edi, edx
mov edx, dword [esp + 0x2c]
and edx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x88]
cmp edx, 1
jne 0x472c36
mov eax, dword [esp + 0x11c]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
cmp edi, esi
je 0x472cdd
cmp edx, 1
jne 0x47159a
cmp eax, 0xffffffff
je 0x472c96
cmp eax, esi
je 0x472c64
cmp eax, edx
je 0x472ccd
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 4]
mov dword [esp + 0x10], eax
jmp 0x471614
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
push 0xffffffffffffffff
push str.exponentiation_of_zero_by_negative_power
mov dword [edx + 0x10], ecx
call fcn.00478830
mov esi, dword [ebp + 8]
push eax
push esi
call fcn.0040c0f0
push 0
push str.exponentiation_of_zero_by_negative_power
push str.DOMAIN
jmp 0x475a2b
cmp dword [esp + 0x20], esi
je 0x472b4b
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], esi
mov eax, dword [esp + 0x10]
mov dword [eax + 4], esi
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x10], 0xffffffff
mov edx, dword [esp + 0x10]
mov dword [edx + 0xc], 0x5b0f90
jmp 0x471610
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 8]
mov dword [esp + 0x10], eax
jmp 0x471614
cmp edx, 1
jne 0x472cf3
cmp eax, 0xffffffff
je 0x472d1e
cmp eax, esi
je 0x471d37
cmp eax, edx
je 0x472ccd
cmp ecx, 1
je 0x472d56
push 0xffffffffffffffff
push str.exponent_too_large
call fcn.00478830
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040c0f0
add esp, 0x10
mov dword [esp + 0x1c], 1
jmp 0x475a58
cmp dword [esp + 0x20], esi
je 0x472d46
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], esi
mov edx, dword [esp + 0x10]
mov dword [edx + 4], esi
mov eax, dword [esp + 0x10]
mov dword [eax + 0x10], 0xffffffff
jmp 0x471605
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 8]
mov dword [esp + 0x10], eax
jmp 0x471614
cmp edx, 1
jne 0x47307c
cmp eax, 2
jne 0x472db4
mov eax, dword [esp + 0x2c]
cmp eax, 0x1f
jae 0x472d96
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], esi
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], esi
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov edx, 1
shl edx, cl
mov dword [eax + 0x10], edx
jmp 0x471605
cmp eax, 0x3f
jae 0x473661
mov ecx, dword [esp + 0x2c]
mov eax, 1
xor edx, edx
call fcn.005840b0
jmp 0x472e34
cmp eax, 0xfffffffe
jne 0x472e50
mov eax, dword [esp + 0x20]
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
mov edi, eax
mov eax, dword [esp + 0x2c]
cmp eax, 0x1f
jae 0x472e0b
call fcn.00477380
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov dword [eax], esi
mov edx, dword [esp + 0x10]
mov eax, 1
shl eax, cl
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x10]
imul eax, edi
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0x10]
mov dword [edx + 0xc], 0x5b0f90
jmp 0x471610
cmp eax, 0x3f
jae 0x473661
mov ecx, dword [esp + 0x2c]
mov eax, 1
xor edx, edx
call fcn.005840b0
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
push edx
push eax
push esi
push ecx
call fcn.00583e70
push edx
push eax
call fcn.00461b80
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
mov dword [eax], ecx
jmp 0x471616
mov edx, dword [esp + 0x2c]
mov edi, dword [0x59480c]
lea ecx, [edx - 2]
cmp ecx, edi
jge 0x472ef9
mov ecx, dword [ecx*4 + 0x5947f0]
cmp eax, ecx
jg 0x472ef9
neg ecx
cmp eax, ecx
jl 0x472ef9
mov edi, eax
lea ecx, [edx - 3]
imul edi, eax
cmp ecx, 5
ja case.default.0x472e87
jmp dword [ecx*4 + 0x476124]
imul edi, eax
jmp case.default.0x472e87
imul edi, eax
jmp case.0x472e87.4
imul edi, eax
mov ecx, edi
imul ecx, edi
imul ecx, eax
mov edi, ecx
jmp case.default.0x472e87
imul edi, edi
mov edx, edi
imul edi, edx
mov eax, dword [esp + 0x24]
cmp dword [eax], 1
jle 0x472ee1
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], esi
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], esi
mov edx, dword [esp + 0x10]
mov dword [edx + 0x10], edi
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc], 0x5b0f90
jmp 0x471610
mov ecx, dword [esp + 0x24]
push edi
push ecx
call fcn.00461860
add esp, 8
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x475cca
lea ecx, [eax - 3]
cmp ecx, esi
jl 0x472fa8
mov edi, dword [0x594824]
lea edx, [eax - 2]
cmp edx, edi
jge 0x472fa4
mov edx, dword [0x5948ac]
mov edi, dword [0x59480c]
add edi, edx
mov edx, dword [esp + 0x2c]
add edx, 0xfffffffe
cmp edx, edi
jge 0x472fa4
mov cx, word [ecx*2 + 0x594810]
sub cx, word [0x59480c]
mov edx, dword [esp + 0x2c]
lea edi, [ecx + edx - 2]
lea ecx, [eax - 2]
cmp di, word [ecx*2 + 0x594810]
jae 0x472fa8
mov edx, dword [esp + 0x24]
cmp dword [edx], 1
jle 0x472f91
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], esi
mov eax, dword [esp + 0x10]
mov dword [eax + 4], esi
mov edx, dword [esp + 0x10]
and edi, 0xffff
mov ecx, dword [edi*4 + 0x594828]
mov dword [edx + 0x10], ecx
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc], 0x5b0f90
jmp 0x471610
and edi, 0xffff
mov ecx, dword [edi*4 + 0x594828]
push ecx
jmp 0x47305a
mov edx, dword [esp + 0x2c]
mov ecx, 0xfffffffd
sub ecx, eax
js 0x473071
mov edi, dword [0x594824]
mov ecx, 0xfffffffe
sub ecx, eax
cmp ecx, edi
jge 0x473071
mov ecx, dword [0x5948ac]
mov edi, dword [0x59480c]
add edi, ecx
lea ecx, [edx - 2]
cmp ecx, edi
jge 0x473071
lea ecx, [eax + eax + 6]
mov edi, 0x594810
sub edi, ecx
xor ecx, ecx
mov cx, word [edi]
sub cx, word [0x59480c]
lea ecx, [ecx + edx - 2]
lea edx, [eax + eax + 4]
mov eax, 0x594810
sub eax, edx
cmp cx, word [eax]
jae 0x473071
cmp dword [esp + 0x20], esi
je 0x473025
and ecx, 0xffff
mov edi, dword [ecx*4 + 0x594828]
neg edi
jmp 0x473032
and ecx, 0xffff
mov edi, dword [ecx*4 + 0x594828]
mov ecx, dword [esp + 0x24]
cmp dword [ecx], 1
jle 0x473059
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], esi
mov edx, dword [esp + 0x10]
mov dword [edx + 4], esi
mov eax, dword [esp + 0x10]
mov dword [eax + 0x10], edi
jmp 0x471605
push edi
mov edx, dword [esp + 0x28]
push edx
call fcn.00461860
add esp, 8
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x475cca
mov eax, dword [esp + 0x28]
cdq
mov edi, eax
mov ebx, edx
jmp 0x473091
cmp edx, 2
jne 0x473661
mov eax, dword [esp + 0x11c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x594928]
add eax, 0xfffffffe
cmp eax, ecx
mov dword [esp + 0x3c], eax
jge 0x4731d7
mov ecx, dword [eax*8 + 0x5948b0]
mov eax, dword [eax*8 + 0x5948b4]
cmp ebx, eax
jg 0x4731d7
jl 0x4730ca
cmp edi, ecx
ja 0x4731d7
neg ecx
adc eax, 0
neg eax
cmp ebx, eax
jl 0x4731d7
jg 0x4730e3
cmp edi, ecx
jb 0x4731d7
push ebx
push edi
push ebx
push edi
call fcn.00583e70
mov esi, edx
mov edx, dword [esp + 0x2c]
mov ecx, eax
lea eax, [edx - 3]
cmp eax, 0xd
ja case.default.0x473100
jmp dword [eax*4 + 0x47613c]
mov eax, dword [esp + 0x28]
push esi
cdq
push ecx
jmp 0x4731bd
push esi
push ecx
push esi
push ecx
jmp 0x4731bf
push esi
push ecx
push esi
push ecx
call fcn.00583e70
push ebx
push edi
jmp 0x4731bd
push ebx
push edi
push esi
push ecx
jmp 0x4731b6
push ebx
push edi
push esi
push ecx
jmp 0x473197
push esi
push ecx
push esi
push ecx
jmp 0x4731b6
push esi
push ecx
push esi
push ecx
jmp 0x473197
push esi
push ecx
push esi
push ecx
call fcn.00583e70
push ebx
push edi
jmp 0x4731b4
push esi
push ecx
push esi
push ecx
jmp 0x47318e
push ebx
push edi
jmp 0x4731ab
push ebx
push edi
push esi
push ecx
call fcn.00583e70
push edx
push eax
jmp 0x473195
push ebx
push edi
push esi
push ecx
call fcn.00583e70
push edx
push eax
push edx
push eax
call fcn.00583e70
push ebx
push edi
jmp 0x4731b4
push ebx
push edi
push esi
push ecx
call fcn.00583e70
push edx
push eax
push edx
push eax
call fcn.00583e70
push ebx
push edi
push edx
push eax
call fcn.00583e70
push edx
push eax
push edx
push eax
call fcn.00583e70
push ebx
push edi
jmp 0x4731bd
push esi
push ecx
push esi
push ecx
call fcn.00583e70
push edx
push eax
push edx
push eax
call fcn.00583e70
push edx
push eax
push edx
push eax
call fcn.00583e70
mov ecx, eax
mov esi, edx
push esi
push ecx
call fcn.00461b80
add esp, 8
jmp 0x4738a4
mov eax, edi
sub eax, 3
mov ecx, ebx
sbb ecx, 0
mov dword [esp + 0x94], ecx
js 0x473292
jg 0x4731f8
test eax, eax
jb 0x473292
mov eax, dword [0x594944]
mov esi, edi
sub esi, 2
mov ecx, ebx
cdq
sbb ecx, 0
cmp ecx, edx
jg 0x473292
jl 0x473216
cmp esi, eax
jae 0x473292
mov edx, dword [0x594ba8]
mov eax, dword [0x594928]
mov ecx, dword [esp + 0x3c]
add edx, eax
cmp ecx, edx
jge 0x473292
mov edx, dword [esp + 0x2c]
xor ecx, ecx
mov cx, word [edi*2 + 0x594926]
sub cx, ax
lea edx, [ecx + edx - 2]
cmp dx, word [edi*2 + 0x594928]
jae 0x473292
mov eax, dword [esp + 0x24]
cmp dword [eax], 1
jle 0x473276
and edx, 0xffff
mov eax, dword [edx*8 + 0x59494c]
mov ecx, dword [edx*8 + 0x594948]
push eax
push ecx
call fcn.00461b80
add esp, 8
jmp 0x4738a4
and edx, 0xffff
mov ecx, dword [edx*8 + 0x59494c]
mov edx, dword [edx*8 + 0x594948]
push ecx
push edx
push eax
jmp 0x473649
mov eax, 0xfffffffd
sub eax, edi
mov ecx, 0xffffffff
sbb ecx, ebx
mov dword [esp + 0x94], ecx
js 0x473661
jg 0x4732b7
test eax, eax
jb 0x473661
mov eax, dword [0x594944]
mov esi, 0xfffffffe
sub esi, edi
mov ecx, 0xffffffff
cdq
sbb ecx, ebx
cmp ecx, edx
jg 0x473661
jl 0x4732dd
cmp esi, eax
jae 0x473661
mov edx, dword [0x594ba8]
mov eax, dword [0x594928]
mov ecx, dword [esp + 0x3c]
add edx, eax
cmp ecx, edx
jge 0x473661
lea ecx, [edi + edi + 6]
mov edx, 0x59492c
sub edx, ecx
xor ecx, ecx
mov cx, word [edx]
mov edx, dword [esp + 0x2c]
sub cx, ax
lea eax, [ecx + edx - 2]
lea ecx, [edi + edi + 4]
mov edx, 0x59492c
sub edx, ecx
cmp ax, word [edx]
jae 0x473661
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x473349
and eax, 0xffff
mov edx, dword [eax*8 + 0x594948]
mov ecx, dword [eax*8 + 0x59494c]
neg edx
adc ecx, 0
neg ecx
jmp 0x47335c
and eax, 0xffff
mov edx, dword [eax*8 + 0x594948]
mov ecx, dword [eax*8 + 0x59494c]
mov eax, dword [esp + 0x24]
cmp dword [eax], 1
push ecx
push edx
jle 0x47328c
call fcn.00461b80
add esp, 8
jmp 0x4738a4
cmp al, 0x37
je 0x473661
cmp edx, 3
je 0x473661
cmp ecx, 3
je 0x473661
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0xc]
cmp edx, 0x5b0fa8
jne 0x4733b1
mov edx, dword [eax + 0x10]
mov dword [esp + 0x60], edx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x64], eax
jmp 0x4733de
cmp edx, 0x5b0f90
jne 0x4733c7
mov eax, dword [eax + 0x10]
cdq
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp 0x4733de
lea ecx, [esp + 0x60]
push ecx
push eax
push 0
call fcn.00461cb0
mov ecx, dword [esp + 0xc8]
add esp, 0xc
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0xc]
cmp eax, 0x5b0fa8
jne 0x473404
mov eax, edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0xe8], edx
mov ebx, dword [eax + 0x14]
mov dword [esp + 0xec], ebx
jmp 0x47344a
cmp eax, 0x5b0f90
jne 0x473425
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x10]
cdq
mov ebx, edx
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ebx
jmp 0x473451
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0xe8]
push ecx
push edx
push 0
call fcn.00461cb0
mov ecx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xf8]
add esp, 0xc
mov eax, dword [esp + 0xe8]
mov esi, dword [esp + 0x14]
xor edx, edx
mov dl, byte [esi]
sub edx, 0x35
je 0x4735cb
dec edx
je 0x473550
sub edx, 2
je 0x473477
xor esi, esi
xor edi, edi
jmp 0x47362c
or eax, ebx
je 0x4759fe
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x4734a3
cmp dword [esp + 0x64], 0x80000000
jne 0x4734a3
mov eax, dword [esp + 0xe8]
and eax, ebx
cmp eax, 0xffffffff
je 0x473661
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
push ebx
push ecx
push edx
push eax
call fcn.00583dc0
mov edi, edx
test edi, edi
mov esi, eax
jl 0x473525
jg 0x4734c9
test esi, esi
jb 0x473525
mov ecx, esi
or ecx, edi
jne 0x47362c
mov eax, dword [esp + 0x64]
test eax, eax
jg 0x47350c
jl 0x4734e5
mov ecx, dword [esp + 0x60]
test ecx, ecx
jae 0x4734f6
test ebx, ebx
jg 0x473525
jl 0x4734f6
mov ecx, dword [esp + 0xe8]
test ecx, ecx
ja 0x473525
test eax, eax
jl 0x47362c
jg 0x47350c
mov eax, dword [esp + 0x60]
test eax, eax
jbe 0x47362c
test ebx, ebx
jg 0x47362c
jl 0x473525
mov eax, dword [esp + 0xe8]
test eax, eax
jae 0x47362c
mov edx, dword [esp + 0xe8]
push ebx
push edx
push edi
push esi
call fcn.00583e70
cmp eax, dword [esp + 0x60]
jne 0x473545
cmp edx, dword [esp + 0x64]
je 0x47362c
add esi, 0xffffffff
adc edi, 0xffffffff
jmp 0x47362c
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x88]
sub esi, eax
sbb edi, ebx
cmp edx, 2
je 0x473571
cmp ecx, 2
jne 0x47362c
mov edx, dword [esp + 0x60]
mov ecx, esi
xor ecx, edx
mov dword [esp + 0x368], ecx
mov ecx, dword [esp + 0x64]
mov edx, edi
xor edx, ecx
mov dword [esp + 0x36c], edx
jg 0x47362c
jl 0x4735a6
mov edx, dword [esp + 0x368]
test edx, edx
jae 0x47362c
mov edx, dword [esp + 0x60]
not eax
not ebx
xor eax, edx
xor ebx, ecx
mov dword [esp + 0x94], ebx
jg 0x473661
jl 0x47362c
test eax, eax
jae 0x473661
jmp 0x47362c
mov edi, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov esi, eax
add esi, edi
mov edi, ebx
adc edi, edx
cmp dword [esp + 0x88], 2
je 0x4735ea
cmp ecx, 2
jne 0x47362c
mov edx, dword [esp + 0x60]
mov ecx, esi
xor ecx, edx
mov dword [esp + 0x348], ecx
mov ecx, dword [esp + 0x64]
mov edx, edi
xor edx, ecx
mov dword [esp + 0x34c], edx
jg 0x47362c
jl 0x473617
mov edx, dword [esp + 0x348]
test edx, edx
jae 0x47362c
xor eax, dword [esp + 0x60]
xor ebx, ecx
mov dword [esp + 0x94], ebx
jg 0x473661
jl 0x47362c
test eax, eax
jae 0x473661
mov eax, dword [esp + 0x24]
cmp dword [eax], 1
push edi
push esi
jle 0x473644
call fcn.00461b80
add esp, 8
jmp 0x4738a4
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00461be0
mov eax, dword [esp + 0x20]
add esp, 0xc
inc eax
mov dword [esp + 0x14], eax
mov ebx, eax
jmp 0x475cca
mov esi, dword [esp + 0x24]
lea edx, [esp + 0x24c]
push edx
push esi
push 0
call fcn.004623c0
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x1d4]
push eax
push ecx
push 0
call fcn.004623c0
lea edx, [esp + 0x208]
push edx
call fcn.00489ae0
mov ecx, dword [esp + 0x30]
xor eax, eax
mov al, byte [ecx]
add esp, 0x1c
add eax, 0xffffffcb
cmp eax, 0x2e
ja case.0x4736b5.58
xor edx, edx
mov dl, byte [eax + 0x47618c]
jmp dword [edx*4 + 0x476174]
lea eax, [esp + 0x1f0]
push eax
lea ecx, [esp + 0x1cc]
push ecx
lea edx, [esp + 0x254]
push edx
call fcn.004b5440
jmp 0x47386d
lea eax, [esp + 0x1f0]
push eax
lea ecx, [esp + 0x1cc]
push ecx
lea edx, [esp + 0x254]
push edx
call fcn.004b3eb0
jmp 0x47386d
lea eax, [esp + 0x1f0]
push eax
lea ecx, [esp + 0x1cc]
push ecx
lea edx, [esp + 0x254]
push edx
call fcn.004b4410
jmp 0x47386d
mov eax, dword [esp + 0x1c8]
test eax, eax
jne 0x47375c
lea eax, [esp + 0x24c]
push eax
call fcn.004897e0
lea ecx, [esp + 0x1cc]
push ecx
call fcn.004897e0
lea edx, [esp + 0x1f8]
push edx
call fcn.004897e0
add esp, 0xc
jmp 0x4759fe
lea eax, [esp + 0x2e0]
push eax
call fcn.00489ae0
lea ecx, [esp + 0x2e4]
push ecx
lea edx, [esp + 0x1f8]
push edx
lea eax, [esp + 0x1d4]
push eax
lea ecx, [esp + 0x25c]
push ecx
call fcn.004b4ce0
mov eax, dword [esp + 0x2f4]
add esp, 0x14
test eax, eax
je 0x4737e3
mov edx, dword [esp + 0x2e8]
cmp edx, dword [esp + 0x1d0]
je 0x4737e3
lea eax, [esp + 0x1f0]
push eax
lea ecx, [esp + 0x1f4]
push 1
push ecx
call fcn.0048aad0
lea edx, [esp + 0x2ec]
push edx
lea eax, [esp + 0x1d8]
push eax
lea ecx, [esp + 0x2f4]
push ecx
call fcn.004b5440
add esp, 0x18
lea edx, [esp + 0x2e0]
push edx
call fcn.004897e0
add esp, 4
jmp case.0x4736b5.58
mov eax, dword [esp + 0x1c8]
mov edi, 1
cmp eax, edi
jle 0x47384e
push 0xffffffffffffffff
push str.exponent_too_large
call fcn.00478830
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040c0f0
lea ecx, [esp + 0x25c]
push ecx
call fcn.004897e0
lea edx, [esp + 0x1dc]
push edx
call fcn.004897e0
lea eax, [esp + 0x208]
push eax
call fcn.004897e0
add esp, 0x1c
mov dword [esp + 0x1c], edi
jmp 0x475a58
mov edx, dword [esp + 0x1d4]
mov eax, dword [edx]
lea ecx, [esp + 0x1f0]
push ecx
push eax
lea ecx, [esp + 0x254]
push ecx
call fcn.004b46d0
add esp, 0xc
lea edx, [esp + 0x24c]
push edx
call fcn.004897e0
lea eax, [esp + 0x1cc]
push eax
call fcn.004897e0
mov eax, dword [esi]
add esp, 8
cmp eax, 1
jle 0x4738ba
lea ecx, [esp + 0x1f0]
push ecx
call fcn.00462160
add esp, 4
mov dword [esp + 0x10], eax
inc dword [eax]
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
mov ebx, eax
jmp 0x47161b
lea edx, [esp + 0x1f0]
push edx
push esi
call fcn.004623e0
mov eax, dword [esp + 0x1c]
add esp, 8
inc eax
mov dword [esp + 0x14], eax
mov ebx, eax
jmp 0x475cca
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
push edi
push ebx
mov esi, 1
push edx
mov dword [esp + 0x28], esi
mov dword [eax + 0x10], ecx
call fcn.004761d0
add esp, 0xc
mov dword [esp + 0x34], esi
jmp 0x475a58
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
push esi
push ebx
mov edi, 1
push edx
mov dword [esp + 0x28], edi
mov dword [eax + 0x10], ecx
call fcn.004761d0
add esp, 0xc
mov dword [esp + 0x34], edi
jmp 0x475a58
mov edi, dword [esp + 0x18]
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
cmp eax, 0x5b0f90
je 0x473985
cmp eax, 0x5b0f60
je 0x473985
lea eax, [esp + 0x1dc]
push eax
push esi
push 0
call fcn.00461030
add esp, 0xc
test eax, eax
mov dword [esp + 0x1c], eax
je 0x47399e
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 8]
push esi
push ebx
mov dword [edx + 0x10], edi
push eax
call fcn.004761d0
add esp, 0xc
mov dword [esp + 0x34], 1
jmp 0x475a51
mov eax, dword [esi + 0x10]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x1c], 0
mov dword [esp + 0x1dc], ecx
mov edx, dword [esp + 0x1dc]
xor ecx, ecx
test edx, edx
mov edx, dword [esp + 0x48]
sete cl
mov eax, dword [edx + ecx*4 + 4]
mov dword [esp + 0x10], eax
mov ecx, dword [eax]
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x475c34
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, 0x5b0f90
jne 0x4739f9
lea ecx, [esi + 0x10]
mov dword [esp + 0x134], 1
mov dword [esp + 0x138], ecx
mov dword [esp + 0x1c], 0
jmp 0x473ad1
cmp eax, 0x5b0fa8
jne 0x473a22
lea ecx, [esi + 0x10]
mov dword [esp + 0x134], 2
mov dword [esp + 0x138], ecx
mov dword [esp + 0x1c], 0
jmp 0x473b67
cmp eax, 0x5b0f78
jne 0x473a60
fld qword [esi + 0x10]
lea edi, [esi + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.00582bc4
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 4
mov ecx, edi
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
mov dword [esp + 0x1c], 0
jmp 0x473ab6
test eax, eax
jne 0x473a6f
mov eax, dword [esi + 4]
test eax, eax
je 0x471ed7
mov eax, dword [esi + 4]
test eax, eax
je 0x473a81
mov eax, dword [esi + 8]
test eax, eax
je 0x471ed7
lea ecx, [esp + 0x134]
push ecx
lea edx, [esp + 0x13c]
push edx
push esi
push 0
call fcn.00462700
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x471ed7
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
cmp eax, 5
je 0x471ed7
cmp eax, 4
je 0x471ed7
cmp eax, 1
jne 0x473b62
cmp dword [esi], 1
mov edi, dword [ecx]
jle 0x473b19
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov eax, dword [esp + 0x10]
mov dword [eax + 4], 0
mov ecx, dword [esp + 0x10]
not edi
mov dword [ecx + 0x10], edi
mov edx, dword [esp + 0x10]
mov dword [edx + 0xc], 0x5b0f90
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x475c34
mov eax, dword [esi + 4]
test eax, eax
je 0x473b38
cmp eax, dword [0x5b0f40]
je 0x473b31
push eax
call fcn.00478500
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x473b4c
mov eax, dword [eax + 4]
test eax, eax
je 0x473b4c
push esi
call eax
add esp, 4
not edi
inc ebx
mov dword [esi + 0x10], edi
mov dword [esi + 0xc], 0x5b0f90
mov dword [esp + 0x14], ebx
jmp 0x46d95b
cmp eax, 2
jne 0x473b96
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp dword [esi], 1
not ecx
not eax
push ecx
push eax
jle 0x473e9e
call fcn.00461b80
mov dword [esp + 0x18], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x475c34
lea eax, [esp + 0x2b0]
push eax
push esi
push 0
call fcn.004623c0
lea ecx, [esp + 0x2bc]
push ecx
lea edx, [esp + 0x2c0]
push edx
call fcn.00489b30
lea eax, [esp + 0x2c4]
push eax
lea ecx, [esp + 0x2c8]
push 1
push ecx
call fcn.0048aad0
mov eax, dword [esi]
add esp, 0x20
cmp eax, 1
jle 0x473be9
lea edx, [esp + 0x2b0]
push edx
jmp 0x473f09
lea eax, [esp + 0x2b0]
push eax
push esi
call fcn.004623e0
add esp, 8
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx]
mov eax, dword [esi + 0xc]
cmp eax, 0x5b0f90
jne 0x473c1b
mov ecx, 1
jmp 0x473c27
cmp eax, 0x5b0fa8
jne 0x473c45
mov ecx, 2
lea edi, [esi + 0x10]
mov dword [esp + 0x140], ecx
mov dword [esp + 0xf0], edi
mov dword [esp + 0x1c], 0
jmp 0x473ce2
cmp eax, 0x5b0f78
jne 0x473c83
fld qword [esi + 0x10]
lea edi, [esi + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.00582bc4
add esp, 8
mov ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 4
mov dword [esp + 0x140], ecx
mov dword [esp + 0xf0], edi
mov dword [esp + 0x1c], 0
jmp 0x473cd9
test eax, eax
jne 0x473c92
mov eax, dword [esi + 4]
test eax, eax
je 0x473906
mov eax, dword [esi + 4]
test eax, eax
je 0x473ca4
mov eax, dword [esi + 8]
test eax, eax
je 0x473906
lea edx, [esp + 0x140]
push edx
lea eax, [esp + 0xf4]
push eax
push esi
push 0
call fcn.00462700
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x473906
mov ecx, dword [esp + 0x140]
mov edi, dword [esp + 0xf0]
cmp ecx, 5
je 0x473906
lea eax, [ecx - 1]
cmp eax, 4
ja case.0x46da54.58
jmp dword [eax*4 + 0x4761bc]
cmp dword [esi], 1
jle 0x473d44
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], 0
mov edx, dword [esp + 0xf0]
fld qword [edx]
mov eax, dword [esp + 0x10]
fchs
fstp qword [eax + 0x10]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xc], 0x5b0f78
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x475c34
mov eax, dword [edi + 4]
mov edx, dword [edi]
mov dword [esp + 0x334], eax
mov eax, dword [esi + 4]
test eax, eax
mov dword [esp + 0x330], edx
je 0x473d76
cmp eax, dword [0x5b0f40]
je 0x473d6f
push eax
call fcn.00478500
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x473d8a
mov eax, dword [eax + 4]
test eax, eax
je 0x473d8a
push esi
call eax
add esp, 4
fld qword [esp + 0x330]
inc ebx
fchs
mov dword [esp + 0x14], ebx
fstp qword [esi + 0x10]
mov dword [esi + 0xc], 0x5b0f78
jmp 0x46d95b
mov eax, dword [edi]
cmp eax, 0x80000000
mov dword [esp + 0x28], eax
je case.0x473cee.2
cmp dword [esi], 1
jle 0x473e02
call fcn.00477380
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov dword [ecx + 4], 0
mov edx, dword [esp + 0x10]
neg eax
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc], 0x5b0f90
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x475c34
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x473e25
cmp ecx, dword [0x5b0f40]
je 0x473e1e
push ecx
call fcn.00478500
mov eax, dword [esp + 0x2c]
add esp, 4
mov dword [esi + 4], 0
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x473e3d
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x473e3d
push esi
call ecx
mov eax, dword [esp + 0x2c]
add esp, 4
neg eax
inc ebx
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], 0x5b0f90
mov dword [esp + 0x14], ebx
jmp 0x46d95b
cmp ecx, 1
mov eax, dword [edi]
jne 0x473e5d
cdq
jmp 0x473e60
mov edx, dword [edi + 4]
test eax, eax
jne 0x473e6c
cmp edx, 0x80000000
je case.0x473cee.3
cmp dword [esi], 1
jle 0x473e95
neg eax
adc edx, 0
neg edx
push edx
push eax
call fcn.00461b80
mov dword [esp + 0x18], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x475c34
neg eax
adc edx, 0
neg edx
push edx
push eax
push esi
call fcn.00461be0
add esp, 0xc
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
sub ecx, 2
je 0x473ecb
dec ecx
jne 0x473ee2
lea ecx, [esp + 0x2f8]
push ecx
push esi
push 0
call fcn.004623c0
jmp 0x473edf
mov edx, dword [edi + 4]
mov eax, dword [edi]
push edx
push eax
lea ecx, [esp + 0x300]
push ecx
call fcn.00462cd0
add esp, 0xc
lea edx, [esp + 0x2f8]
push edx
lea eax, [esp + 0x2fc]
push eax
call fcn.00489b30
mov eax, dword [esi]
add esp, 8
cmp eax, 1
jle 0x473f24
lea ecx, [esp + 0x2f8]
push ecx
call fcn.00462160
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 4
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x475c34
lea edx, [esp + 0x2f8]
push edx
push esi
call fcn.004623e0
add esp, 8
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, 0x5b0f90
jne 0x473f7f
lea ecx, [esi + 0x10]
mov dword [esp + 0x148], 1
mov dword [esp + 0x150], ecx
mov eax, dword [esi + 4]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x40], eax
jne 0x47408c
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
cmp eax, 0x5b0fa8
jne 0x473f9d
lea edx, [esi + 0x10]
mov dword [esp + 0x148], 2
mov dword [esp + 0x150], edx
jmp 0x473f64
cmp eax, 0x5b0f78
jne 0x473fd1
fld qword [esi + 0x10]
lea edi, [esi + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.00582bc4
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 4
mov dword [esp + 0x148], eax
mov dword [esp + 0x150], edi
jmp 0x47402f
test eax, eax
jne 0x473fdc
mov eax, dword [esi + 4]
test eax, eax
je 0x474009
mov eax, dword [esi + 4]
test eax, eax
je 0x473fea
mov eax, dword [esi + 8]
test eax, eax
je 0x474009
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x154]
push ecx
push esi
push 0
call fcn.00462700
add esp, 0x10
test eax, eax
je 0x474028
cmp byte [ebx], 0x3a
jne case.0x473cee.5
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
mov edi, 1
mov dword [esp + 0x1c], edi
mov dword [eax + 0x10], edx
jmp 0x474052
mov eax, dword [esp + 0x148]
cmp eax, 5
jne 0x473f64
mov al, byte [ebx]
mov edx, dword [esp + 0x18]
cmp al, 0x3a
mov eax, dword [esp + 0x38]
mov edi, 1
mov dword [esp + 0x1c], edi
mov dword [eax + 0x10], edx
jne 0x474069
mov ecx, dword [ebp + 8]
push esi
push ebx
push ecx
call fcn.004761d0
add esp, 0xc
mov dword [esp + 0x34], edi
jmp 0x475a58
mov eax, dword [esp + 0x150]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
call fcn.00476610
add esp, 0xc
mov dword [esp + 0x34], edi
jmp 0x475a58
cmp dword [esi], 1
jle 0x4740bb
push esi
mov dword [esi + 4], edi
call fcn.00460e00
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov dword [esi + 4], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add esp, 4
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x475c34
cmp eax, dword [0x5b0f40]
je 0x4740cc
push eax
call fcn.00478500
add esp, 4
inc ebx
mov dword [esi + 4], edi
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x1c], 3
xor edi, edi
jmp 0x46daf7
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x1c], 4
xor edi, edi
jmp 0x46daf7
mov eax, dword [esi + 4]
test eax, eax
je 0x474117
cmp eax, dword [0x5b0f40]
je 0x474117
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
dec dword [esp + 0x3c]
jne 0x46db2f
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], edi
cmp dword [esp + 0x1c], 3
jne 0x47415a
mov ebx, dword [eax + 0x10]
mov edx, dword [ebp + 0xc]
add ebx, dword [edx + 0x48]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov eax, dword [eax + 0x14]
cmp eax, 0xffffffff
je 0x475a51
mov ecx, dword [ebp + 0xc]
add eax, dword [ecx + 0x48]
mov ebx, eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], ebx
jmp 0x46d95b
xor edx, edx
mov dh, byte [ebx + 1]
xor eax, eax
mov al, byte [ebx + 3]
xor ecx, ecx
mov cl, byte [ebx + 4]
mov dl, byte [ebx + 2]
shl edx, 8
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 8
or edx, ecx
mov ecx, dword [eax + 0x54]
mov edx, dword [ecx + edx*8 + 4]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x44]
mov edi, dword [ecx + eax*8 + 4]
test edi, edi
lea esi, [ecx + eax*8]
jne 0x4741e2
call fcn.00477380
mov dword [esi + 4], eax
mov dword [eax], edi
mov edx, dword [esi + 4]
mov dword [edx + 4], edi
mov eax, dword [esi + 4]
mov dword [eax + 0x10], 0xffffffff
mov ecx, dword [esi + 4]
mov dword [ecx + 0xc], 0x5b0f90
mov esi, dword [esi + 4]
inc dword [esi]
jmp 0x474223
mov eax, dword [edi + 4]
test eax, eax
je 0x474201
cmp eax, dword [0x5b0f40]
je 0x4741fa
push eax
call fcn.00478500
add esp, 4
mov dword [edi + 4], 0
mov eax, dword [edi + 0xc]
test eax, eax
je 0x474215
mov eax, dword [eax + 4]
test eax, eax
je 0x474215
push edi
call eax
add esp, 4
mov dword [edi + 0x10], 0xffffffff
mov dword [edi + 0xc], 0x5b0f90
add ebx, 5
mov dword [esp + 0x14], ebx
xor edx, edx
mov dh, byte [ebx + 1]
xor eax, eax
mov al, byte [ebx + 3]
xor ecx, ecx
mov cl, byte [ebx + 4]
mov dl, byte [ebx + 2]
shl edx, 8
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 8
or edx, ecx
mov ecx, dword [eax + 0x54]
mov edi, dword [ecx + edx*8 + 4]
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x44]
mov esi, dword [ecx + eax*8 + 4]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 4]
mov edx, dword [edi]
inc ecx
test eax, eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x28], ecx
je 0x47428c
cmp eax, dword [0x5b0f40]
je 0x474285
push eax
call fcn.00478500
mov ecx, dword [esp + 0x2c]
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4742a4
mov eax, dword [eax + 4]
test eax, eax
je 0x4742a4
push esi
call eax
mov ecx, dword [esp + 0x2c]
add esp, 4
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x10], ecx
xor ecx, ecx
cmp edx, ecx
mov dword [esi + 0xc], 0x5b0f90
mov eax, dword [edi + 4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], ecx
jle 0x4745da
mov edx, dword [esp + 0x44]
lea eax, [edx + eax*8 + 4]
mov dword [esp + 0x24], eax
lea eax, [edi + 0xc]
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov edx, dword [ecx]
mov eax, dword [eax]
cmp dword [eax + 0xc], 0x5b3ee0
mov esi, dword [edx]
jne 0x47430c
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [esp + 0x124], edx
mov dword [esp + 0x1c], 0
jmp 0x47432d
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x124]
push ecx
push eax
push edx
call fcn.0047b6d0
add esp, 0xc
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x475a51
imul esi, dword [esp + 0x28]
cmp dword [esp + 0x124], esi
jle 0x474343
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
add eax, 8
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x30]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
jl 0x4742de
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4745da
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
lea ecx, [eax + edi*8 + 4]
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x180], edx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x180]
mov edx, dword [ecx]
mov edi, dword [eax]
mov esi, dword [edi]
push edx
push 0
mov dword [esp + 0x98], esi
call fcn.0047b350
mov ebx, eax
mov eax, dword [ebx + 0xc]
add esp, 8
cmp eax, 0x5b3ee0
mov dword [esp + 0x40], ebx
jne 0x4743eb
mov eax, dword [ebx + 0x10]
add eax, 0x10
mov dword [esp + 0x1e0], eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x124], ecx
jmp 0x474408
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x1e0]
push edx
lea eax, [esp + 0x128]
push eax
push ebx
push ecx
call fcn.0047b3d0
add esp, 0x10
mov ecx, esi
imul ecx, dword [esp + 0x28]
test esi, esi
mov dword [esp + 0x210], ecx
mov dword [esp + 0x8c], 0
jle 0x47455c
add edi, 4
mov dword [esp + 0x24], edi
cmp ecx, dword [esp + 0x124]
jl 0x474455
call fcn.00477380
mov esi, eax
xor eax, eax
mov dword [esi], eax
mov edx, dword [0x5b0f40]
mov dword [esi + 4], edx
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
jmp 0x47445f
mov eax, dword [esp + 0x1e0]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
mov edx, dword [esp + 0x44]
mov cl, byte [edx + eax*8]
test cl, 2
lea edi, [edx + eax*8]
je 0x47447c
mov edi, dword [edi + 4]
test byte [edi], 2
jne 0x474474
test byte [edi], 0x2b
jne 0x4744eb
mov ebx, dword [edi + 4]
cmp esi, ebx
je 0x474520
test ebx, ebx
je 0x4744e4
mov ecx, dword [ebx]
dec ecx
mov eax, ecx
test eax, eax
mov dword [ebx], ecx
jg 0x4744e4
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4744bc
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4744bc
push ebx
call fcn.00460cf0
mov dword [edi + 4], esi
mov eax, dword [esi]
add esp, 4
inc eax
mov dword [esi], eax
jmp 0x474520
mov eax, dword [ebx + 4]
test eax, eax
je 0x4744d4
cmp eax, dword [0x5b0f40]
je 0x4744d4
push eax
call fcn.00478500
add esp, 4
push ebx
mov dword [ebx + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov dword [edi + 4], esi
inc dword [esi]
jmp 0x474520
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [ebp + 8]
push 0x200
push esi
push 0
push 0
push 0
push edi
push eax
mov dword [ecx + 0x10], edx
mov dword [esp + 0x54], 1
call fcn.00407d50
add esp, 0x20
test eax, eax
je 0x474600
mov ecx, dword [esp + 0x210]
mov eax, dword [esp + 0x8c]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x40]
inc ecx
inc eax
add esi, 4
cmp eax, edx
mov dword [esp + 0x210], ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x24], esi
jl 0x474430
mov ecx, dword [ebx]
dec ecx
mov eax, ecx
test eax, eax
mov dword [ebx], ecx
jg 0x4745a5
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x47457d
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x47457d
push ebx
call fcn.00460cf0
jmp 0x4745a2
mov eax, dword [ebx + 4]
test eax, eax
je 0x474595
cmp eax, dword [0x5b0f40]
je 0x474595
push eax
call fcn.00478500
add esp, 4
push ebx
mov dword [ebx + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x180]
mov ecx, dword [esp + 0x3c]
add edi, 8
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x180], edx
jl 0x47439c
mov ebx, dword [esp + 0x14]
mov al, byte [ebx + 5]
add ebx, 5
cmp al, 0x26
mov eax, dword [esp + 0x20]
jne 0x474660
test eax, eax
mov eax, 2
jne 0x4745f5
movsx eax, byte [ebx + 1]
add ebx, eax
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov ecx, dword [ebx]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esp + 0x1c], 1
mov dword [ebx], ecx
jg 0x475a58
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x474633
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x474633
push ebx
call fcn.00460cf0
add esp, 4
jmp 0x475a58
mov eax, dword [ebx + 4]
test eax, eax
je 0x47464b
cmp eax, dword [0x5b0f40]
je 0x47464b
push eax
call fcn.00478500
add esp, 4
push ebx
mov dword [ebx + 8], 0xffffffff
call fcn.00477440
add esp, 4
jmp 0x475a58
test eax, eax
je case.0x46da54.35
mov eax, 5
add ebx, eax
mov dword [esp + 0x14], ebx
jmp 0x46d95b
movsx eax, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 2]
shl eax, 8
xor edx, edx
mov dl, byte [ebx + 3]
or eax, ecx
xor ecx, ecx
mov cl, byte [ebx + 4]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
add ebx, eax
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
sub edx, esi
add eax, 4
sar edx, 2
add ebx, 5
mov dword [esp + 0x5c], eax
mov dword [eax], edx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov edi, dword [esp + 0x5c]
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
sub edi, 4
push edx
mov dword [esp + 0x60], edi
mov dword [ecx + 0x10], eax
call fcn.0040c4a0
add esp, 4
inc ebx
mov dword [esp + 0x34], 1
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov esi, dword [ebp + 8]
push esi
call fcn.0040c190
add esp, 4
mov dword [esp + 0x10], eax
call fcn.00477380
xor ecx, ecx
mov dword [eax], ecx
mov edx, dword [0x5b0f40]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
inc dword [eax]
mov dword [esi + 0x1e4], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
add eax, 4
inc ebx
mov dword [esp + 0x18], eax
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
call fcn.00477380
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov dword [eax], 0
mov edx, dword [esp + 0x10]
mov dword [edx + 4], 0
mov eax, dword [esp + 0x10]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [edx + 0xc], 0x5b0f90
mov ecx, dword [esp + 0x10]
add eax, 4
mov dword [eax], ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
inc ecx
inc ebx
mov dword [eax], ecx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 8]
push edx
push eax
call fcn.0040cf40
mov ecx, dword [esp + 0x20]
add ecx, 4
mov dword [esp + 0x18], eax
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax]
add esp, 8
inc ecx
mov dword [eax], ecx
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x46d95b
xor ecx, ecx
mov ch, byte [ebx + 1]
mov edi, dword [esp + 0x18]
xor edx, edx
mov dl, byte [ebx + 3]
xor eax, eax
mov al, byte [ebx + 4]
mov cl, byte [ebx + 2]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
mov esi, ecx
lea edx, [esi*4]
mov ecx, edi
sub ecx, edx
cmp esi, 1
mov eax, dword [ecx]
jle 0x474833
mov edx, dword [ebp + 8]
push 0
add ecx, 4
push ecx
lea ecx, [esi - 1]
push ecx
push eax
push edx
call fcn.00468c30
add esp, 0x14
test eax, eax
jne 0x474833
mov dword [esp + 0x1c], 1
jmp 0x475a58
mov edx, dword [edi]
lea ecx, [esp + 0x10]
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00468f70
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x475a51
mov eax, dword [esp + 0x10]
test eax, eax
je 0x474872
mov ecx, dword [eax]
add ebx, 5
inc esi
inc ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], esi
mov dword [eax], ecx
jmp 0x474cbb
mov ecx, dword [esp + 0x38]
mov esi, dword [ebp + 8]
push esi
mov dword [ecx + 0x10], edi
call fcn.0040c4a0
mov edi, dword [edi]
mov eax, dword [edi + 4]
add esp, 4
test eax, eax
jne 0x474897
push edi
call fcn.00460ec0
add esp, 4
push 0
push str.__not_known_in_dictionary
push eax
push str.key__
push esi
call fcn.0040c290
mov eax, 1
add esp, 0x14
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], eax
jmp 0x475a58
xor edx, edx
mov dh, byte [ebx + 1]
xor eax, eax
mov al, byte [ebx + 3]
xor ecx, ecx
mov cl, byte [ebx + 4]
mov dl, byte [ebx + 2]
shl edx, 8
or edx, eax
shl edx, 8
or edx, ecx
xor ecx, ecx
mov ch, byte [ebx + 5]
mov dword [esp + 0x30], edx
xor edx, edx
mov dl, byte [ebx + 7]
xor eax, eax
mov al, byte [ebx + 8]
mov cl, byte [ebx + 6]
shl ecx, 8
or ecx, edx
mov edx, dword [esp + 0x44]
shl ecx, 8
or ecx, eax
lea eax, [edx + ecx*8]
test byte [eax], 2
mov dword [esp + 0x90], ecx
mov dword [esp + 0x24], eax
je 0x47491e
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x474912
mov dword [esp + 0x24], eax
test byte [eax], 0x13
jne 0x474930
mov esi, dword [eax + 4]
test esi, esi
je 0x474930
mov edi, dword [esp + 0x18]
jmp 0x47495b
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
push ecx
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp + 8]
push eax
mov dword [edx + 0x10], edi
call fcn.00407a50
add esp, 0x1c
mov esi, eax
mov dword [esp + 0x34], 1
test esi, esi
jne 0x474983
call fcn.00477380
mov esi, eax
xor eax, eax
mov dword [esi], eax
mov ecx, dword [0x5b0f40]
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esp + 0x20], 1
jmp 0x4749a0
mov edx, dword [esi]
xor eax, eax
cmp edx, 1
setg al
test eax, eax
mov dword [esp + 0x20], eax
je 0x4749a0
push esi
call fcn.00460e00
add esp, 4
mov esi, eax
xor eax, eax
mov al, byte [ebx]
sub eax, 0x6f
je 0x474b15
dec eax
je 0x474af0
dec eax
je 0x4749d1
push str.Should_not_happen_
mov dword [esp + 0x30], 0
call fcn.00406da0
add esp, 4
jmp 0x474b3f
movsx edi, byte [ebx + 1]
xor edx, edx
mov dl, byte [ebx + 2]
xor eax, eax
mov al, byte [ebx + 3]
shl edi, 8
xor ecx, ecx
mov cl, byte [ebx + 4]
mov dword [esp + 0x2c], 1
or edi, edx
shl edi, 8
or edi, eax
mov eax, dword [esp + 0x18]
shl edi, 8
lea edx, [esp + 0x50]
push edx
mov edx, dword [ebp + 8]
or edi, ecx
mov ecx, dword [eax]
push ecx
push esi
push edx
call fcn.00468f70
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x474b47
mov eax, dword [esp + 0x50]
test eax, eax
push edi
jne 0x474a46
call fcn.00461820
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
push ecx
push esi
push 0
call fcn.00468e60
add esp, 0x14
jmp 0x474b3f
call fcn.00461820
mov edi, eax
mov edx, dword [edi]
add esp, 4
inc edx
mov dword [edi], edx
mov eax, dword [esp + 0x50]
cmp dword [eax], 1
jle 0x474a7f
push eax
call fcn.00460e00
mov edx, dword [esp + 0x1c]
push eax
mov dword [esp + 0x58], eax
mov eax, dword [edx]
push eax
push esi
push 0
call fcn.00468e60
mov eax, dword [esp + 0x64]
add esp, 0x14
mov ecx, dword [ebp + 8]
push edi
push eax
push ecx
call fcn.0046d420
add esp, 0xc
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x474a9e
push esi
call fcn.00460f50
add esp, 4
mov ecx, dword [edi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [edi], ecx
jg 0x474b3f
mov eax, dword [edi + 0xc]
test eax, eax
je 0x474ac6
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x474ac6
push edi
call fcn.00460cf0
add esp, 4
jmp 0x474b3f
mov eax, dword [edi + 4]
test eax, eax
je 0x474ade
cmp eax, dword [0x5b0f40]
je 0x474ade
push eax
call fcn.00478500
add esp, 4
push edi
mov dword [edi + 8], 0xffffffff
call fcn.00477440
add esp, 4
jmp 0x474b3f
mov eax, dword [esp + 0x30]
lea edx, [eax*4]
sub edi, edx
add edi, 4
push edi
push eax
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 8]
push esi
push eax
call fcn.004693a0
add esp, 0x10
jmp 0x474b3b
mov eax, dword [esp + 0x30]
mov edx, dword [edi]
lea ecx, [eax + 1]
push edx
mov edx, dword [ebp + 8]
mov dword [esp + 0x30], ecx
lea ecx, [eax*4]
sub edi, ecx
push edi
push eax
push esi
push edx
call fcn.00469240
add esp, 0x14
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x474b90
mov eax, dword [esp + 0x20]
test eax, eax
je 0x475a51
mov ecx, dword [esi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x475a51
mov eax, dword [esi + 0xc]
test eax, eax
je 0x474b74
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x475a48
mov eax, dword [esi + 4]
test eax, eax
je 0x474fc9
cmp eax, dword [0x5b0f40]
je 0x474fc9
jmp 0x474fc0
mov eax, dword [esp + 0x24]
test byte [eax], 0x2b
jne 0x474c13
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x474bfd
mov ecx, dword [esi]
mov edi, dword [eax + 4]
inc ecx
test edi, edi
mov dword [esi], ecx
je 0x474bf6
mov ecx, dword [edi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [edi], ecx
jg 0x474bf6
mov eax, dword [edi + 0xc]
test eax, eax
je 0x474bce
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x474bce
push edi
call fcn.00460cf0
jmp 0x474bf3
mov eax, dword [edi + 4]
test eax, eax
je 0x474be6
cmp eax, dword [0x5b0f40]
je 0x474be6
push eax
call fcn.00478500
add esp, 4
push edi
mov dword [edi + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov eax, dword [esp + 0x24]
mov dword [eax + 4], esi
mov dword [esp + 0x10], esi
cmp byte [ebx + 9], 3
jne 0x474caf
add ebx, 0xa
jmp 0x46f4fd
mov edi, dword [esi]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
inc edi
mov dword [esi], edi
mov dword [ecx + 0x10], edx
mov ecx, dword [esp + 0x90]
mov edx, dword [ebp + 8]
push ecx
push 0x200
push esi
push 0
push 0
push 0
push eax
push edx
call fcn.00407d50
mov dword [esp + 0x30], eax
mov ecx, dword [esi]
add esp, 0x20
dec ecx
mov eax, ecx
test eax, eax
mov edi, 1
mov dword [esp + 0x34], edi
mov dword [esi], ecx
jg 0x474c9a
mov eax, dword [esi + 0xc]
test eax, eax
je 0x474c72
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x474c72
push esi
call fcn.00460cf0
jmp 0x474c97
mov eax, dword [esi + 4]
test eax, eax
je 0x474c8a
cmp eax, dword [0x5b0f40]
je 0x474c8a
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x474c01
mov dword [esp + 0x1c], edi
jmp 0x475a58
mov eax, dword [esi]
add ebx, 9
inc eax
mov dword [esp + 0x14], ebx
mov dword [esi], eax
mov edi, dword [esp + 0x2c]
mov eax, edi
sub eax, 0
je 0x474d45
dec eax
je 0x475c34
dec eax
je 0x47161b
sub edi, 2
mov eax, edi
dec edi
test eax, eax
mov dword [esp + 0x2c], edi
je 0x47161b
inc edi
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov ecx, dword [esi]
sub eax, 4
dec ecx
mov dword [esp + 0x18], eax
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x474d3d
mov eax, dword [esi + 0xc]
test eax, eax
je 0x474d15
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x474d15
push esi
call fcn.00460cf0
jmp 0x474d3a
mov eax, dword [esi + 4]
test eax, eax
je 0x474d2d
cmp eax, dword [0x5b0f40]
je 0x474d2d
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
dec edi
jne 0x474ce7
jmp 0x47161b
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x18], eax
mov dword [eax], ecx
jmp 0x46d95b
mov eax, dword [esi + 4]
test eax, eax
je 0x474d73
cmp eax, dword [0x5b0f40]
je 0x474d73
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
dec edi
jne 0x46f531
jmp 0x470402
xor eax, eax
mov ah, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 3]
xor edx, edx
mov dl, byte [ebx + 4]
mov al, byte [ebx + 2]
shl eax, 8
or eax, ecx
mov ecx, dword [esp + 0x44]
shl eax, 8
or eax, edx
mov dword [esp + 0x30], eax
lea eax, [ecx + eax*8]
test byte [eax], 2
mov dword [esp + 0x24], eax
je 0x474dcf
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 4]
test byte [eax], 2
mov dword [esp + 0x24], eax
jne 0x474dbf
mov eax, dword [esp + 0x24]
test byte [eax], 0x13
jne 0x474ddf
mov esi, dword [eax + 4]
test esi, esi
jne 0x474e12
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
push edx
push 0
push 0
push 0
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [ebp + 8]
push 0
push eax
push ecx
call fcn.00407a50
add esp, 0x1c
mov esi, eax
mov dword [esp + 0x34], 1
test esi, esi
mov edi, dword [esp + 0x18]
jne 0x474e3e
call fcn.00477380
mov esi, eax
xor eax, eax
mov dword [esi], eax
mov edx, dword [0x5b0f40]
mov dword [esi + 4], edx
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esp + 0x20], 1
jmp 0x474e5b
mov edx, dword [esi]
xor eax, eax
cmp edx, 1
setg al
test eax, eax
mov dword [esp + 0x20], eax
je 0x474e5b
push esi
call fcn.00460e00
add esp, 4
mov esi, eax
mov ecx, dword [edi - 4]
mov edx, dword [ebp + 8]
lea eax, [esp + 0x50]
push eax
push ecx
push esi
push edx
call fcn.00468f70
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x474f3d
mov al, byte [ebx]
sub eax, 0x72
je 0x474fdb
dec eax
je 0x474e9d
push str.Should_not_happen_
call fcn.00406da0
add esp, 4
jmp 0x475009
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x474eb9
push edi
push 1
call fcn.0047b190
add esp, 8
mov dword [esp + 0x50], eax
jmp 0x475009
cmp dword [eax], 1
jle 0x474f68
push eax
call fcn.00460e00
mov edx, dword [ebp + 8]
mov dword [esp + 0x54], eax
mov ecx, dword [edi]
push ecx
push eax
push edx
call fcn.0047b520
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
je 0x475009
mov eax, dword [esp + 0x50]
dec dword [eax]
mov eax, dword [esp + 0x50]
cmp dword [eax], 0
jg 0x474f3d
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x474f0d
mov edx, dword [ecx + 4]
test edx, edx
je 0x474f0d
push eax
call fcn.00460cf0
jmp 0x474f3a
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x474f29
cmp ecx, dword [0x5b0f40]
je 0x474f29
push ecx
call fcn.00478500
mov eax, dword [esp + 0x54]
add esp, 4
mov dword [eax + 8], 0xffffffff
mov eax, dword [esp + 0x50]
push eax
call fcn.00477440
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x475a51
mov ecx, dword [esi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x475a51
mov eax, dword [esi + 0xc]
test eax, eax
je 0x474b74
jmp 0x474b69
mov ecx, dword [edi]
mov edx, dword [ebp + 8]
push ecx
push eax
push edx
call fcn.0047b520
add esp, 0xc
test eax, eax
mov dword [esp + 0x1c], eax
je 0x475009
mov eax, dword [esp + 0x20]
test eax, eax
je 0x475a51
mov ecx, dword [esi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x475a51
mov eax, dword [esi + 0xc]
test eax, eax
je 0x474fb1
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x475a48
mov eax, dword [esi + 4]
test eax, eax
je 0x474fc9
cmp eax, dword [0x5b0f40]
je 0x474fc9
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
jmp 0x475a4e
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x474feb
mov eax, dword [edi]
mov dword [esp + 0x50], eax
jmp 0x475009
cmp dword [eax], 1
jle 0x474ffd
push eax
call fcn.00460e00
add esp, 4
mov dword [esp + 0x50], eax
mov ecx, dword [edi]
push ecx
push eax
call fcn.00479100
add esp, 8
mov edx, dword [esp + 0x50]
mov eax, dword [edi - 4]
push edx
push eax
push esi
push 0
call fcn.00468e60
mov ecx, dword [esp + 0x34]
mov al, byte [ecx]
add esp, 0x10
test al, 0x2b
jne 0x4750a3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x47508d
mov edx, ecx
mov ecx, dword [esi]
mov edi, dword [edx + 4]
inc ecx
test edi, edi
mov dword [esi], ecx
je 0x475086
mov ecx, dword [edi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [edi], ecx
jg 0x475086
mov eax, dword [edi + 0xc]
test eax, eax
je 0x47505e
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x47505e
push edi
call fcn.00460cf0
jmp 0x475083
mov eax, dword [edi + 4]
test eax, eax
je 0x475076
cmp eax, dword [0x5b0f40]
je 0x475076
push eax
call fcn.00478500
add esp, 4
push edi
mov dword [edi + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov eax, dword [esp + 0x24]
mov dword [eax + 4], esi
mov dword [esp + 0x10], esi
cmp byte [ebx + 5], 3
jne 0x47513f
add ebx, 6
jmp 0x4703fe
mov edx, dword [esp + 0x30]
mov eax, dword [esi]
mov ecx, dword [esp + 0x38]
push edx
push 0x200
push esi
push 0
inc eax
push 0
mov dword [esi], eax
mov eax, dword [esp + 0x38]
push 0
mov dword [ecx + 0x10], edi
mov ecx, dword [ebp + 8]
push eax
push ecx
call fcn.00407d50
mov dword [esp + 0x30], eax
mov ecx, dword [esi]
add esp, 0x20
dec ecx
mov eax, ecx
test eax, eax
mov dword [esp + 0x34], 1
mov dword [esi], ecx
jg 0x475126
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4750fe
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4750fe
push esi
call fcn.00460cf0
jmp 0x475123
mov eax, dword [esi + 4]
test eax, eax
je 0x475116
cmp eax, dword [0x5b0f40]
je 0x475116
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x475091
mov dword [esp + 0x1c], 1
jmp 0x475a58
inc dword [esi]
add ebx, 5
jmp 0x471617
mov edi, dword [esp + 0x18]
xor edx, edx
mov dh, byte [ebx + 1]
xor eax, eax
mov al, byte [ebx + 3]
xor ecx, ecx
mov cl, byte [ebx + 4]
sub edi, 4
push 0xc
mov dl, byte [ebx + 2]
mov dword [esp + 0x1c], edi
shl edx, 8
or edx, eax
shl edx, 8
or edx, ecx
mov dword [esp + 0x40], edx
mov edx, dword [edi + 4]
mov dword [esp + 0x44], edx
call fcn.004783d0
mov esi, eax
lea eax, [esp + 0x178]
push eax
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x190]
push ecx
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x184]
push edx
push esi
push eax
push ecx
mov dword [esp + 0xac], esi
call fcn.004690f0
add esp, 0x1c
test eax, eax
mov dword [esp + 0x1c], eax
je 0x4751c8
push esi
call fcn.00478500
jmp 0x475a4e
call fcn.00477380
mov esi, eax
mov eax, dword [esp + 0x90]
mov dword [esi], 0
mov edx, dword [0x5b0f40]
mov dword [esi + 4], edx
mov edx, dword [esp + 0x40]
mov dword [esi + 8], 0
mov ecx, 0x5b3460
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esi + 0x14], edx
mov edx, dword [esp + 0x3c]
lea eax, [eax + edx*8 + 4]
mov dword [esp + 0x3c], eax
mov eax, dword [eax]
test eax, eax
je 0x47529b
cmp dword [eax + 0xc], ecx
je 0x47528e
dec dword [eax]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
cmp dword [eax], 0
jg 0x47529b
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x475251
mov edx, dword [ecx + 4]
test edx, edx
je 0x475251
push eax
call fcn.00460cf0
mov eax, dword [esp + 0x40]
mov dword [eax], esi
mov eax, dword [esi]
add esp, 4
inc eax
mov dword [esi], eax
jmp 0x47530b
mov eax, dword [eax + 4]
test eax, eax
je 0x475269
cmp eax, dword [0x5b0f40]
je 0x475269
push eax
call fcn.00478500
add esp, 4
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
mov dword [ecx + 8], 0xffffffff
mov edx, dword [eax]
push edx
call fcn.00477440
mov eax, dword [esp + 0x40]
mov dword [eax], esi
mov eax, dword [esi]
add esp, 4
inc eax
mov dword [esi], eax
jmp 0x47530b
push str.mis_issued_dictFirst_
call fcn.00406da0
add esp, 4
mov eax, dword [esp + 0x3c]
mov dword [eax], esi
inc dword [esi]
jmp 0x47530b
xor ecx, ecx
mov ch, byte [ebx + 1]
xor edx, edx
mov dl, byte [ebx + 3]
xor eax, eax
mov al, byte [ebx + 4]
mov cl, byte [ebx + 2]
shl ecx, 8
or ecx, edx
mov edx, dword [esp + 0x44]
shl ecx, 8
or ecx, eax
mov esi, dword [edx + ecx*8 + 4]
test esi, esi
je 0x4752d6
cmp dword [esi + 0xc], 0x5b3460
je 0x4752e3
push str.mis_issued_dictNext_
call fcn.00406da0
add esp, 4
lea eax, [esp + 0x174]
push eax
mov eax, dword [esi + 0x10]
lea ecx, [esp + 0x18c]
push ecx
lea edx, [esp + 0x180]
push edx
push eax
call fcn.00469180
mov edi, dword [esp + 0x28]
add esp, 0x10
mov eax, dword [esp + 0x174]
test eax, eax
je 0x47533f
call fcn.00477380
xor ecx, ecx
mov dword [eax], ecx
mov edx, dword [0x5b0f40]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
add edi, 4
mov dword [edi], eax
mov esi, dword [eax]
inc esi
add edi, 4
mov dword [eax], esi
mov dword [edi], eax
jmp 0x47536b
mov eax, dword [esp + 0x188]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x188]
mov esi, dword [eax]
add edi, 4
inc esi
mov dword [eax], esi
mov ecx, dword [esp + 0x178]
add edi, 4
mov dword [edi], ecx
mov eax, dword [esp + 0x178]
inc dword [eax]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x48]
mov eax, dword [eax + edx*4 + 4]
add edi, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edi
mov dword [edi], eax
mov eax, dword [esp + 0x10]
inc dword [eax]
add ebx, 5
mov dword [esp + 0x14], ebx
jmp 0x46d95b
xor eax, eax
mov ah, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 3]
xor edx, edx
mov dl, byte [ebx + 4]
mov al, byte [ebx + 2]
shl eax, 8
or eax, ecx
mov ecx, dword [esp + 0x44]
shl eax, 8
or eax, edx
mov esi, dword [ecx + eax*8 + 4]
test esi, esi
mov dword [esp + 0x3c], eax
jne 0x4753d4
push str.mis_issued_dictDone_
call fcn.00406da0
add esp, 4
cmp dword [esi + 0xc], 0x5b3460
jne 0x4754ac
mov edi, dword [esi + 0x10]
push edi
call fcn.00469210
push edi
call fcn.00478500
mov edi, dword [esi + 0x14]
mov ecx, dword [edi]
add esp, 8
dec ecx
mov eax, ecx
test eax, eax
mov dword [edi], ecx
jg 0x47543f
mov eax, dword [edi + 0xc]
test eax, eax
je 0x475417
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x475417
push edi
call fcn.00460cf0
jmp 0x47543c
mov eax, dword [edi + 4]
test eax, eax
je 0x47542f
cmp eax, dword [0x5b0f40]
je 0x47542f
push eax
call fcn.00478500
add esp, 4
push edi
mov dword [edi + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov ecx, dword [esi]
dec ecx
xor edi, edi
mov eax, ecx
cmp eax, edi
mov dword [esi], ecx
jg 0x475488
mov eax, dword [esi + 0xc]
cmp eax, edi
je 0x475460
cmp dword [eax + 4], edi
je 0x475460
push esi
call fcn.00460cf0
jmp 0x475485
mov eax, dword [esi + 4]
cmp eax, edi
je 0x475478
cmp eax, dword [0x5b0f40]
je 0x475478
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
call fcn.00477380
mov ecx, dword [esp + 0x44]
mov dword [eax], edi
mov edx, dword [0x5b0f40]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [ecx + edx*8 + 4], eax
inc dword [eax]
add ebx, 5
mov dword [esp + 0x14], ebx
jmp 0x46d95b
xor eax, eax
mov ah, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 3]
xor edx, edx
mov dl, byte [ebx + 4]
mov al, byte [ebx + 2]
shl eax, 8
or eax, ecx
xor ecx, ecx
mov ch, byte [ebx + 5]
shl eax, 8
or eax, edx
mov edi, eax
mov eax, dword [esp + 0x44]
xor edx, edx
mov dl, byte [ebx + 7]
mov cl, byte [ebx + 6]
lea esi, [eax + edi*8]
xor eax, eax
mov al, byte [ebx + 8]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp + 0xc]
shl ecx, 8
or ecx, eax
mov eax, dword [edx + 0x54]
mov ecx, dword [eax + ecx*8 + 4]
test byte [esi], 2
mov dword [esp + 0x28], ecx
je 0x475514
mov esi, dword [esi + 4]
test byte [esi], 2
jne 0x47550c
test byte [esi], 0x13
jne 0x475526
mov eax, dword [esi + 4]
test eax, eax
je 0x475526
mov dword [esp + 0x40], eax
jmp 0x47555e
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
push edi
push 0x200
push 0
push 0
push 0
push esi
push ecx
mov dword [eax + 0x10], edx
call fcn.00407a50
add esp, 0x1c
test eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], 1
je 0x4756b6
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
cmp dword [eax + 0xc], 0x5b3ee0
jne 0x475588
mov eax, dword [eax + 0x10]
add eax, 0x10
mov dword [esp + 0x9c], eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x78], ecx
jmp 0x4755aa
lea edx, [esp + 0x9c]
push edx
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x7c]
push ecx
push eax
push edx
call fcn.0047b3d0
add esp, 0x10
test eax, eax
jne 0x4756b6
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x78]
cmp eax, dword [ecx]
je 0x4755c3
push str.dictUpdateStart_argument_length_mismatch
call fcn.00406da0
add esp, 4
mov eax, dword [esp + 0x78]
xor edi, edi
test eax, eax
jle 0x46dd49
mov ecx, dword [esp + 0x28]
mov ebx, dword [ebp + 8]
mov eax, 0xfffffffc
sub eax, ecx
lea esi, [ecx + 4]
mov dword [esp + 0x90], eax
jmp 0x4755f2
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x9c]
lea edx, [esp + 0x270]
push edx
add eax, esi
mov edx, dword [eax + ecx]
mov eax, dword [esp + 0x44]
push edx
push eax
push ebx
call fcn.00468f70
add esp, 0x10
test eax, eax
jne 0x4756b6
mov ecx, dword [esi]
mov edx, dword [esp + 0x44]
lea eax, [edx + ecx*8]
test byte [eax], 2
je 0x475633
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x47562b
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x270]
test ecx, ecx
jne 0x475666
mov ebx, dword [ebp + 8]
mov eax, dword [esi]
push ecx
push ecx
mov ecx, dword [ebx + 0x64]
mov edx, dword [ecx + 0x30]
mov eax, dword [edx + eax*4 + 8]
push eax
push ebx
call fcn.004082a0
add esp, 0x10
jmp 0x475686
mov edx, dword [esi]
mov ebx, dword [ebp + 8]
push edx
push 0x200
push ecx
push 0
push 0
push 0
push eax
push ebx
call fcn.00407d50
add esp, 0x20
test eax, eax
je 0x4756ae
mov eax, dword [esp + 0x78]
inc edi
add esi, 4
cmp edi, eax
mov dword [esp + 0x34], 1
jl 0x4755eb
mov ebx, dword [esp + 0x14]
add ebx, 9
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov dword [esp + 0x34], 1
mov dword [esp + 0x1c], 1
jmp 0x475a58
xor eax, eax
mov ah, byte [ebx + 1]
xor ecx, ecx
mov cl, byte [ebx + 3]
xor edx, edx
mov dl, byte [ebx + 4]
mov al, byte [ebx + 2]
shl eax, 8
or eax, ecx
xor ecx, ecx
mov ch, byte [ebx + 5]
shl eax, 8
or eax, edx
mov esi, eax
mov eax, dword [esp + 0x44]
xor edx, edx
mov dl, byte [ebx + 7]
mov cl, byte [ebx + 6]
lea edi, [eax + esi*8]
xor eax, eax
mov al, byte [ebx + 8]
mov dword [esp + 0x90], esi
mov dword [esp + 0x40], edi
shl ecx, 8
or ecx, edx
mov edx, dword [ebp + 0xc]
shl ecx, 8
or ecx, eax
mov eax, dword [edx + 0x54]
mov ecx, dword [eax + ecx*8 + 4]
test byte [edi], 2
mov dword [esp + 0x28], ecx
je 0x47572e
mov edi, dword [edi + 4]
test byte [edi], 2
jne 0x475722
mov dword [esp + 0x40], edi
test byte [edi], 0x13
jne 0x47573e
mov eax, dword [edi + 4]
test eax, eax
je 0x47573e
mov esi, eax
jmp 0x475769
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
push esi
push 0
push 0
push 0
push 0
push edi
push ecx
mov dword [eax + 0x10], edx
call fcn.00407a50
add esp, 0x1c
mov esi, eax
mov dword [esp + 0x34], 1
test esi, esi
jne 0x475779
add ebx, 9
mov dword [esp + 0x14], ebx
jmp 0x475cca
mov edi, dword [ebp + 8]
lea edx, [esp + 0x78]
push edx
push esi
push edi
call fcn.004690c0
add esp, 0xc
test eax, eax
jne 0x4756b6
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
cmp dword [eax + 0xc], 0x5b3ee0
jne 0x4757bd
mov eax, dword [eax + 0x10]
add eax, 0x10
mov dword [esp + 0x9c], eax
mov eax, dword [ecx]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [esp + 0x78], edx
jmp 0x4757dc
lea ecx, [esp + 0x9c]
push ecx
lea edx, [esp + 0x7c]
push edx
push eax
push edi
call fcn.0047b3d0
add esp, 0x10
test eax, eax
jne 0x4756b6
mov edx, dword [esi]
xor eax, eax
cmp edx, 1
setg al
test eax, eax
mov dword [esp + 0x8c], eax
je 0x4757fc
push esi
call fcn.00460e00
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x78]
xor edi, edi
test eax, eax
jle 0x4758de
mov eax, dword [esp + 0x28]
add eax, 4
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x44]
mov cl, byte [eax + edx*8]
test cl, 2
lea eax, [eax + edx*8]
je 0x475832
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x47582a
test byte [eax], 0x13
jne 0x475845
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x475845
mov ebx, dword [ebp + 8]
mov eax, ecx
jmp 0x475874
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
mov ebx, dword [ebp + 8]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edx
push 0
push 0
push 0
push 0
push eax
push ebx
call fcn.00407a50
add esp, 0x1c
mov dword [esp + 0x34], 1
test eax, eax
jne 0x47588f
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + edi*4]
push ecx
push esi
push ebx
call fcn.00468fc0
add esp, 0xc
jmp 0x4758c6
cmp esi, eax
push eax
jne 0x4758b1
call fcn.00460e00
mov edx, dword [esp + 0xa0]
push eax
mov eax, dword [edx + edi*4]
push eax
push esi
push ebx
call fcn.00468e60
add esp, 0x14
jmp 0x4758c6
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + edi*4]
push edx
push esi
push ebx
call fcn.00468e60
add esp, 0x10
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x78]
inc edi
add ecx, 4
cmp edi, eax
mov dword [esp + 0x28], ecx
jl 0x475815
mov edi, dword [esp + 0x40]
test byte [edi], 0x2b
jne 0x47594f
inc dword [esi]
mov eax, dword [edi + 4]
dec dword [eax]
mov eax, dword [edi + 4]
cmp dword [eax], 0
jg 0x47593a
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x47590c
mov edx, dword [ecx + 4]
test edx, edx
je 0x47590c
push eax
call fcn.00460cf0
jmp 0x475937
mov eax, dword [eax + 4]
test eax, eax
je 0x475924
cmp eax, dword [0x5b0f40]
je 0x475924
push eax
call fcn.00478500
add esp, 4
mov eax, dword [edi + 4]
mov dword [eax + 8], 0xffffffff
mov ecx, dword [edi + 4]
push ecx
call fcn.00477440
add esp, 4
mov dword [edi + 4], esi
mov eax, dword [esp + 0x14]
add eax, 9
mov dword [esp + 0x14], eax
mov ebx, eax
jmp 0x475cca
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
push ecx
push 0x200
push esi
push 0
push 0
push 0
mov dword [eax + 0x10], edx
mov edx, dword [ebp + 8]
push edi
push edx
call fcn.00407d50
add esp, 0x20
test eax, eax
mov edi, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], edi
jne 0x47593d
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x4759ea
mov ecx, dword [esi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x4759ea
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4759c2
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4759c2
push esi
call fcn.00460cf0
add esp, 4
mov dword [esp + 0x1c], edi
jmp 0x475a58
mov eax, dword [esi + 4]
test eax, eax
je 0x4759da
cmp eax, dword [0x5b0f40]
je 0x4759da
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov dword [esp + 0x1c], edi
jmp 0x475a58
push eax
push str.TclExecuteByteCode:_unrecognized_opCode__u
call fcn.00406da0
add esp, 8
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
push 0xffffffffffffffff
push str.divide_by_zero
mov dword [ecx + 0x10], eax
call fcn.00478830
mov esi, dword [ebp + 8]
push eax
push esi
call fcn.0040c0f0
push 0
push str.divide_by_zero
push str.DIVZERO
push str.ARITH
push esi
call fcn.0040c6d0
mov eax, 1
add esp, 0x24
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], eax
jmp 0x475a58
push esi
call fcn.00460cf0
add esp, 4
cmp dword [esp + 0x1c], 1
jne 0x475ab0
mov esi, dword [ebp + 8]
test byte [esi + 0x100], 4
jne 0x475aac
mov edi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x14]
lea edx, [esp + 0x288]
push edx
push edi
push ebx
call fcn.004763f0
add esp, 0xc
test eax, eax
je 0x475ab0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
mov dword [ecx + 0x10], edx
mov ecx, dword [esp + 0x288]
mov edx, dword [edi + 0x18]
push ecx
push eax
push edx
push esi
call fcn.00459d30
add esp, 0x10
mov dword [esp + 0x34], 1
jmp 0x475ab0
mov ebx, dword [esp + 0x14]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x100]
mov esi, dword [esp + 0x4c]
and ecx, 0xfffffffb
test esi, esi
mov dword [eax + 0x100], ecx
je 0x475b34
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0xc0]
je 0x475ade
mov ecx, dword [eax]
cmp ecx, dword [esi + 0x10]
jg 0x475b3a
mov ecx, dword [esi]
mov edi, dword [esi + 0x14]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x475b2a
mov eax, dword [esi + 0xc]
test eax, eax
je 0x475b02
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x475b02
push esi
call fcn.00460cf0
jmp 0x475b27
mov eax, dword [esi + 4]
test eax, eax
je 0x475b1a
cmp eax, dword [0x5b0f40]
je 0x475b1a
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
test edi, edi
mov esi, edi
jne 0x475aca
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0x5c]
jmp 0x475b3e
mov dword [esp + 0x4c], esi
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x218]
test ecx, ecx
jne 0x475d3a
cmp eax, dword [esp + 0xc0]
je 0x475d3a
mov eax, dword [ebp + 0xc]
push eax
push 1
push ebx
call fcn.004765b0
add esp, 0xc
test eax, eax
mov dword [esp + 0x28], eax
je 0x475d3a
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov eax, dword [edx]
mov ecx, edi
sub ecx, esi
sar ecx, 2
cmp ecx, eax
jle 0x475bf6
or ebx, 0xffffffff
mov esi, dword [edi]
mov ecx, dword [esi]
sub edi, 4
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x475bdd
mov eax, dword [esi + 0xc]
test eax, eax
je 0x475bb9
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x475bb9
push esi
call fcn.00460cf0
jmp 0x475bda
mov eax, dword [esi + 4]
test eax, eax
je 0x475bd1
cmp eax, dword [0x5b0f40]
je 0x475bd1
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], ebx
call fcn.00477440
add esp, 4
mov ecx, dword [esp + 0x58]
mov eax, edi
sub eax, ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx]
sar eax, 2
cmp eax, edx
jg 0x475b93
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x28]
mov eax, dword [ebp + 0xc]
mov ebx, dword [edx + 0x18]
add ebx, dword [eax + 0x48]
mov dword [esp + 0x14], ebx
jmp 0x46d95b
mov eax, dword [esi + 4]
test eax, eax
je 0x475c24
cmp eax, dword [0x5b0f40]
je 0x475c24
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx]
mov ecx, dword [esi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x475c93
mov eax, dword [esi + 0xc]
test eax, eax
je 0x475c6b
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x475c6b
push esi
call fcn.00460cf0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [eax], edx
jmp 0x46d95b
mov eax, dword [esi + 4]
test eax, eax
je 0x475c83
cmp eax, dword [0x5b0f40]
je 0x475c83
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [eax], edx
jmp 0x46d95b
mov eax, dword [esi + 4]
test eax, eax
je 0x475cba
cmp eax, dword [0x5b0f40]
je 0x475cba
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov ecx, dword [esi]
sub eax, 4
dec ecx
mov dword [esp + 0x18], eax
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x46d95b
mov eax, dword [esi + 0xc]
test eax, eax
je 0x475d02
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x475d02
push esi
call fcn.00460cf0
add esp, 4
jmp 0x46d95b
mov eax, dword [esi + 4]
test eax, eax
je 0x475d1a
cmp eax, dword [0x5b0f40]
je 0x475d1a
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
jmp 0x46d95b
mov esi, dword [esp + 0x4c]
sub eax, 4
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x18]
cmp edi, dword [esp + 0x58]
jbe 0x475d63
mov eax, dword [edi]
mov edx, dword [eax]
sub edi, 4
dec edx
mov ecx, edx
test ecx, ecx
mov dword [eax], edx
jg 0x475d5d
push eax
call fcn.00460cf0
add esp, 4
cmp edi, dword [esp + 0x58]
ja 0x475d44
test esi, esi
je 0x475dc5
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x90], ecx
mov ecx, dword [esi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x475dba
mov eax, dword [esi + 0xc]
test eax, eax
je 0x475d92
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x475d92
push esi
call fcn.00460cf0
jmp 0x475db7
mov eax, dword [esi + 4]
test eax, eax
je 0x475daa
cmp eax, dword [0x5b0f40]
je 0x475daa
push eax
call fcn.00478500
add esp, 4
push esi
mov dword [esi + 8], 0xffffffff
call fcn.00477440
add esp, 4
mov esi, dword [esp + 0x90]
test esi, esi
jne 0x475d67
mov eax, dword [esp + 0x58]
cmp edi, eax
jae 0x475dfa
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x48]
push 0
sub edi, eax
sar edi, 2
push edi
sub ebx, ecx
push ebx
push str._nTclExecuteByteCode:_abnormal_return_at_pc__u:_stack_top__d___entry_stack_top__d_n
push 0x5dd4c8
call fcn.00582f97
push str.TclExecuteByteCode_execution_failure:_end_stack_top___start_stack_top
call fcn.00406da0
add esp, 0x18
mov eax, dword [esp + 0xc0]
mov ecx, dword [ebp + 8]
add eax, 4
push eax
push ecx
call fcn.0046cb00
mov eax, dword [esp + 0x24]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret