Function at 0x53203c
Capabilities:
Authenticate hmac
Encrypt data using speck

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x17c
mov ebx, dword [esp + 0x190]
mov ebx, dword [ebx + 0x110]
mov dword [esp + 0xb8], ebx
add ebx, 4
mov dword [esp + 0xd0], ebx
mov ebx, dword [esp + 0x194]
mov ebx, dword [ebx + 0x48]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x194]
mov eax, dword [ebx + 0x40]
add eax, dword [ebx + 0x44]
lea edx, [eax + 0xa]
xor ecx, ecx
mov eax, dword [esp + 0xb8]
call fcn.00531178
sub eax, 4
mov dword [esp + 0xb0], eax
mov eax, dword [ebx + 0x40]
mov ebx, dword [esp + 0xb0]
lea eax, [ebx + eax*4 + 4]
mov dword [esp + 0xb4], eax
add eax, 0x24
mov dword [esp + 0x8c], eax
mov ebx, dword [esp + 0x190]
mov eax, dword [ebx + 0x110]
mov eax, dword [eax]
mov dword [esp + 0x9c], eax
mov ebx, dword [esp + 0x194]
mov eax, dword [ebx + 0x14]
and eax, 1
cmp eax, 1
sbb eax, eax
add eax, 3
mov ebp, dword [esp + 0xb4]
mov dword [ebp], eax
mov ebx, dword [esp + 0x190]
mov eax, dword [ebx + 0x284]
test eax, eax
je 0x537727
mov edx, dword [eax + 4]
inc edx
mov ebp, dword [esp + 0xb4]
mov dword [ebp + 4], edx
mov ebx, dword [esp + 0x190]
mov edx, dword [ebx + 0x60]
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], eax
mov dword [ebp + 0xc], 0
mov dword [ebp + 8], 0
mov ebx, dword [esp + 0x194]
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x24], 0
mov ebx, dword [esp + 0x190]
mov eax, dword [ebx + 0x64]
mov ebp, dword [eax]
mov dword [esp + 0xd4], ebp
mov eax, dword [eax + 0x28]
mov dword [esp + 0xa4], eax
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x90], 0
mov dword [esp + 0x98], 0
xor ebp, ebp
mov dword [esp + 0x88], 0
nop
mov eax, dword [esp + 0x88]
and eax, 0x3f
inc dword [esp + 0x88]
test eax, eax
jne 0x532258
mov ebx, dword [esp + 0x190]
mov eax, dword [ebx + 0x320]
mov eax, dword [eax]
test eax, eax
jne 0x532b4c
mov ebx, dword [esp + 0x190]
mov ecx, dword [ebx + 0x210]
test ecx, ecx
je 0x532258
mov esi, dword [ebx + 0x214]
mov ebx, esi
inc ebx
mov edi, dword [esp + 0x190]
mov dword [edi + 0x214], ebx
test cl, 1
je 0x532718
mov esi, dword [edi + 0x224]
cmp esi, 1
je 0x532224
mov eax, ebx
cdq
idiv esi
test edx, edx
jne 0x532718
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.00500ec4
dec eax
je 0x532bc0
mov dword [esp + 0x98], 1
nop
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx]
cmp al, 0xa
je case.0x5324db.10
cmp al, 1
je case.0x5324db.1
cmp al, 0x83
jbe 0x5324d8
mov dword [esp + 4], eax
mov dword [esp], str.TclExecuteByteCode:_unrecognized_opCode__u
call fcn.00508428
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.divide_by_zero
call fcn.004eaca8
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e09e4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.divide_by_zero
mov dword [esp + 8], str.DIVZERO
mov dword [esp + 4], str.ARITH
mov dword [esp], ebx
call fcn.004e1224
mov dword [esp + 0x98], 1
nop
mov ebx, dword [esp + 0x190]
mov eax, dword [ebx + 0x100]
test al, 4
je 0x532cc4
mov dword [esp + 0x90], 1
and eax, 0xfffffffb
mov ebx, dword [esp + 0x190]
mov dword [ebx + 0x100], eax
test ebp, ebp
je 0x532380
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0x84]
jmp 0x53233e
mov ebp, ebx
test ebx, ebx
je 0x532380
cmp edi, esi
je 0x53234d
mov eax, dword [edi]
cmp dword [ebp + 0x10], eax
jl 0x53a3f4
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp]
dec eax
mov dword [ebp], eax
test eax, eax
jg 0x532338
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x532420
mov eax, dword [eax + 4]
test eax, eax
je 0x532420
mov dword [esp], ebp
call fcn.004dd138
mov ebp, ebx
test ebx, ebx
jne 0x53233e
nop
mov ebx, dword [esp + 0x190]
xor ebp, ebp
mov eax, dword [ebx + 0x218]
test eax, eax
jne 0x532d74
mov ebx, dword [esp + 0xb0]
cmp dword [esp + 0x84], ebx
je 0x532d74
mov ecx, dword [esp + 0x194]
mov edx, 1
mov eax, dword [esp + 0x7c]
call fcn.005310b0
mov esi, eax
test eax, eax
je 0x532d74
mov ebx, dword [esp + 0x80]
lea esi, [esi]
mov eax, ebx
sub eax, dword [esp + 0x8c]
sar eax, 2
mov edi, dword [esp + 0x84]
cmp eax, dword [edi]
jle 0x5326f8
mov edi, dword [ebx]
sub ebx, 4
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jg 0x5323d4
mov eax, dword [edi + 0xc]
test eax, eax
je 0x5324ac
mov eax, dword [eax + 4]
test eax, eax
je 0x5324ac
mov dword [esp], edi
call fcn.004dd138
jmp 0x5323d4
mov eax, dword [ebp + 4]
test eax, eax
je 0x532437
cmp eax, dword [0x5e022c]
je 0x532437
mov dword [esp], eax
call fcn.004ed958
mov dword [ebp + 8], 0xffffffff
mov dword [esp], ebp
call fcn.0050cc38
jmp 0x532338
mov ebx, dword [esp + 0x7c]
movzx edx, byte [ebx + 1]
movzx eax, dl
mov ebx, dword [esp + 0xa4]
lea esi, [ebx + eax*8]
mov eax, dword [esi]
test al, 2
je 0x532471
nop
mov esi, dword [esi + 4]
mov eax, dword [esi]
test al, 2
jne 0x532468
test al, 0x13
jne 0x53274c
mov eax, dword [esi + 4]
test eax, eax
je 0x53274c
mov dword [esp + 0xf0], eax
mov ebx, dword [esp + 0x80]
mov dword [ebx + 4], eax
inc dword [eax]
add dword [esp + 0x7c], 2
add ebx, 4
mov dword [esp + 0x80], ebx
jmp 0x5321ac
mov eax, dword [edi + 4]
test eax, eax
je 0x5324c3
cmp eax, dword [0x5e022c]
je 0x5324c3
mov dword [esp], eax
call fcn.004ed958
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050cc38
jmp 0x5323d4
movzx edx, al
jmp dword [edx*4 + 0x619040]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x194]
nop
add ecx, 4
movzx ebx, byte [eax + 1]
mov edx, dword [esi + 0x4c]
mov edx, dword [edx + ebx*4]
mov dword [ecx], edx
inc dword [edx]
add eax, 2
cmp byte [eax], 1
je 0x5324f8
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], eax
jmp 0x5321ac
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx + 2]
shl eax, 0x10
movzx edx, byte [ebx + 1]
shl edx, 0x18
or eax, edx
movzx edx, byte [ebx + 3]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 4]
or eax, edx
mov ebx, dword [esp + 0x194]
mov edx, dword [ebx + 0x54]
mov eax, dword [edx + eax*8 + 4]
mov eax, dword [eax + 8]
mov ebx, dword [esp + 0xa4]
lea esi, [ebx + eax*8]
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x539615
mov eax, dword [ebx + 4]
test eax, eax
je 0x532588
cmp eax, dword [0x5e022c]
je 0x532581
mov dword [esp], eax
call fcn.004ed958
mov dword [ebx + 4], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x53259b
mov eax, dword [eax + 4]
test eax, eax
je 0x53259b
mov dword [esp], ebx
call eax
mov dword [ebx + 0x10], 0xffffffff
mov dword [ebx + 0xc], 0x5e01f0
add dword [esp + 0x7c], 5
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx + 2]
shl eax, 0x10
movzx edx, byte [ebx + 1]
shl edx, 0x18
or eax, edx
movzx edx, byte [ebx + 3]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 4]
or eax, edx
mov ebx, dword [esp + 0x194]
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + eax*8 + 4]
mov dword [esp + 0xc0], edx
mov esi, dword [edx]
mov dword [esp + 0xa8], esi
mov eax, dword [edx + 8]
mov edi, dword [esp + 0xa4]
mov ebx, dword [edi + eax*8 + 4]
mov eax, dword [ebx + 0x10]
inc eax
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 4]
test eax, eax
je 0x532626
cmp eax, dword [0x5e022c]
je 0x53261f
mov dword [esp], eax
call fcn.004ed958
mov dword [ebx + 4], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x532639
mov eax, dword [eax + 4]
test eax, eax
je 0x532639
mov dword [esp], ebx
call eax
mov edx, dword [esp + 0xa0]
mov dword [ebx + 0x10], edx
mov dword [ebx + 0xc], 0x5e01f0
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0xa8]
test edx, edx
jle 0x536c8c
mov esi, dword [esp + 0xa4]
lea ebx, [esi + eax*8]
xor edi, edi
mov dword [esp + 0x70], 0
mov dword [esp + 0x90], ebp
mov ebp, ecx
jmp 0x5326d5
lea edx, [esp + 0x104]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.004df770
test eax, eax
jne 0x536c30
mov eax, dword [esp + 0x104]
mov edx, dword [esp + 0xa0]
imul edx, esi
cmp edx, eax
jge 0x5326c7
mov dword [esp + 0x70], 1
inc edi
cmp edi, dword [esp + 0xa8]
je 0x536a68
mov eax, dword [ebp + edi*4 + 0xc]
mov esi, dword [eax]
mov eax, dword [ebx + edi*8 + 4]
cmp dword [eax + 0xc], 0x5e0258
jne 0x532684
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x104], eax
jmp 0x5326b1
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x194]
mov ebx, dword [ebx + 0x48]
mov edi, dword [esi + 0x18]
add ebx, edi
mov dword [esp + 0x7c], ebx
jmp 0x5321ac
and ecx, 2
je 0x532258
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 0x234]
cmp ecx, 1
je 0x532224
mov eax, ebx
cdq
idiv ecx
test edx, edx
je 0x532224
jmp 0x532258
mov dword [esp + 0x100], 0
xor ecx, ecx
mov dword [esp + 0x98], 0
mov dword [esp + 0x70], 2
xor ebx, ebx
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x9c]
mov dword [edi + 0x10], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], 0x200
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x98]
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.004f3aa0
mov dword [esp + 0xf0], eax
test eax, eax
je 0x532bc0
mov esi, dword [esp + 0x70]
add dword [esp + 0x7c], esi
inc dword [eax]
mov dword [esp + 0x98], 1
cmp ebx, 1
je 0x532898
cmp ebx, 2
je 0x532b08
test ebx, ebx
jne 0x532bf4
mov eax, dword [esp + 0xf0]
mov ebx, dword [esp + 0x80]
mov dword [ebx + 4], eax
add ebx, 4
mov dword [esp + 0x80], ebx
jmp 0x5321ac
mov eax, dword [eax + 0x10]
lea edx, [eax + 0x10]
mov dword [esp + 0x100], edx
mov eax, dword [eax + 8]
mov dword [esp + 0xf8], eax
shl esi, 0x18
shl ebx, 0x10
or esi, ebx
and edi, 0xff
or esi, edi
movzx eax, byte [esp + 0x70]
shl eax, 8
or esi, eax
cmp esi, 0xffffffff
jl 0x5389d1
mov dword [esp + 0x104], esi
mov ebx, 5
test esi, esi
js 0x5378da
cmp dword [esp + 0xf8], esi
jle 0x5378da
mov eax, dword [esp + 0x100]
mov eax, dword [eax + esi*4]
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
mov dword [eax], edx
add dword [esp + 0x7c], ebx
mov dword [esp + 0x90], 0
nop
mov edi, dword [esp + 0x80]
mov ebx, dword [edi]
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jle 0x532bd0
mov eax, dword [esp + 0xf0]
mov ebx, dword [esp + 0x80]
mov dword [ebx], eax
jmp 0x5321ac
mov edi, dword [esp + 0x80]
mov ebx, dword [edi]
mov ecx, dword [edi - 4]
mov dword [esp + 0x70], ecx
mov eax, dword [ecx + 0xc]
cmp eax, 0x5e01f0
je 0x538a07
cmp eax, 0x5e01dc
je 0x538b50
mov ecx, dword [esp + 0x70]
cmp eax, 0x5e0204
je 0x5373b8
test eax, eax
je 0x5375e4
mov eax, dword [ecx + 4]
test eax, eax
je 0x532919
mov ecx, dword [esp + 0x70]
mov edi, dword [ecx + 8]
test edi, edi
je 0x5375ef
lea eax, [esp + 0xf8]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xfc]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004de8fc
test eax, eax
jne 0x5375ef
mov eax, dword [esp + 0xf8]
cmp eax, 5
je 0x5375ef
cmp eax, 4
je 0x5375ef
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e01f0
je 0x5391ad
cmp eax, 0x5e01dc
je 0x53918e
cmp eax, 0x5e0204
je 0x539156
test eax, eax
je 0x537fed
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x5329a2
mov edx, dword [ebx + 8]
test edx, edx
je 0x537ff8
lea esi, [esp + 0x104]
mov dword [esp + 0xc], esi
lea edi, [esp + 0x100]
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de8fc
test eax, eax
jne 0x537ff8
mov eax, dword [esp + 0x104]
cmp eax, 5
je 0x537ff8
cmp eax, 4
je 0x537ff8
mov edx, dword [esp + 0xf8]
cmp edx, 3
je 0x5329fe
cmp eax, 3
jne 0x538d28
lea esi, [esp + 0x140]
mov dword [esp + 0x90], esi
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004de4f0
lea esi, [esp + 0x150]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de4f0
mov dword [esp + 4], 0
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
call fcn.0053d480
mov dword [esp + 4], 0
mov dword [esp], esi
inc eax
je 0x53b85f
call fcn.0053d480
inc eax
je 0x53b84c
mov ecx, 2
mov edi, esi
mov edx, ebx
lea ebx, [esp + 0x160]
mov dword [esp], ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ecx
call fcn.0053cdbc
mov eax, dword [esp + 0x7c]
mov al, byte [eax]
mov byte [esp + 0xa0], al
cmp al, 0x2b
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
je 0x53b773
cmp al, 0x2c
je 0x53b700
cmp al, 0x2a
je 0x53a31b
mov edx, dword [esp + 0x90]
mov dword [esp], edx
call fcn.005249ec
mov dword [esp], esi
call fcn.005249ec
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jle 0x53a302
mov dword [esp], ebx
call fcn.004de8b4
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
mov dword [esp + 0x90], 0
lea esi, [esi]
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
sub esi, 4
mov dword [esp + 0x80], esi
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jg 0x532898
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x532d41
mov eax, dword [eax + 4]
test eax, eax
je 0x532d41
mov dword [esp], ebx
call fcn.004dd138
jmp 0x532898
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.0053df30
mov dword [esp + 0x98], 1
dec eax
jne 0x5321dc
jmp 0x5322f4
mov eax, dword [ebx + 4]
test eax, eax
jne 0x536703
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x9c]
mov dword [edx + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x7c]
mov dl, byte [ebx]
mov eax, dword [esp + 0x190]
call fcn.005313a4
nop
mov dword [esp + 0x98], 1
jmp 0x5322f4
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x532c99
mov eax, dword [eax + 4]
test eax, eax
je 0x532c99
mov dword [esp], ebx
call fcn.004dd138
jmp 0x5328ae
lea esi, [ebx - 2]
mov dword [esp + 0xa0], esi
mov esi, 2
sub esi, ebx
xor ebx, ebx
mov dword [esp + 0xa8], ebp
mov ebp, dword [esp + 0x80]
cmp ebx, esi
je 0x532c2e
lea esi, [esi]
mov edi, dword [ebp + ebx*4]
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jle 0x532c54
dec ebx
cmp ebx, esi
jne 0x532c1c
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0xa0]
neg esi
mov ebx, dword [esp + 0x80]
lea ebx, [ebx + esi*4]
mov dword [esp + 0x80], ebx
jmp 0x532b08
mov eax, dword [edi + 0xc]
test eax, eax
je 0x532c70
mov edx, dword [eax + 4]
test edx, edx
je 0x532c70
mov dword [esp], edi
call fcn.004dd138
dec ebx
jmp 0x532c2a
mov eax, dword [edi + 4]
test eax, eax
je 0x532c87
cmp eax, dword [0x5e022c]
je 0x532c87
mov dword [esp], eax
call fcn.004ed958
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050cc38
dec ebx
jmp 0x532c2a
mov eax, dword [ebx + 4]
test eax, eax
je 0x532cb0
cmp eax, dword [0x5e022c]
je 0x532cb0
mov dword [esp], eax
call fcn.004ed958
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050cc38
jmp 0x5328ae
lea ecx, [esp + 0x104]
mov edx, dword [esp + 0x194]
mov eax, dword [esp + 0x7c]
call fcn.00530ebc
test eax, eax
je 0x536922
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov edx, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x194]
mov eax, dword [ebx + 0x18]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.00530cd8
mov eax, dword [ebx + 0x100]
mov dword [esp + 0x90], 1
mov dword [esp + 0x98], 1
jmp 0x532314
mov eax, dword [ebx + 4]
test eax, eax
je 0x532d58
cmp eax, dword [0x5e022c]
je 0x532d58
mov dword [esp], eax
call fcn.004ed958
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050cc38
jmp 0x532898
sub dword [esp + 0x80], 4
mov ebx, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
jae 0x532dce
mov esi, dword [esp + 0x8c]
jmp 0x532d94
cmp esi, ebx
jae 0x532dae
mov eax, dword [ebx]
sub ebx, 4
mov edx, dword [eax]
dec edx
mov dword [eax], edx
test edx, edx
jg 0x532d90
mov dword [esp], eax
call fcn.004dd138
cmp esi, ebx
jb 0x532d94
mov eax, dword [esp + 0x8c]
not eax
mov ebx, dword [esp + 0x80]
add eax, ebx
not eax
and eax, 0xfffffffc
add ebx, eax
mov dword [esp + 0x80], ebx
test ebp, ebp
je 0x532dec
nop
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp]
dec eax
mov dword [ebp], eax
test eax, eax
jle 0x532e7c
mov ebp, ebx
test ebp, ebp
jne 0x532dd4
mov ebx, dword [esp + 0x8c]
cmp dword [esp + 0x80], ebx
jae 0x532e4a
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x80]
sub eax, ebx
sar eax, 2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x194]
sub eax, dword [ebx + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 4], str._nTclExecuteByteCode:_abnormal_return_at_pc__u:_stack_top__d___entry_stack_top__d_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], str.TclExecuteByteCode_execution_failure:_end_stack_top___start_stack_top
call fcn.00508428
mov eax, dword [esp + 0xb0]
add eax, 4
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.00531768
mov eax, dword [esp + 0x90]
add esp, 0x17c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x532e99
mov edi, dword [eax + 4]
test edi, edi
je 0x532e99
mov dword [esp], ebp
call fcn.004dd138
mov ebp, ebx
jmp 0x532de8
mov eax, dword [ebp + 4]
test eax, eax
je 0x532eb0
cmp eax, dword [0x5e022c]
je 0x532eb0
mov dword [esp], eax
call fcn.004ed958
mov dword [ebp + 8], 0xffffffff
mov dword [esp], ebp
call fcn.0050cc38
mov ebp, ebx
jmp 0x532de8
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
sub esi, 4
mov dword [esp + 0x80], esi
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jle 0x537d90
mov eax, dword [esp + 0x7c]
inc eax
mov ebx, dword [esp + 0x7c]
cmp byte [ebx + 1], 0x69
mov dword [esp + 0x7c], eax
jne 0x5321ac
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx + 6]
shl eax, 0x10
movzx edx, byte [ebx + 5]
shl edx, 0x18
or eax, edx
movzx edx, byte [ebx + 7]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 8]
or eax, edx
mov ebx, dword [esp + 0x190]
add dword [ebx + 0xc0], eax
mov ebx, dword [esp + 0x98]
test ebx, ebx
je 0x536a43
mov ebx, dword [esp + 0x190]
mov esi, dword [ebx + 0xf0]
mov ebx, dword [esp + 0x194]
cmp dword [ebx + 4], esi
je 0x536a26
mov ebx, dword [esp + 0x194]
test byte [ebx + 0x14], 1
jne 0x536a43
lea ecx, [esp + 0x104]
mov edx, ebx
mov eax, dword [esp + 0x7c]
call fcn.00530ebc
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0x104]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e7ddc
mov dword [esp + 0x90], eax
test eax, eax
je 0x53964e
dec eax
je 0x538cf8
xor ebx, ebx
mov dword [esp + 0x98], 1
jmp 0x53591f
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
cmp eax, 0x5e01f0
je 0x537c6d
cmp eax, 0x5e01dc
je 0x538741
cmp eax, 0x5e0204
je 0x537310
test eax, eax
je 0x537889
mov eax, dword [esi + 4]
test eax, eax
je 0x533022
mov edi, dword [esi + 8]
test edi, edi
je 0x537894
lea edi, [esp + 0x104]
mov dword [esp + 0xc], edi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.004de8fc
test eax, eax
jne 0x537894
mov eax, dword [esp + 0x104]
cmp eax, 5
je 0x537894
jbe 0x537c87
mov dword [esp + 0x90], 0
mov ebx, dword [esp + 0x80]
mov edi, dword [ebx]
mov eax, dword [edi + 0xc]
cmp eax, 0x5e01f0
je 0x538b36
cmp eax, 0x5e01dc
je 0x538b1c
cmp eax, 0x5e0204
je 0x538509
test eax, eax
je 0x5372fe
mov ebx, dword [edi + 4]
test ebx, ebx
je 0x5330b4
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x5330e2
lea esi, [esp + 0x104]
mov dword [esp + 0xc], esi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004de8fc
test eax, eax
je 0x538450
mov ebx, dword [esp + 0x7c]
cmp byte [ebx], 0x3a
je 0x5375cc
inc dword [esp + 0x7c]
jmp 0x5321ac
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x7c]
movzx esi, byte [ebx + 1]
mov edi, ebx
movzx ebx, byte [ebx + 2]
mov dl, byte [edi + 3]
mov byte [esp + 0x70], dl
movzx edi, byte [edi + 4]
mov ecx, dword [esp + 0x7c]
mov cl, byte [ecx + 5]
mov byte [esp + 0xa0], cl
mov edx, dword [esp + 0x7c]
mov dl, byte [edx + 6]
mov byte [esp + 0xa8], dl
mov ecx, dword [esp + 0x7c]
mov cl, byte [ecx + 7]
mov byte [esp + 0xbc], cl
mov edx, dword [esp + 0x7c]
mov dl, byte [edx + 8]
mov byte [esp + 0xc0], dl
cmp dword [eax + 0xc], 0x5e0258
je 0x536dd5
lea ecx, [esp + 0x100]
mov dword [esp + 0xc], ecx
lea edx, [esp + 0x104]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.004df548
mov dword [esp + 0x90], eax
test eax, eax
je 0x536dec
nop
cmp dword [esp + 0x90], 1
je 0x5322f4
mov ebx, dword [esp + 0x190]
mov eax, dword [ebx + 0x100]
jmp 0x532314
mov ebx, dword [esp + 0x7c]
movzx edx, byte [ebx + 2]
shl edx, 0x10
movzx eax, byte [ebx + 1]
shl eax, 0x18
or edx, eax
movzx eax, byte [ebx + 3]
shl eax, 8
or edx, eax
movzx eax, byte [ebx + 4]
or edx, eax
mov esi, dword [esp + 0xa4]
lea ebx, [esi + edx*8]
mov eax, dword [ebx]
test al, 2
je 0x5331f5
nop
mov ebx, dword [ebx + 4]
mov eax, dword [ebx]
test al, 2
jne 0x5331ec
test al, 0x10
jne 0x53804a
mov esi, dword [ebx + 4]
test esi, esi
je 0x53724f
mov eax, 1
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + eax*4 + 4]
jmp 0x5339a1
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
mov edi, dword [esp + 0x7c]
movsx eax, byte [edi + 1]
mov dword [esp + 8], eax
mov eax, dword [esi - 4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.00521940
test eax, eax
je 0x538a30
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.00521ab8
test eax, eax
js 0x538a30
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + eax*4 + 4]
mov dword [esp + 0xf0], eax
inc dword [eax]
add dword [esp + 0x7c], 2
jmp 0x532b08
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx + 2]
shl eax, 0x10
movzx edx, byte [ebx + 1]
shl edx, 0x18
or eax, edx
movzx edx, byte [ebx + 3]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 4]
or eax, edx
neg eax
mov ebx, dword [esp + 0x80]
lea eax, [ebx + eax*4 + 4]
cmp ebx, eax
jbe 0x5332ee
mov edx, ebx
nop
mov ecx, dword [eax]
mov ebx, dword [edx]
mov dword [eax], ebx
mov dword [edx], ecx
add eax, 4
sub edx, 4
cmp eax, edx
jb 0x5332dc
add dword [esp + 0x7c], 5
jmp 0x5321ac
lea eax, [esp + 0xfc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0x618e3e
mov dword [esp + 0xc], 0x202
mov dword [esp + 8], 0
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004f4f50
test eax, eax
je 0x5322f4
mov edx, dword [eax]
test dl, 0x80
je 0x536ccf
mov ebx, dword [esp + 0x7c]
movsx edx, byte [ebx + 1]
shl edx, 0x18
movzx ecx, byte [ebx + 2]
shl ecx, 0x10
or edx, ecx
movzx ecx, byte [ebx + 4]
or edx, ecx
movzx ecx, byte [ebx + 3]
shl ecx, 8
or edx, ecx
mov ebx, dword [esp + 0xa4]
lea ecx, [ebx + edx*8]
mov dword [esp + 0xfc], ecx
cmp eax, ecx
je 0x5369eb
mov esi, dword [ecx]
test esi, 0x870
jne 0x5369eb
mov ebx, dword [ecx + 4]
test ebx, ebx
je 0x5333ce
test esi, 2
je 0x5369eb
cmp eax, ebx
je 0x5333e1
test byte [ebx], 4
je 0x5333ce
dec dword [ebx + 8]
mov edi, dword [ebx + 4]
test edi, edi
je 0x53a2dc
and esi, 0xfffffffc
or esi, 2
mov dword [ecx], esi
mov dword [ecx + 4], eax
test byte [eax], 4
je 0x5333e1
inc dword [eax + 8]
add dword [esp + 0x7c], 5
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
mov dword [esp + 0x90], 0
jmp 0x533840
mov ebx, dword [esp + 0x80]
mov edx, dword [ebx]
mov edi, dword [ebx - 4]
mov ebx, 2
lea esi, [esp + 0x100]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x618e3e
mov dword [esp + 0xc], 0
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov eax, dword [esp + 0x190]
mov dword [esp], eax
mov dword [esp + 0x40], edx
call fcn.004f4f50
mov esi, eax
test eax, eax
mov edx, dword [esp + 0x40]
je 0x537920
test byte [eax], 0x10
jne 0x5334a6
mov eax, dword [esp + 0x100]
test eax, eax
je 0x533479
test byte [eax], 0x10
jne 0x5334a6
mov eax, 1
mov edx, dword [esi + 4]
test edx, edx
je 0x53790d
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0xf0], eax
inc dword [esp + 0x7c]
inc dword [eax]
jmp 0x5327dc
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x9c]
mov dword [ecx + 0x10], eax
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x190]
mov dword [esp], edx
call fcn.00550f84
mov dword [esp + 0x98], 1
jmp 0x533479
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x7c]
movzx esi, byte [ebx + 1]
mov edi, ebx
movzx ebx, byte [ebx + 2]
mov dl, byte [edi + 3]
mov byte [esp + 0x70], dl
movzx edi, byte [edi + 4]
cmp dword [eax + 0xc], 0x5e0258
je 0x532816
lea ecx, [esp + 0x100]
mov dword [esp + 0xc], ecx
lea edx, [esp + 0xf8]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.004df548
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533198
jmp 0x53282d
mov esi, dword [ebp + 0x14]
mov ebx, dword [esp + 0x80]
sub ebx, dword [esp + 0x8c]
sar ebx, 2
sub ebx, dword [ebp + 0x10]
mov eax, dword [ebp]
dec eax
mov dword [ebp], eax
test eax, eax
jle 0x537e54
test ebx, ebx
je 0x537db3
mov ebp, esi
mov esi, 1
mov eax, ebx
neg eax
mov edx, dword [esp + 0x80]
lea edi, [edx + eax*4 + 4]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xb4]
mov dword [ecx + 0x1c], eax
mov edx, dword [esp + 0x190]
mov dword [edx + 0x284], ecx
test byte [edx + 0x100], 0x10
jne 0x5368c5
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x9c]
mov dword [edx + 0x10], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.004e5ce4
mov dword [esp + 0x90], eax
mov edx, dword [esp + 0x190]
test byte [edx + 0x100], 0x10
jne 0x53689a
mov edi, dword [esp + 0x190]
mov eax, dword [edi + 0x284]
mov eax, dword [eax + 0x14]
mov dword [edi + 0x284], eax
mov ecx, dword [esp + 0x90]
test ecx, ecx
jne 0x5367c3
mov edi, dword [esp + 0x7c]
add edi, esi
cmp byte [edi], 3
jne 0x536938
mov eax, dword [esp + 0x7c]
lea eax, [eax + esi + 1]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x98], 1
mov dword [esp + 0x88], 1
cmp ebx, 1
je 0x535a0f
cmp ebx, 2
je 0x536821
test ebx, ebx
je 0x5321ac
lea edi, [ebx - 2]
mov dword [esp + 0xa0], edi
mov esi, 2
sub esi, ebx
xor ebx, ebx
mov dword [esp + 0xa8], ebp
mov ebp, dword [esp + 0x80]
cmp ebx, esi
je 0x5336e2
lea esi, [esi]
mov edi, dword [ebp + ebx*4]
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jle 0x533701
dec ebx
cmp ebx, esi
jne 0x5336d0
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0xa0]
neg esi
mov eax, dword [esp + 0x80]
lea ebx, [eax + esi*4]
jmp 0x536828
mov eax, dword [edi + 0xc]
test eax, eax
je 0x536849
mov eax, dword [eax + 4]
test eax, eax
je 0x536849
mov dword [esp], edi
call fcn.004dd138
dec ebx
jmp 0x5336de
mov edi, dword [esp + 0x80]
mov ebx, dword [edi]
cmp dword [ebx + 0xc], 0x5e0258
je 0x537a1e
lea eax, [esp + 0x100]
mov dword [esp + 0xc], eax
lea edx, [esp + 0x104]
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.004df548
test eax, eax
jne 0x5322f4
mov edx, dword [esp + 0x104]
jmp 0x537a35
call fcn.0050cb10
mov dword [eax], 0
mov edx, dword [0x5e022c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov edx, dword [esp + 0x80]
sub edx, dword [esp + 0x8c]
sar edx, 2
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ebp
inc dword [esp + 0x7c]
mov ebp, eax
jmp 0x5321ac
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx + 6]
shl eax, 0x10
movzx edx, byte [ebx + 5]
shl edx, 0x18
or eax, edx
movzx edx, byte [ebx + 7]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 8]
or eax, edx
mov dword [esp + 8], eax
movsx eax, byte [ebx + 1]
shl eax, 0x18
movzx edx, byte [ebx + 2]
shl edx, 0x10
or eax, edx
movzx edx, byte [ebx + 4]
or eax, edx
movzx edx, byte [ebx + 3]
shl edx, 8
or eax, edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e1244
mov dword [esp + 0x90], eax
test eax, eax
jne 0x537e77
add dword [esp + 0x7c], 9
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
nop
sub dword [esp + 0x80], 4
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jg 0x5321ac
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x5368f7
mov eax, dword [eax + 4]
test eax, eax
je 0x5368f7
mov dword [esp], ebx
call fcn.004dd138
jmp 0x5321ac
mov edi, dword [esp + 0x7c]
movzx ebx, byte [edi + 2]
shl ebx, 0x10
movzx eax, byte [edi + 1]
shl eax, 0x18
or ebx, eax
movzx eax, byte [edi + 3]
shl eax, 8
or ebx, eax
movzx eax, byte [edi + 4]
or ebx, eax
lea eax, [ebx - 2]
mov edx, dword [esp + 0x80]
mov edi, dword [edx]
mov esi, edx
sub esi, 4
mov edx, dword [edi]
dec edx
mov dword [edi], edx
test edx, edx
jle 0x538bc7
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx - 4]
mov dword [esp + 0x10], edx
lea edx, [eax*4]
mov ecx, esi
sub ecx, edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov edi, dword [esp + 0x190]
mov dword [esp], edi
call fcn.004e0308
mov dword [esp + 0xf0], eax
test eax, eax
je 0x538155
add dword [esp + 0x7c], 5
dec ebx
mov dword [esp + 0x80], esi
jmp 0x5327dc
mov eax, dword [esp + 0x80]
mov ebx, dword [eax]
mov esi, eax
sub esi, 4
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jle 0x5389c4
mov edx, dword [esp + 0x80]
mov eax, dword [edx - 4]
mov dword [esp + 0xc], eax
mov eax, dword [edx - 8]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e033c
mov dword [esp + 0xf0], eax
test eax, eax
je 0x538155
inc dword [esp + 0x7c]
mov dword [esp + 0x80], esi
jmp 0x532b08
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx + 2]
shl eax, 0x10
movzx edx, byte [ebx + 1]
shl edx, 0x18
or eax, edx
movzx edx, byte [ebx + 3]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 4]
or eax, edx
shl eax, 2
mov ebx, dword [esp + 0x80]
sub ebx, eax
mov eax, dword [ebx]
mov dword [esp + 0xf0], eax
mov ebx, dword [esp + 0x80]
mov dword [ebx + 4], eax
inc dword [eax]
add dword [esp + 0x7c], 5
add ebx, 4
mov dword [esp + 0x80], ebx
jmp 0x5321ac
mov edx, dword [esp + 0x7c]
movzx ebx, byte [edx + 2]
shl ebx, 0x10
movzx eax, byte [edx + 1]
shl eax, 0x18
or ebx, eax
movzx eax, byte [edx + 3]
shl eax, 8
or ebx, eax
movzx eax, byte [edx + 4]
or ebx, eax
lea eax, [ebx - 1]
mov edx, eax
neg edx
mov ecx, dword [esp + 0x80]
lea edx, [ecx + edx*4 + 4]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
shl eax, 2
sub ecx, eax
mov eax, dword [ecx]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x190]
mov dword [esp], esi
call fcn.004dfcb4
mov dword [esp + 0xf0], eax
test eax, eax
je 0x5322f4
add dword [esp + 0x7c], 5
jmp 0x5327dc
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0x70], ebx
mov dword [esp + 0xa8], 0x20c
mov esi, dword [esp + 0x80]
mov ebx, dword [esi - 4]
lea edi, [esp + 0x100]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0x618e09
mov dword [esp + 0xc], 0x200
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.004f4f50
test eax, eax
je 0x5322f4
mov dword [esp + 0x98], ebx
xor esi, esi
mov dword [esp + 0xa0], 1
mov edi, 0xffffffff
mov ebx, 2
jmp 0x533c4d
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx - 4]
mov dword [esp + 0xa8], 0x20c
test esi, esi
je 0x533a50
mov edx, dword [esp + 0x80]
mov ebx, dword [edx - 8]
lea ecx, [esp + 0x100]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0x618e09
mov dword [esp + 0xc], 0x200
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov edi, dword [esp + 0x190]
mov dword [esp], edi
call fcn.004f4f50
test eax, eax
je 0x5322f4
mov dword [esp + 0x98], ebx
mov dword [esp + 0xa0], 1
mov edi, 0xffffffff
mov ebx, 3
jmp 0x533c4d
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 2]
shl edi, 0x10
movzx eax, byte [ebx + 1]
shl eax, 0x18
or edi, eax
movzx eax, byte [ebx + 3]
shl eax, 8
or edi, eax
movzx eax, byte [ebx + 4]
or edi, eax
mov dword [esp + 0xa8], 0x20c
mov dword [esp + 0xa0], 5
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx - 4]
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + edi*8]
mov dword [esp + 0x100], eax
test byte [eax], 2
je 0x533bf2
mov edx, dword [esp + 0xa8]
lea esi, [esi]
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x533bdc
mov dword [esp + 0xa8], edx
mov dword [esp + 0x100], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0x618e09
mov dword [esp + 0xc], 0x200
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004f45ac
test eax, eax
je 0x5322f4
mov dword [esp + 0x98], 0
mov ebx, 2
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x9c]
mov dword [edx + 0x10], ecx
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x70]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x98]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov esi, dword [esp + 0x190]
mov dword [esp], esi
call fcn.004f35b0
mov dword [esp + 0xf0], eax
test eax, eax
je 0x532bc0
mov edx, dword [esp + 0x7c]
add edx, dword [esp + 0xa0]
cmp byte [edx], 3
je 0x5367a0
inc dword [eax]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x98], 1
jmp 0x5327dc
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 1]
mov dword [esp + 0xa8], 0x20c
mov dword [esp + 0xa0], 2
jmp 0x533ba5
lea esi, [esp + 0x100]
mov dword [esp + 8], esi
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx - 4]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.0052d0a8
test eax, eax
jne 0x5322f4
mov eax, dword [ebx + 0x64]
mov ebx, dword [eax]
mov edx, dword [esp + 0x100]
mov dword [eax], edx
lea eax, [esp + 0xfc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0x618e3e
mov dword [esp + 0xc], 0x202
mov dword [esp + 8], 0
mov esi, dword [esp + 0x80]
mov eax, dword [esi]
mov dword [esp + 4], eax
mov edi, dword [esp + 0x190]
mov dword [esp], edi
call fcn.004f4f50
mov edx, dword [edi + 0x64]
mov dword [edx], ebx
test eax, eax
jne 0x53335a
jmp 0x5322f4
lea ebx, [esp + 0x100]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx - 4]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.005234c0
inc eax
je 0x5322f4
mov esi, dword [esp + 0x190]
mov ebx, dword [esi + 0x64]
mov eax, dword [esp + 0x100]
mov dword [esi + 0x64], eax
lea eax, [esp + 0xfc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0x618e3e
mov dword [esp + 0xc], 0x200
mov dword [esp + 8], 0
mov edi, dword [esp + 0x80]
mov eax, dword [edi]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004f4f50
mov dword [esi + 0x64], ebx
test eax, eax
jne 0x53335a
jmp 0x5322f4
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 1]
shl eax, 0x18
movzx edx, byte [ebx + 2]
shl edx, 0x10
or eax, edx
movzx edx, byte [ebx + 4]
or eax, edx
movzx edx, byte [ebx + 3]
shl edx, 8
or eax, edx
mov ebx, dword [esp + 0x194]
mov edx, dword [ebx + 0x54]
mov ebx, dword [edx + eax*8 + 4]
mov esi, dword [ebx + 0x2c]
mov edi, dword [esp + 0x80]
mov edx, dword [edi]
mov eax, dword [edx + 4]
test eax, eax
je 0x539596
mov dword [esp + 4], eax
mov dword [esp], ebx
call esi
test eax, eax
je 0x53877a
mov edx, dword [eax + 0xc]
add dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x80]
mov ebx, dword [ecx]
jmp 0x533840
mov ebx, dword [esp + 0x7c]
movzx ebx, byte [ebx + 2]
shl ebx, 0x10
mov dword [esp + 0xa0], ebx
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx + 1]
shl eax, 0x18
or dword [esp + 0xa0], eax
movzx eax, byte [ebx + 3]
shl eax, 8
or dword [esp + 0xa0], eax
movzx eax, byte [ebx + 4]
or dword [esp + 0xa0], eax
mov esi, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
lea edi, [ebx + esi*8]
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx + 6]
shl eax, 0x10
movzx edx, byte [ebx + 5]
shl edx, 0x18
or eax, edx
movzx edx, byte [ebx + 7]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 8]
or eax, edx
mov ebx, dword [esp + 0x194]
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + eax*8 + 4]
mov dword [esp + 0xa8], edx
mov eax, dword [edi]
test al, 2
je 0x533f41
nop
mov edi, dword [edi + 4]
mov eax, dword [edi]
test al, 2
jne 0x533f38
test al, 0x13
jne 0x53707a
mov eax, dword [edi + 4]
mov dword [esp + 0x70], eax
test eax, eax
je 0x53707a
lea esi, [esp + 0x104]
mov dword [esp + 8], esi
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.00518e5c
test eax, eax
jne 0x5322f4
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
cmp dword [eax + 0xc], 0x5e0258
je 0x5385fc
lea edx, [esp + 0xfc]
mov dword [esp + 0xc], edx
lea esi, [esp + 0x104]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004df548
test eax, eax
jne 0x5322f4
mov eax, dword [esp + 0x70]
xor edx, edx
cmp dword [eax], 1
setg dl
mov dword [esp + 0xbc], edx
jle 0x533fea
mov dword [esp], eax
call fcn.004dd2a4
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x104]
test ecx, ecx
jle 0x53409d
xor ecx, ecx
mov dword [esp + 0xc4], ebp
mov esi, ecx
mov dword [esp + 0xc0], edi
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x190]
mov ebp, dword [esp + 0xa8]
mov ecx, dword [ebp + esi*4 + 4]
mov ebp, dword [esp + 0xa4]
lea edx, [ebp + ecx*8]
mov eax, dword [edx]
test al, 2
je 0x53404c
mov ebp, dword [esp + 0xc4]
lea esi, [esi]
mov edx, dword [edx + 4]
mov eax, dword [edx]
test al, 2
jne 0x53403c
mov dword [esp + 0xc4], ebp
test al, 0x13
jne 0x53752d
mov eax, dword [edx + 4]
test eax, eax
je 0x53752d
cmp ebx, eax
je 0x537589
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov eax, dword [eax + esi*4]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00518980
inc esi
cmp dword [esp + 0x104], esi
jg 0x534016
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xc0]
test byte [edi], 0x2b
jne 0x5398f2
mov eax, dword [esp + 0x70]
inc dword [eax]
mov eax, dword [edi + 4]
mov edx, dword [eax]
dec edx
mov dword [eax], edx
test edx, edx
jle 0x538cd4
mov eax, dword [esp + 0x70]
mov dword [edi + 4], eax
add dword [esp + 0x7c], 9
jmp 0x5370e5
mov ebx, dword [esp + 0x7c]
movzx ecx, byte [ebx + 2]
shl ecx, 0x10
movzx eax, byte [ebx + 1]
shl eax, 0x18
or ecx, eax
movzx eax, byte [ebx + 3]
shl eax, 8
or ecx, eax
movzx eax, byte [ebx + 4]
or ecx, eax
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + ecx*8]
mov ebx, dword [esp + 0x7c]
movzx edx, byte [ebx + 6]
shl edx, 0x10
movzx ebx, byte [ebx + 5]
shl ebx, 0x18
or edx, ebx
mov esi, dword [esp + 0x7c]
movzx ebx, byte [esi + 7]
shl ebx, 8
or edx, ebx
movzx ebx, byte [esi + 8]
or edx, ebx
mov edi, dword [esp + 0x194]
mov ebx, dword [edi + 0x54]
mov ebx, dword [ebx + edx*8 + 4]
mov dword [esp + 0xa0], ebx
mov edx, dword [eax]
test dl, 2
je 0x53414a
lea esi, [esi]
mov eax, dword [eax + 4]
mov edx, dword [eax]
test dl, 2
jne 0x534140
and edx, 0x13
jne 0x5370f3
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x5370f3
mov esi, dword [esp + 0x80]
mov eax, dword [esi]
cmp dword [eax + 0xc], 0x5e0258
je 0x537e33
lea edx, [esp + 0xfc]
mov dword [esp + 0xc], edx
lea edi, [esp + 0x104]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.004df548
test eax, eax
jne 0x5322f4
mov eax, dword [esp + 0x104]
mov edx, dword [esp + 0xa0]
cmp dword [edx], eax
je 0x5341ca
mov dword [esp], str.dictUpdateStart_argument_length_mismatch
call fcn.00508428
mov eax, dword [esp + 0x104]
test eax, eax
jle 0x5342c4
xor esi, esi
mov dword [esp + 0x70], ebp
mov dword [esp + 0xa8], ebx
mov ebp, dword [esp + 0xa0]
mov edi, dword [esp + 0x190]
lea ecx, [esp + 0x100]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xfc]
mov eax, dword [eax + esi*4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00518be4
test eax, eax
jne 0x5381d4
mov edx, dword [ebp + esi*4 + 4]
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + edx*8]
test byte [eax], 2
je 0x53424b
mov ebx, dword [esp + 0xa8]
nop
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x53423c
mov dword [esp + 0xa8], ebx
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], ecx
mov ecx, dword [esp + 0x100]
test ecx, ecx
je 0x537596
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], 0x200
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004f35b0
test eax, eax
je 0x538a75
inc esi
mov dword [esp + 0x98], 1
cmp dword [esp + 0x104], esi
jg 0x5341ed
mov ebp, dword [esp + 0x70]
add dword [esp + 0x7c], 9
jmp 0x5321ac
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx + 2]
shl eax, 0x10
movzx edx, byte [ebx + 1]
shl edx, 0x18
or eax, edx
movzx edx, byte [ebx + 3]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 4]
or eax, edx
mov ebx, dword [esp + 0xa4]
lea esi, [ebx + eax*8]
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x53963d
cmp dword [ebx + 0xc], 0x5e2594
jne 0x5332ee
mov edi, dword [ebx + 0x10]
mov dword [esp], edi
call fcn.00519370
mov dword [esp], edi
call fcn.004ed958
mov edi, dword [ebx + 0x14]
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jle 0x53c45a
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jle 0x53c3ea
call fcn.0050cb10
mov edx, dword [0x5e022c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [esi + 4], eax
mov dword [eax], 1
jmp 0x5332ee
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx + 2]
shl eax, 0x10
movzx edx, byte [ebx + 1]
shl edx, 0x18
or eax, edx
movzx edx, byte [ebx + 3]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 4]
or eax, edx
mov esi, dword [esp + 0xa4]
mov ebx, dword [esi + eax*8 + 4]
test ebx, ebx
je 0x5343ab
cmp dword [ebx + 0xc], 0x5e2594
je 0x5343b7
mov dword [esp], str.mis_issued_dictNext_
call fcn.00508428
lea edi, [esp + 0x104]
mov dword [esp + 0xc], edi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
lea eax, [esp + 0xfc]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call fcn.00519398
mov eax, dword [esp + 0x104]
test eax, eax
jne 0x53457f
mov eax, dword [esp + 0x100]
mov ebx, dword [esp + 0x80]
mov dword [ebx + 4], eax
inc dword [eax]
mov edx, ebx
add edx, 8
mov eax, dword [esp + 0xfc]
mov dword [ebx + 8], eax
inc dword [eax]
xor eax, eax
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + eax*4 + 4]
mov dword [esp + 0xf0], eax
lea ebx, [edx + 4]
mov dword [esp + 0x80], ebx
mov dword [edx + 4], eax
inc dword [eax]
add dword [esp + 0x7c], 5
jmp 0x5321ac
mov edx, dword [esp + 0x7c]
mov dl, byte [edx + 1]
mov byte [esp + 0xa0], dl
mov ecx, dword [esp + 0x7c]
mov cl, byte [ecx + 2]
mov byte [esp + 0xa8], cl
mov ebx, dword [esp + 0x7c]
mov bl, byte [ebx + 3]
mov byte [esp + 0xbc], bl
mov edx, dword [esp + 0x7c]
mov dl, byte [edx + 4]
mov byte [esp + 0xc0], dl
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx]
sub ebx, 4
mov dword [esp + 0x80], ebx
mov dword [esp], 0xc
call fcn.004ed800
mov edi, eax
lea eax, [esp + 0x104]
mov dword [esp + 0x14], eax
lea edx, [esp + 0x100]
mov dword [esp + 0x10], edx
lea eax, [esp + 0xfc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.005192cc
mov dword [esp + 0x90], eax
test eax, eax
jne 0x536c74
call fcn.0050cb10
mov ebx, eax
mov dword [eax], 0
mov eax, dword [0x5e022c]
mov dword [esp + 0x70], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0x5e2594
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], esi
movzx eax, byte [esp + 0xa8]
shl eax, 0x10
mov dl, byte [esp + 0xa0]
shl edx, 0x18
or eax, edx
movzx edx, byte [esp + 0xbc]
shl edx, 8
or eax, edx
movzx edx, byte [esp + 0xc0]
or eax, edx
mov edx, dword [esp + 0xa4]
lea esi, [edx + eax*8]
mov eax, dword [esi + 4]
test eax, eax
je 0x53456b
mov edx, dword [eax + 0xc]
cmp edx, 0x5e2594
je 0x539de2
mov ecx, dword [eax]
dec ecx
mov dword [eax], ecx
test ecx, ecx
jle 0x5386d5
mov dword [esi + 4], ebx
inc dword [ebx]
mov eax, dword [esp + 0x104]
test eax, eax
je 0x5343f2
call fcn.0050cb10
mov edx, dword [0x5e022c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov ebx, dword [esp + 0x80]
mov dword [ebx + 4], eax
mov edx, ebx
add edx, 8
mov dword [ebx + 8], eax
mov dword [eax], 2
mov eax, dword [esp + 0x104]
jmp 0x534418
mov eax, dword [esp + 0x7c]
movzx ebx, byte [eax + 2]
shl ebx, 0x10
movzx eax, byte [eax + 1]
shl eax, 0x18
or ebx, eax
mov edx, dword [esp + 0x7c]
movzx eax, byte [edx + 3]
shl eax, 8
or ebx, eax
movzx eax, byte [edx + 4]
or ebx, eax
mov ecx, dword [esp + 0xa4]
lea edi, [ecx + ebx*8]
mov eax, dword [edi]
test al, 2
je 0x534601
nop
mov edi, dword [edi + 4]
mov eax, dword [edi]
test al, 2
jne 0x5345f8
test al, 0x13
jne 0x537155
mov esi, dword [edi + 4]
test esi, esi
je 0x537155
cmp dword [esi], 1
jg 0x537f78
lea eax, [esp + 0x100]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x80]
mov eax, dword [edx - 4]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.00518be4
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533198
mov dword [esp + 0x70], 0
mov ecx, dword [esp + 0x7c]
mov al, byte [ecx]
cmp al, 0x72
je 0x539f1b
cmp al, 0x73
je 0x539ea0
mov dword [esp], str.Should_not_happen_
call fcn.00508428
mov eax, dword [esp + 0x100]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x80]
mov eax, dword [edx - 4]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.00518980
test byte [edi], 0x2b
jne 0x539f5f
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5346d5
mov ebx, dword [edi + 4]
inc dword [esi]
test ebx, ebx
je 0x5346d2
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jle 0x539fe4
mov dword [edi + 4], esi
mov dword [esp + 0xf0], esi
mov ebx, dword [esp + 0x7c]
cmp byte [ebx + 5], 3
je 0x539fd8
mov eax, dword [esp + 0xf0]
inc dword [eax]
add dword [esp + 0x7c], 5
jmp 0x532afa
mov ebx, dword [esp + 0x7c]
movzx edx, byte [ebx + 2]
shl edx, 0x10
movzx eax, byte [ebx + 1]
shl eax, 0x18
or edx, eax
movzx eax, byte [ebx + 3]
shl eax, 8
or edx, eax
movzx eax, byte [ebx + 4]
or edx, eax
movzx esi, byte [ebx + 6]
shl esi, 0x10
movzx eax, byte [ebx + 5]
shl eax, 0x18
or esi, eax
movzx eax, byte [ebx + 7]
shl eax, 8
or esi, eax
movzx eax, byte [ebx + 8]
or esi, eax
mov dword [esp + 0x70], esi
mov ebx, dword [esp + 0xa4]
lea esi, [ebx + esi*8]
mov eax, dword [esi]
test al, 2
je 0x53475d
nop
mov esi, dword [esi + 4]
mov eax, dword [esi]
test al, 2
jne 0x534754
test al, 0x13
jne 0x53700c
mov edi, dword [esi + 4]
test edi, edi
je 0x53700c
cmp dword [edi], 1
jg 0x538133
mov dword [esp + 0xa0], 0
mov ebx, dword [esp + 0x7c]
mov al, byte [ebx]
cmp al, 0x70
je 0x5380f3
cmp al, 0x71
je 0x536ecc
cmp al, 0x6f
je 0x538161
mov dword [esp], str.Should_not_happen_
call fcn.00508428
xor ebx, ebx
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x537756
test byte [esi], 0x2b
jne 0x53861d
mov ecx, dword [esp + 0xa0]
test ecx, ecx
je 0x5347ec
mov eax, dword [esi + 4]
inc dword [edi]
test eax, eax
je 0x5347e9
mov edx, dword [eax]
dec edx
mov dword [eax], edx
test edx, edx
jle 0x538d04
mov dword [esi + 4], edi
mov dword [esp + 0xf0], edi
mov edi, dword [esp + 0x7c]
cmp byte [edi + 9], 3
je 0x5388e6
add dword [esp + 0x7c], 9
mov eax, dword [esp + 0xf0]
inc dword [eax]
jmp 0x5348dc
mov esi, dword [esp + 0x7c]
movzx ebx, byte [esi + 2]
shl ebx, 0x10
movzx eax, byte [esi + 1]
shl eax, 0x18
or ebx, eax
movzx eax, byte [esi + 3]
shl eax, 8
or ebx, eax
movzx eax, byte [esi + 4]
or ebx, eax
lea eax, [ebx*4]
mov edi, dword [esp + 0x80]
sub edi, eax
mov eax, dword [edi]
cmp ebx, 1
jle 0x53488b
mov dword [esp + 0x10], 0
mov edx, ebx
neg edx
mov ecx, dword [esp + 0x80]
lea edx, [ecx + edx*4 + 4]
mov dword [esp + 0xc], edx
lea edx, [ebx - 1]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov esi, dword [esp + 0x190]
mov dword [esp], esi
call fcn.0051b498
test eax, eax
je 0x5322f4
lea edx, [esp + 0xf0]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0x80]
mov edx, dword [edi]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.00518be4
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533198
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x538ab4
add dword [esp + 0x7c], 5
inc ebx
inc dword [eax]
mov dword [esp + 0x90], 0
jmp 0x5327dc
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
mov dword [esp + 0xf0], eax
sub ebx, 4
mov esi, dword [esp + 0x80]
mov eax, dword [esi - 4]
mov dword [esp + 4], eax
mov edi, dword [esp + 0x190]
mov dword [esp], edi
call fcn.004e1b3c
mov dword [esp + 0x90], eax
mov eax, dword [esi - 4]
mov edx, dword [eax]
dec edx
mov dword [eax], edx
test edx, edx
jle 0x538842
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0x80]
mov dword [edx - 4], eax
mov edi, dword [esp + 0x90]
test edi, edi
jne 0x537ee4
inc dword [esp + 0x7c]
mov dword [esp + 0x80], ebx
jmp 0x5321ac
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e19b8
mov dword [esp + 0xf0], eax
mov ebx, dword [esp + 0x80]
mov dword [ebx + 4], eax
inc dword [eax]
inc dword [esp + 0x7c]
add ebx, 4
mov dword [esp + 0x80], ebx
jmp 0x5321ac
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx]
mov eax, dword [ebx - 4]
mov edi, dword [eax + 4]
test edi, edi
je 0x5395a3
mov eax, dword [eax + 8]
mov dword [esp + 0xf4], eax
cmp dword [esi + 0xc], 0x5e0258
je 0x537c5b
lea eax, [esp + 0x104]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004df770
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533198
mov eax, dword [esp + 0x104]
test eax, eax
jle 0x534a65
xor ebx, ebx
lea eax, [esp + 0x100]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.004df6f4
mov edx, dword [esp + 0x100]
test edx, edx
je 0x537c3b
mov eax, dword [edx + 4]
test eax, eax
je 0x538b88
mov edx, dword [edx + 8]
mov dword [esp + 0xf8], edx
cmp dword [esp + 0xf4], edx
je 0x5376a3
inc ebx
cmp dword [esp + 0x104], ebx
jg 0x534a0b
xor eax, eax
jmp 0x5376ce
mov esi, dword [esp + 0x7c]
movzx ebx, byte [esi + 2]
shl ebx, 0x10
movzx eax, byte [esi + 1]
shl eax, 0x18
or ebx, eax
movzx eax, byte [esi + 3]
shl eax, 8
or ebx, eax
movzx eax, byte [esi + 4]
or ebx, eax
mov eax, dword [esp + 0x80]
mov edi, dword [eax]
mov edx, dword [esp + 0xa4]
lea eax, [edx + ebx*8]
mov dword [esp + 0x100], eax
test byte [eax], 2
je 0x534abf
nop
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x534ab0
mov dword [esp + 0x100], eax
mov edx, dword [eax]
and edx, 0x11
dec edx
je 0x537f3d
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x618e3e
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.004f45ac
mov esi, eax
test eax, eax
je 0x537f36
test byte [eax], 0x10
jne 0x534b34
mov eax, dword [esp + 0x100]
test eax, eax
je 0x534b8e
test byte [eax], 0x10
je 0x534b8e
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x9c]
mov dword [eax + 0x10], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.00550f84
mov dword [esp + 0x98], 1
mov eax, 1
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x537f23
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + eax*4 + 4]
mov dword [esp + 0xf0], eax
inc dword [eax]
add dword [esp + 0x7c], 5
jmp 0x532898
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 1]
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + edi*8]
mov ecx, dword [eax]
and ecx, 2
mov dword [esp + 0xa8], 0x20c
mov dword [esp + 0xa0], 2
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0x70], ebx
test ecx, ecx
je 0x534c13
mov edx, dword [esp + 0xa8]
lea esi, [esi]
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x534c04
mov dword [esp + 0xa8], edx
mov dword [esp + 0x100], 0
xor esi, esi
mov dword [esp + 0x98], 0
mov ebx, 1
jmp 0x533c4d
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0x70], ebx
mov dword [esp + 0xa8], 0x204
jmp 0x533a50
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 2]
shl edi, 0x10
movzx eax, byte [ebx + 1]
shl eax, 0x18
or edi, eax
movzx eax, byte [ebx + 3]
shl eax, 8
or edi, eax
movzx eax, byte [ebx + 4]
or edi, eax
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + edi*8]
mov ecx, dword [eax]
and ecx, 2
mov dword [esp + 0xa8], 0x20c
mov dword [esp + 0xa0], 5
jmp 0x534be9
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 1]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 2
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e01f0
je 0x536875
cmp eax, 0x5e0218
je 0x536875
lea edi, [esp + 0x104]
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004ddc30
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533198
mov eax, dword [esp + 0x104]
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
jmp 0x53687f
mov dword [esp + 0x128], 5
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 1]
shl eax, 0x18
movzx edx, byte [ebx + 2]
shl edx, 0x10
or eax, edx
movzx edx, byte [ebx + 4]
or eax, edx
movzx edx, byte [ebx + 3]
shl edx, 8
or eax, edx
mov dword [esp + 0x12c], eax
jmp 0x534cb9
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx - 4]
mov dword [esp + 0xa8], 0x204
jmp 0x533aee
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 2]
shl edi, 0x10
movzx eax, byte [ebx + 1]
shl eax, 0x18
or edi, eax
movzx eax, byte [ebx + 3]
shl eax, 8
or edi, eax
movzx eax, byte [ebx + 4]
or edi, eax
mov dword [esp + 0xa8], 0x204
mov dword [esp + 0xa0], 5
jmp 0x533ba5
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 1]
mov dword [esp + 0xa8], 0x204
mov dword [esp + 0xa0], 2
jmp 0x533ba5
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 2]
shl edi, 0x10
movzx eax, byte [ebx + 1]
shl eax, 0x18
or edi, eax
movzx eax, byte [ebx + 3]
shl eax, 8
or edi, eax
movzx eax, byte [ebx + 4]
or edi, eax
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + edi*8]
mov ecx, dword [eax]
and ecx, 2
mov dword [esp + 0xa8], 0x204
mov dword [esp + 0xa0], 5
jmp 0x534be9
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 1]
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + edi*8]
mov ecx, dword [eax]
and ecx, 2
mov dword [esp + 0xa8], 0x204
mov dword [esp + 0xa0], 2
jmp 0x534be9
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
cmp dword [eax + 0xc], 0x5e0258
je 0x537bf0
lea esi, [esp + 0x104]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004df770
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533198
jmp 0x537bfd
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
mov esi, dword [esi - 4]
cmp dword [esi + 0xc], 0x5e0258
je 0x537bc6
lea eax, [esp + 0x100]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xf8]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov edx, dword [esp + 0x190]
mov dword [esp], edx
call fcn.004df548
mov dword [esp + 0x90], eax
test eax, eax
jne 0x534f44
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e0258
je 0x534f39
cmp eax, 0x5e01f0
je 0x537b74
lea ecx, [esp + 0x104]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xf8]
dec eax
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004fe728
test eax, eax
je 0x537b7e
mov dword [esp + 0x90], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004dfe54
mov dword [esp + 0xf0], eax
test eax, eax
je 0x5322f4
inc dword [esp + 0x7c]
jmp 0x532b08
mov esi, dword [esp + 0x7c]
movzx ebx, byte [esi + 2]
shl ebx, 0x10
movzx eax, byte [esi + 1]
shl eax, 0x18
or ebx, eax
movzx eax, byte [esi + 3]
shl eax, 8
or ebx, eax
movzx eax, byte [esi + 4]
or ebx, eax
mov eax, ebx
neg eax
mov edi, dword [esp + 0x80]
lea eax, [edi + eax*4 + 4]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004df3d8
mov dword [esp + 0xf0], eax
add esi, 5
mov dword [esp + 0x7c], esi
inc dword [eax]
jmp 0x5327dc
mov ebx, dword [esp + 0x7c]
movsx esi, byte [ebx + 1]
mov edi, dword [esp + 0x80]
mov ebx, dword [edi]
mov edi, dword [edi - 4]
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e02a4
je 0x53834d
cmp dword [edi + 0xc], 0x5e02a4
je 0x53834d
cmp eax, 0x5e0284
je 0x5387e3
mov edx, dword [edi + 4]
test edx, edx
je 0x539572
mov eax, dword [ebx + 4]
test eax, eax
je 0x539581
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004fd6ac
jmp 0x533287
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx]
mov ebx, dword [ebx - 4]
cmp dword [ebx + 0xc], 0x5e0284
je 0x5386bb
mov dword [esp], ebx
call fcn.004ead80
mov dword [esp + 0x104], eax
xor edi, edi
cmp dword [esi + 0xc], 0x5e01f0
je 0x537c4c
lea eax, [esp + 0xf8]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x104]
dec eax
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov edx, dword [esp + 0x190]
mov dword [esp], edx
call fcn.004fe728
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533198
mov edx, dword [esp + 0xf8]
test edx, edx
js 0x5381a1
mov ecx, dword [esp + 0x104]
cmp ecx, edx
jle 0x5381a1
cmp dword [ebx + 0xc], 0x5e0284
je 0x53b6df
mov eax, dword [ebx + 4]
test eax, eax
je 0x5350d6
cmp ecx, dword [ebx + 8]
je 0x53b6be
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.004eae20
lea ebx, [esp + 0x160]
mov dword [esp + 4], ebx
movzx eax, ax
mov dword [esp], eax
call fcn.0050ce60
mov dword [esp + 0x104], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004eaca8
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
mov dword [eax], edx
inc dword [esp + 0x7c]
mov dword [esp + 0x90], 0
jmp 0x532b08
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
cmp dword [eax + 0xc], 0x5e0284
je 0x5386f5
mov dword [esp], eax
call fcn.004ead80
mov dword [esp + 0x104], eax
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov edx, dword [esp + 0x104]
mov dword [eax + 0x10], edx
mov dword [eax + 0xc], 0x5e01f0
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x532898
mov esi, dword [esp + 0x80]
mov ebx, dword [esi - 4]
mov edi, dword [esi]
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e01f0
je 0x538b6e
cmp eax, 0x5e01dc
je 0x5389ed
cmp eax, 0x5e0204
je 0x53728a
test eax, eax
je 0x539b9e
mov esi, dword [ebx + 4]
test esi, esi
je 0x5351cd
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x535287
lea eax, [esp + 0xf8]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xfc]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de8fc
test eax, eax
jne case.0x5324db.75
mov eax, dword [esp + 0xf8]
cmp eax, 5
je 0x53840e
cmp ebx, edi
je 0x5392da
mov eax, dword [edi + 0xc]
cmp eax, 0x5e01f0
je 0x53937b
cmp eax, 0x5e01dc
je 0x53935c
cmp eax, 0x5e0204
je 0x53927e
test eax, eax
je 0x53a2b7
mov eax, dword [edi + 4]
test eax, eax
je 0x53524d
mov eax, dword [edi + 8]
test eax, eax
je case.0x5324db.75
lea eax, [esp + 0x104]
mov dword [esp + 0xc], eax
lea edx, [esp + 0x100]
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004de8fc
test eax, eax
je 0x53a2ab
mov ebx, dword [esp + 0x80]
mov edi, dword [ebx]
mov ebx, dword [ebx - 4]
cmp ebx, edi
je 0x5380ba
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e0284
je 0x538210
cmp eax, 0x5e02a4
je 0x538270
mov esi, dword [ebx + 4]
test esi, esi
je 0x5395fb
mov eax, dword [ebx + 8]
mov dword [esp + 0xf8], eax
mov eax, dword [edi + 4]
test eax, eax
je 0x5395dc
mov edx, dword [edi + 8]
mov dword [esp + 0x104], edx
mov ecx, dword [esp + 0xf8]
cmp edx, ecx
jle 0x5352df
mov edx, ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0050d608
test eax, eax
jne 0x535301
mov eax, dword [esp + 0xf8]
sub eax, dword [esp + 0x104]
mov ebx, dword [esp + 0x7c]
mov dl, byte [ebx]
cmp dl, 0x4b
je case.default.0x536c46
sub edx, 0x2d
cmp dl, 5
jbe 0x536c43
test eax, eax
js 0x5381dd
cmp eax, 1
sbb eax, eax
not eax
and eax, 4
mov ebx, dword [esp + 0xd0]
mov eax, dword [ebx + eax]
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
mov dword [eax], edx
inc dword [esp + 0x7c]
jmp 0x532b08
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx]
mov edx, dword [ebx - 4]
cmp edx, esi
je 0x5388d1
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x539558
mov eax, dword [edx + 8]
mov dword [esp + 0xf8], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x5395bd
mov edx, dword [esi + 8]
mov dword [esp + 0x104], edx
cmp dword [esp + 0xf8], edx
je 0x536daf
mov ebx, dword [esp + 0x7c]
xor eax, eax
cmp byte [ebx], 0x4a
sete al
mov edx, dword [esp + 0x7c]
inc edx
mov ebx, dword [esp + 0x7c]
mov cl, byte [ebx + 1]
cmp cl, 0x25
je 0x537c8e
ja 0x5379ac
cmp cl, 0x24
je 0x5383b6
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + eax*4 + 4]
mov dword [esp + 0xf0], eax
inc dword [eax]
mov dword [esp + 0x7c], edx
jmp 0x532b08
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov esi, dword [esp + 0x90]
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], 0x5e01f0
mov ebx, dword [esp + 0x80]
mov dword [ebx + 4], eax
mov dword [eax], 1
inc dword [esp + 0x7c]
add ebx, 4
mov dword [esp + 0x80], ebx
jmp 0x5321ac
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e0b64
mov dword [esp + 0xf0], eax
call fcn.0050cb10
mov edx, dword [0x5e022c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax], 1
mov dword [ebx + 0x1e4], eax
mov eax, dword [esp + 0xf0]
mov ebx, dword [esp + 0x80]
mov dword [ebx + 4], eax
inc dword [esp + 0x7c]
add ebx, 4
mov dword [esp + 0x80], ebx
jmp 0x5321ac
sub dword [esp + 0x84], 4
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e0f44
inc dword [esp + 0x7c]
mov dword [esp + 0x90], 0
mov dword [esp + 0x98], 1
jmp 0x5321ac
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0x8c]
sar eax, 2
mov ebx, dword [esp + 0x84]
mov dword [ebx + 4], eax
add dword [esp + 0x7c], 5
add ebx, 4
mov dword [esp + 0x84], ebx
jmp 0x5321ac
mov dword [esp + 0x90], 4
xor ebx, ebx
mov ecx, dword [esp + 0x194]
xor edx, edx
mov eax, dword [esp + 0x7c]
call fcn.005310b0
mov esi, eax
test eax, eax
je 0x532d74
cmp dword [eax], 1
je 0x5323ca
mov eax, ebx
neg eax
mov edi, dword [esp + 0x80]
lea edi, [edi + eax*4]
mov dword [esp + 0x80], edi
mov dword [esp + 0xa0], esi
mov esi, edi
test ebx, ebx
je 0x535565
mov edi, dword [esi + ebx*4]
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jle 0x5355a4
dec ebx
test ebx, ebx
jne 0x535554
mov esi, dword [esp + 0xa0]
cmp dword [esp + 0x90], 3
je 0x5379fb
mov eax, dword [esi + 0x14]
cmp eax, 0xffffffff
je 0x536fef
mov ebx, dword [esp + 0x194]
add eax, dword [ebx + 0x48]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x90], 0
jmp 0x5321ac
mov eax, dword [edi + 0xc]
test eax, eax
je 0x5369bf
mov eax, dword [eax + 4]
test eax, eax
je 0x5369bf
mov dword [esp], edi
call fcn.004dd138
dec ebx
jmp 0x535561
mov dword [esp + 0x90], 3
jmp 0x53550b
mov ebx, dword [esp + 0x7c]
movzx edx, byte [ebx + 2]
shl edx, 0x10
movzx eax, byte [ebx + 1]
shl eax, 0x18
or edx, eax
movzx eax, byte [ebx + 3]
shl eax, 8
or edx, eax
movzx eax, byte [ebx + 4]
or edx, eax
mov dword [esp + 0x70], 5
mov ebx, dword [esp + 0x80]
mov ecx, dword [ebx]
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + edx*8]
mov dword [esp + 0x100], eax
test byte [eax], 2
je 0x535637
mov edi, dword [esp + 0x70]
nop
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x535624
mov dword [esp + 0x70], edi
mov dword [esp + 0x100], eax
mov ebx, dword [eax]
and ebx, 0x11
dec ebx
je 0x537642
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x618e04
mov dword [esp + 0xc], 0x200
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ecx
call fcn.004f45ac
mov esi, eax
test eax, eax
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
je 0x5322f4
mov dword [esp + 0x98], 0
mov ebx, 1
jmp 0x53276e
mov ebx, dword [esp + 0x7c]
movzx edx, byte [ebx + 1]
mov dword [esp + 0x70], 2
jmp 0x535600
mov ebx, dword [esp + 0x80]
mov edi, dword [ebx]
xor ecx, ecx
mov ebx, 1
lea esi, [esp + 0x100]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x618e04
mov dword [esp + 0xc], 0x200
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov eax, dword [esp + 0x190]
mov dword [esp], eax
mov dword [esp + 0x3c], ecx
call fcn.004f4f50
mov esi, eax
test eax, eax
mov ecx, dword [esp + 0x3c]
je 0x5322f4
test byte [eax], 0x13
jne 0x535759
mov eax, dword [eax + 4]
test eax, eax
je 0x535759
mov edx, dword [esp + 0x100]
test edx, edx
je 0x533494
test byte [edx], 0x10
je 0x533494
mov dword [esp + 0x98], edi
mov dword [esp + 0x70], 1
mov edx, 0xffffffff
jmp 0x53276e
mov ebx, dword [esp + 0x7c]
movzx edx, byte [ebx + 2]
shl edx, 0x10
movzx eax, byte [ebx + 1]
shl eax, 0x18
or edx, eax
movzx eax, byte [ebx + 3]
shl eax, 8
or edx, eax
movzx eax, byte [ebx + 4]
or edx, eax
mov ebx, dword [esp + 0xa4]
lea esi, [ebx + edx*8]
mov eax, dword [esi]
test al, 2
je 0x5357b1
lea esi, [esi]
mov esi, dword [esi + 4]
mov eax, dword [esi]
test al, 2
jne 0x5357a8
test al, 0x13
jne 0x5357c0
mov eax, dword [esi + 4]
test eax, eax
jne 0x5339a1
mov dword [esp + 0x100], 0
xor ecx, ecx
mov dword [esp + 0x98], 0
mov dword [esp + 0x70], 5
xor ebx, ebx
jmp 0x53276e
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
mov esi, dword [esp + 0x9c]
mov dword [esi + 0x10], ebx
lea edi, [esp + 0x100]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.0053c8dc
mov dword [esp + 0x90], eax
test eax, eax
jne 0x5358ba
mov eax, dword [esp + 0x100]
mov dword [esp + 0xf0], eax
inc dword [esp + 0x7c]
mov dword [esp + 0x98], 1
jmp 0x532898
mov edi, dword [esp + 0x80]
mov ebx, dword [edi]
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e01f0
je 0x536d76
cmp eax, 0x5e0218
je 0x536d76
lea eax, [esp + 0x104]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004ddc30
mov dword [esp + 0x90], eax
test eax, eax
je 0x537b68
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x9c]
mov dword [edx + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x7c]
mov dl, byte [ebx]
mov eax, dword [esp + 0x190]
call fcn.005313a4
mov dword [esp + 0x98], 1
jmp 0x533198
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
mov esi, dword [esp + 0x9c]
mov dword [esi + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.0053c6c4
mov dword [esp + 0x90], eax
test eax, eax
je 0x537ca0
mov ebx, 1
mov dword [esp + 0x98], 1
mov eax, dword [esp + 0x90]
sub eax, 3
cmp eax, 1
ja 0x533198
jmp 0x53550d
mov esi, dword [esp + 0x7c]
movzx ebx, byte [esi + 2]
shl ebx, 0x10
movzx eax, byte [esi + 1]
shl eax, 0x18
or ebx, eax
movzx eax, byte [esi + 3]
shl eax, 8
or ebx, eax
movzx eax, byte [esi + 4]
or ebx, eax
mov esi, 5
jmp 0x5335a6
mov edi, dword [esp + 0x7c]
movzx ebx, byte [edi + 1]
mov esi, 2
jmp 0x5335a6
mov ebx, dword [esp + 0x7c]
movzx ebx, byte [ebx + 1]
mov dword [esp + 0x70], ebx
mov eax, ebx
sub eax, 2
neg eax
mov ebx, dword [esp + 0x80]
lea esi, [ebx + eax*4]
cmp ebx, esi
jb 0x5359fc
mov ebx, esi
xor edi, edi
mov edx, dword [esp + 0x80]
jmp 0x5359c1
mov eax, dword [eax + 8]
mov dword [esp + 0x104], eax
add ebx, 4
add edi, eax
js 0x537795
cmp edx, ebx
jb 0x5359f4
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x5359a8
lea ecx, [esp + 0x104]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x40], edx
call fcn.004dd5bc
test eax, eax
mov edx, dword [esp + 0x40]
jne 0x53a3e8
add ebx, 4
cmp edx, ebx
jae 0x5359c1
test edi, edi
jne 0x5377a9
add dword [esp + 0x7c], 2
mov ebx, dword [esp + 0x70]
dec ebx
cmp ebx, 1
jne 0x533697
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
jmp 0x533840
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
mov dword [esp + 0xf0], eax
jmp 0x53498b
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx + 2]
shl eax, 0x10
movzx edx, byte [ebx + 1]
shl edx, 0x18
or eax, edx
movzx edx, byte [ebx + 3]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 4]
or eax, edx
mov ebx, dword [esp + 0x194]
mov edx, dword [ebx + 0x4c]
mov eax, dword [edx + eax*4]
jmp 0x5339a1
mov ebx, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
jae 0x532d6c
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e09e4
jmp 0x533198
mov ebx, dword [esp + 0x80]
mov edi, dword [ebx]
xor edx, edx
mov ebx, 1
jmp 0x533410
mov ebx, dword [esp + 0x7c]
movzx ebx, byte [ebx + 1]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x80]
mov edi, dword [ebx]
sub ebx, 4
mov dword [esp + 0x80], ebx
cmp al, 0x18
je 0x537b58
cmp al, 0x1a
je 0x536ebc
mov dword [esp + 0xa8], 1
cmp al, 0x1b
je 0x535ec5
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
lea eax, [esp + 0x100]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0x618e04
mov dword [esp + 0xc], 0x200
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x190]
mov dword [esp], edx
call fcn.004f4f50
mov esi, eax
test eax, eax
je 0x537eab
mov eax, dword [esi]
mov ecx, ebx
mov dword [esp + 0xa0], 0
mov dword [esp + 0x70], 0xffffffff
mov ebx, 1
jmp 0x535df0
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx - 4]
mov dword [esp + 0xa8], 0x200
jmp 0x533aee
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 2]
shl edi, 0x10
movzx eax, byte [ebx + 1]
shl eax, 0x18
or edi, eax
movzx eax, byte [ebx + 3]
shl eax, 8
or edi, eax
movzx eax, byte [ebx + 4]
or edi, eax
mov dword [esp + 0xa0], 5
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx - 4]
mov eax, dword [esp + 0xa4]
lea ebx, [eax + edi*8]
mov dword [esp + 0x100], ebx
test byte [ebx], 2
je 0x535bf7
mov ebx, dword [ebx + 4]
test byte [ebx], 2
jne 0x535be8
mov dword [esp + 0x100], ebx
mov eax, dword [ebx]
and eax, 0x21
dec eax
je 0x537d23
mov eax, dword [esp + 0x100]
mov dword [esp + 0xa8], 0x200
jmp 0x533bf2
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 1]
mov dword [esp + 0xa0], 2
jmp 0x535bbb
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0x70], ebx
mov dword [esp + 0xa8], 0x200
jmp 0x533a50
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 2]
shl edi, 0x10
movzx eax, byte [ebx + 1]
shl eax, 0x18
or edi, eax
movzx eax, byte [ebx + 3]
shl eax, 8
or edi, eax
movzx eax, byte [ebx + 4]
or edi, eax
mov dword [esp + 0xa0], 5
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + edi*8]
mov edx, dword [eax]
mov ecx, edx
mov ebx, eax
and ecx, 2
je 0x535c9a
nop
mov ebx, dword [ebx + 4]
mov edx, dword [ebx]
test dl, 2
jne 0x535c90
and edx, 0x2b
jne 0x536a58
mov esi, dword [ebx + 4]
test esi, esi
je 0x535cb7
mov eax, dword [esi]
dec eax
mov dword [esi], eax
test eax, eax
jle 0x537d00
mov esi, dword [esp + 0x80]
mov eax, dword [esi]
mov dword [esp + 0xf0], eax
mov dword [ebx + 4], eax
mov edx, dword [esp + 0x7c]
add edx, dword [esp + 0xa0]
cmp byte [edx], 3
je 0x537ba4
inc dword [eax]
mov dword [esp + 0x7c], edx
jmp 0x5321ac
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 1]
mov dword [esp + 0xa0], 2
jmp 0x535c7a
mov ebx, dword [esp + 0x80]
mov ecx, dword [ebx]
mov edi, dword [ebx - 4]
mov ebx, 2
jmp 0x5356e1
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 1]
add ebx, eax
mov dword [esp + 0x7c], ebx
jmp 0x5321ac
mov ebx, dword [esp + 0x7c]
movzx ebx, byte [ebx + 1]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 2]
mov dword [esp], eax
call fcn.004ddd50
mov edi, eax
inc dword [eax]
mov dword [esp + 0xa8], 3
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0xa0], ebx
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + esi*8]
mov dword [esp + 0x100], eax
test byte [eax], 2
je 0x535d8f
nop
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x535d80
mov dword [esp + 0x100], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0x618e04
mov dword [esp + 0xc], 0x200
mov edx, dword [esp + 0xa0]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004f45ac
mov esi, eax
test eax, eax
je 0x537eca
mov eax, dword [eax]
xor ecx, ecx
mov ebx, 1
test al, 0x33
jne 0x535f5a
mov edx, dword [esi + 4]
test edx, edx
je 0x535f5a
mov eax, dword [esp + 0x100]
test eax, eax
je 0x535e17
test byte [eax], 0x30
jne 0x535f5a
mov eax, dword [edx]
cmp eax, 1
jle 0x536c68
dec eax
mov dword [edx], eax
mov dword [esp], edx
call fcn.004dd2a4
mov edx, eax
mov dword [esp + 0xf0], eax
inc dword [eax]
mov dword [esi + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov esi, dword [esp + 0x190]
mov dword [esp], esi
call fcn.005318d0
mov dword [esp + 0x90], eax
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jle 0x538a23
mov edi, dword [esp + 0x90]
test edi, edi
jne 0x533198
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x7c]
add eax, edx
cmp byte [eax], 3
jne 0x535fe9
mov esi, dword [esp + 0x7c]
lea esi, [esi + edx + 1]
mov dword [esp + 0x7c], esi
jmp 0x53368e
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 1]
mov dword [esp], eax
call fcn.004ddd50
mov edi, eax
inc dword [eax]
mov al, byte [ebx]
mov dword [esp + 0xa8], 2
cmp al, 0x20
jne 0x535ae4
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0xa0], ebx
mov esi, dword [esp + 0x80]
mov ebx, dword [esi - 4]
lea eax, [esp + 0x100]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0x618e04
mov dword [esp + 0xc], 0x200
mov edx, dword [esp + 0xa0]
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.004f4f50
mov esi, eax
test eax, eax
je 0x537eab
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x535b45
mov eax, dword [esi]
mov ecx, ebx
mov dword [esp + 0x70], 0xffffffff
mov ebx, 2
test al, 0x33
je 0x535df8
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x9c]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], 0x200
mov dword [esp + 0x14], edi
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.004f3c34
mov dword [esp + 0xf0], eax
mov edx, dword [edi]
dec edx
mov dword [edi], edx
test edx, edx
jle 0x537f0f
test eax, eax
je 0x532bc0
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x98], 1
mov eax, dword [esp + 0x7c]
add eax, edx
cmp byte [eax], 3
je 0x535e8b
mov edx, dword [esp + 0xf0]
inc dword [edx]
mov dword [esp + 0x7c], eax
jmp 0x5327dc
mov ebx, dword [esp + 0x7c]
movzx edx, byte [ebx + 1]
movsx esi, byte [ebx + 2]
mov dword [esp + 0xa0], esi
movzx eax, dl
mov ebx, dword [esp + 0xa4]
lea edi, [ebx + eax*8]
mov eax, dword [edi]
test al, 2
je 0x53602d
lea esi, [esi]
mov edi, dword [edi + 4]
mov eax, dword [edi]
test al, 2
jne 0x536024
test al, 0x33
jne 0x5371c1
mov ebx, dword [edi + 4]
test ebx, ebx
je 0x5371c1
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e01f0
je 0x539431
cmp eax, 0x5e01dc
je 0x5393a7
cmp eax, 0x5e0204
je 0x5394f0
test eax, eax
je 0x5394de
mov eax, dword [ebx + 4]
test eax, eax
je 0x53607a
mov eax, dword [ebx + 8]
test eax, eax
je 0x5360bd
lea esi, [esp + 0x104]
mov dword [esp + 0xc], esi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de8fc
test eax, eax
jne 0x5360bd
mov eax, dword [esp + 0x104]
cmp eax, 1
je 0x539446
cmp eax, 2
je 0x5393bc
mov eax, dword [ebx]
cmp eax, 1
jg 0x5380d7
mov dword [esp + 0xf0], ebx
call fcn.0050cb10
mov esi, eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov edi, dword [esp + 0xa0]
mov dword [eax + 0x10], edi
mov dword [eax + 0xc], 0x5e01f0
mov dword [esp + 8], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.005318d0
mov dword [esp + 0x90], eax
mov eax, dword [esi]
dec eax
mov dword [esi], eax
test eax, eax
jle 0x53939a
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x533198
mov edx, 3
xor ebx, ebx
jmp 0x535fda
mov dword [esp + 0x128], 2
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 1]
mov dword [esp + 0x12c], eax
jmp 0x534cb9
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 1]
shl eax, 0x18
movzx edx, byte [ebx + 2]
shl edx, 0x10
or eax, edx
movzx edx, byte [ebx + 4]
or eax, edx
movzx edx, byte [ebx + 3]
shl edx, 8
or eax, edx
add ebx, eax
mov dword [esp + 0x7c], ebx
jmp 0x5321ac
mov edi, dword [esp + 0x80]
mov ebx, dword [edi]
mov esi, dword [edi - 4]
mov eax, dword [esi + 0xc]
cmp eax, 0x5e01f0
je 0x536cdc
cmp eax, 0x5e0218
je 0x536cdc
lea eax, [esp + 0xf8]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.004ddc30
mov dword [esp + 0x90], eax
test eax, eax
je 0x536ced
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], edi
mov ecx, esi
mov ebx, dword [esp + 0x7c]
mov dl, byte [ebx]
mov eax, dword [esp + 0x190]
call fcn.005313a4
jmp 0x5358ba
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 1]
shl eax, 0x18
movzx edx, byte [ebx + 2]
shl edx, 0x10
or eax, edx
movzx edx, byte [ebx + 4]
or eax, edx
movzx edx, byte [ebx + 3]
shl edx, 8
or eax, edx
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 5
jmp 0x534cb9
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0xa0], ebx
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx - 4]
mov dword [esp + 0x70], ebx
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e01f0
je 0x5388fd
cmp eax, 0x5e01dc
je 0x5384eb
mov ecx, dword [esp + 0x70]
cmp eax, 0x5e0204
je 0x5372c2
test eax, eax
je 0x537731
mov eax, dword [ecx + 4]
test eax, eax
je 0x5362a5
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 8]
test eax, eax
je 0x53773c
lea eax, [esp + 0xf8]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xfc]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004de8fc
test eax, eax
jne 0x53773c
mov eax, dword [esp + 0xf8]
cmp eax, 5
je 0x53773c
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 0xc]
cmp eax, 0x5e01f0
je 0x5399cf
cmp eax, 0x5e01dc
je 0x5399f0
mov ecx, dword [esp + 0xa0]
cmp eax, 0x5e0204
je 0x5398b3
test eax, eax
je 0x538022
mov eax, dword [ecx + 4]
test eax, eax
je 0x53633a
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 8]
test eax, eax
je 0x53802d
lea ebx, [esp + 0x104]
mov dword [esp + 0xc], ebx
lea esi, [esp + 0x100]
mov dword [esp + 8], esi
mov ecx, dword [esp + 0xa0]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004de8fc
test eax, eax
jne 0x53802d
mov edx, dword [esp + 0x104]
cmp edx, 5
je 0x53802d
mov edi, dword [esp + 0xf8]
cmp edi, 4
je 0x538919
cmp edx, 4
je 0x538919
mov ebx, dword [esp + 0x7c]
mov al, byte [ebx]
cmp al, 0x37
je 0x538e21
cmp al, 0x63
jne 0x539a6d
cmp edx, 1
je 0x53b5a9
cmp edx, 2
je 0x53b6a5
cmp edx, 3
je 0x53b625
cmp edx, 1
je 0x53adf4
xor ebx, ebx
xor edx, edx
xor ecx, ecx
cmp edi, 1
je 0x53ad7b
test edx, edx
je 0x53b166
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 4]
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x532afa
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
mov edi, dword [esi - 4]
mov eax, dword [edi + 0xc]
cmp eax, 0x5e01f0
je 0x538727
cmp eax, 0x5e01dc
je 0x538760
cmp eax, 0x5e0204
je 0x537348
test eax, eax
je 0x5375c1
mov eax, dword [edi + 4]
test eax, eax
je 0x536452
mov eax, dword [edi + 8]
test eax, eax
je 0x5375cc
lea eax, [esp + 0xf8]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xfc]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004de8fc
test eax, eax
jne 0x5375cc
mov eax, dword [esp + 0xf8]
cmp eax, 4
je 0x5375cc
cmp eax, 5
je 0x5375cc
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e01f0
je 0x539223
cmp eax, 0x5e01dc
je 0x539204
cmp eax, 0x5e0204
je 0x5391cc
test eax, eax
je 0x539c0f
mov esi, dword [ebx + 4]
test esi, esi
je 0x5364d7
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x532b99
lea esi, [esp + 0x104]
mov dword [esp + 0xc], esi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de8fc
test eax, eax
jne 0x532b99
mov eax, dword [esp + 0x104]
cmp eax, 4
je 0x532b99
cmp eax, 5
je 0x532b99
mov esi, dword [esp + 0x7c]
cmp byte [esi], 0x39
je 0x538f50
cmp eax, 2
je 0x53bcfd
cmp eax, 3
je 0x53bcc2
dec eax
je 0x53bc9a
mov eax, dword [esp + 0xf8]
cmp eax, 1
je 0x53bc84
mov ebx, dword [esp + 0x7c]
cmp byte [ebx], 0x33
je 0x53bb17
cmp dword [esp + 0x104], 1
je 0x53b9d8
cmp eax, 2
je 0x53b9b0
cmp eax, 3
je 0x53b969
dec eax
je 0x53b8ca
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0xffffffff
mov dword [eax + 0xc], 0x5e01f0
mov edx, 1
mov dword [eax], edx
inc dword [esp + 0x7c]
jmp 0x532afa
mov esi, dword [esp + 0x7c]
movzx ebx, byte [esi + 1]
mov eax, ebx
neg eax
mov edi, dword [esp + 0x80]
lea esi, [edi + eax*4 + 4]
mov edi, dword [esi]
mov dword [esp + 4], 0x11
mov dword [esp], str.::tcl::mathfunc::
call fcn.004eaca8
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 0x50], eax
call fcn.004eb710
mov edx, dword [edi]
dec edx
mov dword [edi], edx
test edx, edx
mov eax, dword [esp + 0x50]
jle 0x53884f
mov dword [esi], eax
inc dword [eax]
mov esi, 2
jmp 0x5335a6
mov ebx, dword [esp + 0x7c]
movzx ebx, byte [ebx + 1]
mov byte [esp + 0x7b], bl
cmp byte [esp + 0x7b], 0x19
ja 0x537ceb
mov dword [esp + 4], 0x11
mov dword [esp], str.::tcl::mathfunc::
call fcn.004eaca8
mov esi, eax
mov dword [esp + 8], 0xffffffff
mov eax, dword [ebx*8 + 0x619520]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004eb610
mov ebx, dword [ebx*8 + 0x619524]
test ebx, ebx
je 0x536c4d
cmp ebx, 1
je 0x538784
mov ecx, dword [esp + 0x80]
mov edi, dword [ecx]
mov eax, dword [ecx - 4]
mov dword [ecx - 4], esi
inc dword [esi]
mov dword [ecx], eax
inc dword [eax]
mov esi, ecx
add esi, 4
mov dword [ecx + 4], edi
inc dword [edi]
mov edx, dword [eax]
dec edx
mov dword [eax], edx
test edx, edx
jle 0x5397b8
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jle 0x5397a4
mov dword [esp + 0x80], esi
inc ebx
mov esi, 2
jmp 0x5335a6
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e01f0
je 0x5385aa
cmp eax, 0x5e01dc
je 0x53870d
cmp eax, 0x5e0204
je 0x537380
test eax, eax
je 0x532b8e
mov eax, dword [ebx + 4]
test eax, eax
je 0x53670e
mov eax, dword [ebx + 8]
test eax, eax
je 0x532b99
lea edi, [esp + 0x104]
mov dword [esp + 0xc], edi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de8fc
test eax, eax
jne 0x532b99
mov eax, dword [esp + 0x104]
cmp eax, 5
je 0x532b99
cmp eax, 4
je 0x532b99
cmp eax, 1
je 0x5385bf
cmp eax, 2
jne 0x538541
mov eax, dword [esp + 0x100]
mov edx, dword [eax]
mov eax, dword [eax + 4]
not edx
not eax
cmp dword [ebx], 1
jle 0x538ea3
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004de1f0
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x53859a
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xa0]
lea eax, [eax + edi + 1]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x98], 1
jmp 0x53368e
mov dword [esp + 0x98], 1
mov dword [esp + 0x88], 1
jmp 0x53591f
cmp cl, 0x26
je 0x538cb6
cmp cl, 0x27
jne 0x5353c4
test eax, eax
jne 0x53914c
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 2]
shl eax, 0x18
movzx ecx, byte [ebx + 3]
shl ecx, 0x10
or eax, ecx
movzx ecx, byte [ebx + 5]
or eax, ecx
movzx ecx, byte [ebx + 4]
shl ecx, 8
or eax, ecx
add edx, eax
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx]
lea edx, [ebx - 4]
mov dword [esp + 0x80], edx
mov eax, dword [esi]
dec eax
mov dword [esi], eax
test eax, eax
jle 0x53699c
mov ebx, dword [ebx - 4]
jmp 0x533840
mov eax, dword [edi + 4]
test eax, eax
je 0x536860
cmp eax, dword [0x5e022c]
je 0x536860
mov dword [esp], eax
call fcn.004ed958
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050cc38
dec ebx
jmp 0x5336de
xor eax, eax
mov edx, dword [ebx + 0x10]
test edx, edx
setne al
mov edi, dword [esp + eax*4 + 0x128]
add dword [esp + 0x7c], edi
mov dword [esp + 0x90], 0
jmp 0x533840
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x194]
sub eax, dword [ecx + 0x48]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.004e6908
jmp 0x533638
mov ecx, dword [esp + 0x194]
sub eax, dword [ecx + 0x48]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.004e6828
jmp 0x5335dd
mov eax, dword [ebx + 4]
test eax, eax
je 0x53690e
cmp eax, dword [0x5e022c]
je 0x53690e
mov dword [esp], eax
call fcn.004ed958
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050cc38
jmp 0x5321ac
mov eax, dword [ebx + 0x100]
mov dword [esp + 0x90], 1
jmp 0x532314
mov edx, dword [esp + 0x190]
mov dword [esp], edx
call fcn.004e0b64
mov dword [esp + 0xf0], eax
call fcn.0050cb10
mov edx, dword [0x5e022c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax], 1
mov ecx, dword [esp + 0x190]
mov dword [ecx + 0x1e4], eax
mov dword [esp + 0x7c], edi
mov dword [esp + 0x98], 1
mov dword [esp + 0x88], 1
jmp 0x5327dc
mov eax, dword [esi + 0xc]
test eax, eax
je 0x5378ac
mov eax, dword [eax + 4]
test eax, eax
je 0x5378ac
mov dword [esp], esi
call fcn.004dd138
jmp 0x536841
mov eax, dword [edi + 4]
test eax, eax
je 0x5369d6
cmp eax, dword [0x5e022c]
je 0x5369d6
mov dword [esp], eax
call fcn.004ed958
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050cc38
dec ebx
jmp 0x535561
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004f4c0c
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533198
jmp 0x5333e1
mov ebx, dword [esp + 0xd4]
mov esi, dword [ebx + 0xe4]
mov ebx, dword [esp + 0x194]
cmp dword [ebx + 0xc], esi
jne 0x532f59
add dword [esp + 0x7c], 9
mov dword [esp + 0x98], 0
jmp 0x5321ac
mov dword [esp + 0xa8], 0x200
jmp 0x534be9
mov ebp, dword [esp + 0x90]
mov edi, dword [esp + 0x70]
test edi, edi
je 0x536c81
mov ebx, dword [esp + 0xc0]
mov eax, dword [ebx + 4]
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + eax*8]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xc4], 0
mov dword [esp + 0xdc], ebp
mov edi, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
mov esi, dword [edx + edi*4 + 0xc]
mov ebx, dword [esi]
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx + edi*8 + 4]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.004df4d4
mov dword [esp + 0xbc], eax
cmp dword [eax + 0xc], 0x5e0258
je 0x537626
lea ebp, [esp + 0x100]
mov dword [esp + 0xc], ebp
lea eax, [esp + 0x104]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x190]
mov dword [esp], edx
call fcn.004df548
mov edi, dword [esp + 0xa0]
imul edi, ebx
test ebx, ebx
jle 0x536bc5
lea ebp, [edi*4]
add ebx, edi
mov dword [esp + 0x70], ebx
mov eax, edi
neg eax
lea esi, [esi + eax*4]
mov dword [esp + 0x90], esi
cmp dword [esp + 0x104], edi
jle 0x5374a0
mov eax, dword [esp + 0x100]
mov eax, dword [eax + ebp]
mov ebx, dword [esp + 0x90]
mov ecx, dword [ebx + ebp + 4]
mov esi, dword [esp + 0xa4]
lea ebx, [esi + ecx*8]
mov edx, dword [ebx]
test dl, 2
je 0x536b95
mov esi, dword [esp + 0x90]
nop
mov ebx, dword [ebx + 4]
mov edx, dword [ebx]
test dl, 2
jne 0x536b84
mov dword [esp + 0x90], esi
and edx, 0x2b
jne 0x53743c
mov edx, dword [ebx + 4]
cmp eax, edx
je 0x536bbb
test edx, edx
je 0x536bb6
mov ecx, dword [edx]
dec ecx
mov dword [edx], ecx
test ecx, ecx
jle 0x5374c7
mov dword [ebx + 4], eax
inc dword [eax]
inc edi
add ebp, 4
cmp edi, dword [esp + 0x70]
jne 0x536b48
mov eax, dword [esp + 0xbc]
mov eax, dword [eax]
mov dword [esp + 0x64], eax
dec eax
mov edx, dword [esp + 0xbc]
mov dword [edx], eax
test eax, eax
jle 0x537982
inc dword [esp + 0xc4]
mov edx, dword [esp + 0xa8]
cmp dword [esp + 0xc4], edx
jne 0x536aa8
mov ebp, dword [esp + 0xdc]
mov edx, dword [esp + 0x7c]
add edx, 5
mov ebx, dword [esp + 0x7c]
cmp byte [ebx + 5], 0x26
mov dword [esp + 0x90], 0
je 0x539e26
mov eax, 5
jmp 0x536cc4
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x90], eax
jmp 0x533198
movzx edx, dl
jmp dword [edx*4 + 0x619250]
mov edi, dword [esp + 0x80]
mov dword [edi + 4], esi
inc dword [esi]
add edi, 4
mov dword [esp + 0x80], edi
jmp 0x5366bc
mov dword [esp + 0xf0], edx
jmp 0x535e3b
mov dword [esp], edi
call fcn.004ed958
jmp 0x533198
mov dword [esp + 0x90], 0
mov edx, dword [esp + 0x7c]
add edx, 5
mov ebx, dword [esp + 0x7c]
cmp byte [ebx + 5], 0x26
je 0x539e90
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 6]
shl eax, 0x18
movzx ecx, byte [ebx + 7]
shl ecx, 0x10
or eax, ecx
movzx ecx, byte [ebx + 9]
or eax, ecx
movzx ecx, byte [ebx + 8]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esp + 0x7c], eax
jmp 0x5321ac
or dl, 0x80
mov dword [eax], edx
inc dword [eax + 8]
jmp 0x53335a
xor eax, eax
mov edi, dword [esi + 0x10]
test edi, edi
setne al
mov dword [esp + 0xf8], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e01f0
je 0x537e1d
cmp eax, 0x5e0218
je 0x537e1d
lea esi, [esp + 0x104]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004ddc30
mov dword [esp + 0x90], eax
test eax, eax
jne 0x5383a0
mov ebx, dword [esp + 0x7c]
cmp byte [ebx], 0x28
je 0x537dfb
mov ecx, dword [esp + 0xf8]
test ecx, ecx
jne 0x537e0a
xor eax, eax
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + eax*4 + 4]
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
mov dword [esp + 0x90], 0
jmp 0x532b08
xor eax, eax
mov edx, dword [ebx + 0x10]
test edx, edx
setne al
cmp eax, 1
sbb eax, eax
and eax, 4
mov ebx, dword [esp + 0xd0]
mov eax, dword [ebx + eax]
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
mov dword [esp + 0x90], 0
jmp 0x532898
mov edx, dword [esp + 0x7c]
cmp byte [edx], 0x4a
mov dword [esp + 4], eax
mov dword [esp], ebx
je 0x5397c5
call sub.msvcrt.dll_strcmp
test eax, eax
sete al
movzx eax, al
jmp 0x5353a0
mov eax, dword [eax + 0x10]
lea edx, [eax + 0x10]
mov dword [esp + 0x100], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x7c]
cmp byte [eax + 9], 3
je 0x538ba7
mov ecx, esi
shl ecx, 0x18
shl ebx, 0x10
or ecx, ebx
and edi, 0xff
or ecx, edi
movzx eax, byte [esp + 0x70]
shl eax, 8
or ecx, eax
mov eax, dword [esp + 0x104]
cmp ecx, 0xffffffff
jl 0x539528
cmp ecx, eax
jle 0x536e2c
mov ecx, eax
mov dl, byte [esp + 0xa0]
shl edx, 0x18
movzx ebx, byte [esp + 0xa8]
shl ebx, 0x10
or edx, ebx
movzx ebx, byte [esp + 0xc0]
or edx, ebx
movzx ebx, byte [esp + 0xbc]
shl ebx, 8
or edx, ebx
cmp edx, 0xffffffff
jl 0x539540
mov ebx, eax
cmp eax, edx
jle 0x536e6b
mov ebx, edx
cmp ecx, ebx
jg 0x5373f4
cmp ecx, eax
jge 0x5373f4
test ebx, ebx
js 0x5373f4
test ecx, ecx
js 0x539cd0
cmp ebx, eax
jl 0x536e92
lea ebx, [eax - 1]
mov eax, dword [esp + 0x100]
lea eax, [eax + ecx*4]
mov dword [esp + 4], eax
mov eax, ebx
sub eax, ecx
inc eax
mov dword [esp], eax
call fcn.004df3d8
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
jmp 0x537422
mov dword [esp + 0xa8], 2
jmp 0x535d55
mov edx, dword [esp + 0x7c]
mov bl, byte [edx + 1]
mov ecx, edx
mov dl, byte [edx + 2]
mov cl, byte [ecx + 3]
mov byte [esp + 0xa8], cl
mov ecx, dword [esp + 0x7c]
mov cl, byte [ecx + 4]
mov byte [esp + 0xbc], cl
lea eax, [esp + 0x100]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0x190]
mov dword [esp], eax
mov byte [esp + 0x40], dl
call fcn.00518be4
mov dword [esp + 0x90], eax
test eax, eax
movzx edx, byte [esp + 0x40]
jne 0x537756
mov eax, ebx
shl eax, 0x18
shl edx, 0x10
or eax, edx
movzx edx, byte [esp + 0xbc]
or eax, edx
movzx edx, byte [esp + 0xa8]
shl edx, 8
or eax, edx
mov edx, dword [esp + 0x100]
test edx, edx
mov dword [esp], eax
je 0x539cd7
call fcn.004ddd50
mov ebx, eax
inc dword [eax]
mov eax, dword [esp + 0x100]
cmp dword [eax], 1
jle 0x536fb2
mov dword [esp], eax
call fcn.004dd2a4
mov dword [esp + 0x100], eax
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x80]
mov eax, dword [edx]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.00518980
mov eax, dword [esp + 0x100]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.005318d0
mov dword [esp + 0x90], eax
test eax, eax
je 0x5390b8
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jle 0x5390c5
mov ebx, 1
jmp 0x5347b0
mov ebx, dword [esp + 0x190]
mov eax, dword [ebx + 0x100]
mov dword [esp + 0x90], 4
jmp 0x532314
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], edi
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
mov dword [esp + 0x40], edx
call fcn.004f3aa0
mov edi, eax
test eax, eax
mov edx, dword [esp + 0x40]
je 0x539b5c
mov dword [esp + 0x98], 1
jmp 0x534770
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004f3aa0
mov dword [esp + 0x70], eax
test eax, eax
jne 0x539b4c
add dword [esp + 0x7c], 9
mov dword [esp + 0x98], 1
mov edx, dword [esp + 0x80]
mov ebx, dword [edx]
jmp 0x533840
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 0x200
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004f3aa0
mov ebx, eax
mov dword [esp + 0x98], 1
test eax, eax
jne 0x53415e
jmp 0x5322f4
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x9c]
mov dword [esi + 0x10], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov edx, dword [esp + 0x190]
mov dword [esp], edx
call fcn.004f3aa0
mov esi, eax
test eax, eax
je 0x539bb0
mov dword [esp + 0x98], 1
jmp 0x534614
not eax
shr eax, 0x1f
jmp 0x535320
mov dword [esp + 0x70], edx
call fcn.0050cb10
mov edi, eax
mov dword [eax + 4], 0
mov esi, dword [esp + 0xa0]
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], 0x5e01f0
mov dword [eax], 1
mov dword [esp + 0xa8], 3
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0xa4]
lea esi, [ebx + edx*8]
mov eax, dword [esi]
test al, 2
je 0x537215
lea esi, [esi]
mov esi, dword [esi + 4]
mov eax, dword [esi]
test al, 2
jne 0x53720c
mov dword [esp + 0x100], 0
mov dword [esp + 0xa0], 0
xor ecx, ecx
xor ebx, ebx
jmp 0x535df0
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.004f3058
mov dword [esp + 0x98], 1
xor eax, eax
jmp 0x53320d
test eax, eax
setne al
movzx eax, al
jmp 0x535320
test eax, eax
sete al
movzx eax, al
jmp 0x535320
test eax, eax
setle al
movzx eax, al
jmp 0x535320
test eax, eax
setg al
movzx eax, al
jmp 0x535320
fld qword [ebx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x539102
mov dword [esp + 0xf8], 4
mov eax, 4
lea edx, [ebx + 0x10]
mov dword [esp + 0xfc], edx
jmp 0x535202
fld qword [ecx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x539117
mov dword [esp + 0xf8], 4
mov eax, 4
mov edx, dword [esp + 0x70]
add edx, 0x10
mov dword [esp + 0xfc], edx
jmp 0x5362de
mov esi, dword [edi + 4]
test esi, esi
jne 0x5330ad
jmp 0x5330e2
fld qword [esi + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x5390a3
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [esi + 0x10]
mov dword [esp + 0x100], edx
jmp 0x533057
fld qword [edi + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x53912c
mov dword [esp + 0xf8], 4
mov eax, 4
lea edx, [edi + 0x10]
mov dword [esp + 0xfc], edx
jmp 0x536487
fld qword [ebx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x53908e
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [ebx + 0x10]
mov dword [esp + 0x100], edx
jmp 0x536743
fld qword [ecx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x5390ed
mov dword [esp + 0xf8], 4
mov eax, 4
mov edx, dword [esp + 0x70]
add edx, 0x10
mov dword [esp + 0xfc], edx
jmp 0x532952
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax], 0
mov edx, dword [0x5e022c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov edx, 1
mov dword [eax], edx
add dword [esp + 0x7c], 9
mov dword [esp + 0x90], 0
jmp 0x532898
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x9c]
mov dword [edx + 0x10], esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], 0x200
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004f35b0
test eax, eax
je 0x537927
mov dword [esp + 0x98], 1
jmp 0x536bbb
call fcn.0050cb10
mov dword [eax], 0
mov edx, dword [0x5e022c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
jmp 0x536b5f
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x5374ea
mov esi, dword [ecx + 4]
test esi, esi
je 0x5374ea
mov dword [esp], edx
mov dword [esp + 0x50], eax
call fcn.004dd138
mov eax, dword [esp + 0x50]
jmp 0x536bb6
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x537511
cmp ecx, dword [0x5e022c]
je 0x537511
mov dword [esp], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], edx
call fcn.004ed958
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x50]
mov dword [edx + 8], 0xffffffff
mov dword [esp], edx
mov dword [esp + 0x50], eax
call fcn.0050cc38
mov eax, dword [esp + 0x50]
jmp 0x536bb6
mov eax, dword [esp + 0x80]
mov ebp, dword [esp + 0x9c]
mov dword [ebp + 0x10], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.004f3aa0
test eax, eax
je 0x538a4b
mov dword [esp + 0x98], 1
cmp ebx, eax
jne 0x534067
mov dword [esp], ebx
call fcn.004dd2a4
jmp 0x534067
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [edi + 0x64]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + edx*4 + 8]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004f542c
jmp 0x5342a7
mov eax, dword [edi + 4]
test eax, eax
jne 0x536447
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov ecx, edi
jmp 0x532bac
mov eax, dword [ecx + 4]
test eax, eax
jne 0x53290a
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x7c]
mov dl, byte [ebx]
mov eax, dword [esp + 0x190]
call fcn.005313a4
mov dword [esp + 0x98], 1
jmp 0x5322f4
mov eax, dword [eax + 0x10]
lea edx, [eax + 0x10]
mov dword [esp + 0x100], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x104], eax
jmp 0x536b1b
mov eax, dword [eax + 4]
mov dword [esp + 8], 0
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ecx
call dword [eax + 0x30]
test eax, eax
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
je 0x535643
cmp eax, 0xc
je 0x535643
test byte [eax - 0xc], 0x13
jne 0x535643
mov eax, dword [eax - 8]
test eax, eax
je 0x535643
mov dword [esp + 0xf0], eax
inc dword [eax]
mov esi, dword [esp + 0x70]
add dword [esp + 0x7c], esi
jmp 0x532898
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll_strcmp
test eax, eax
sete al
movzx eax, al
inc ebx
cmp ebx, dword [esp + 0x104]
jge 0x5376ce
test eax, eax
je 0x534a0b
mov eax, 1
mov ebx, dword [esp + 0x7c]
cmp byte [ebx], 0x6b
je 0x5388de
mov edx, dword [esp + 0x7c]
inc edx
mov ebx, dword [esp + 0x7c]
mov cl, byte [ebx + 1]
cmp cl, 0x25
je 0x538324
ja 0x5382ec
cmp cl, 0x24
je 0x5386ad
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + eax*4 + 4]
mov dword [esp + 0xf0], eax
inc dword [eax]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x90], 0
jmp 0x532b08
mov edx, 1
jmp 0x532107
mov eax, dword [ecx + 4]
test eax, eax
jne 0x536296
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov ecx, dword [esp + 0x70]
jmp 0x532bac
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x533198
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jg 0x533198
mov eax, dword [edi + 0xc]
test eax, eax
je 0x53a883
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x53a883
mov dword [esp], edi
call fcn.004dd138
jmp 0x533198
mov dword [esp + 4], 0x7fffffff
mov dword [esp], str.max_size_for_a_Tcl_value___d_bytes__exceeded
call fcn.00508428
mov eax, dword [esp + 0x70]
neg eax
mov edx, dword [esp + 0x80]
lea ebx, [edx + eax*4 + 4]
mov edx, dword [ebx]
mov dword [esp + 0xf0], edx
mov eax, dword [edx + 4]
test eax, eax
je 0x5397d7
mov edx, dword [edx + 8]
mov dword [esp + 0x104], edx
add edx, edi
js 0x539c84
cmp eax, dword [0x5e022c]
je 0x5377f8
mov edx, dword [esp + 0xf0]
cmp dword [edx], 1
jle 0x538860
mov eax, dword [esp + 0x104]
add eax, edi
inc eax
mov dword [esp], eax
call fcn.004ed800
mov dword [esp + 0x40], eax
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov edx, dword [esp + 0x40]
mov dword [eax + 4], edx
add edi, dword [esp + 0x104]
mov dword [eax + 8], edi
cmp dword [esp + 0x80], ebx
jb 0x53786f
mov eax, dword [ebx]
mov esi, dword [eax + 4]
test esi, esi
je 0x537b25
mov ecx, dword [eax + 8]
mov dword [esp + 0x104], ecx
mov edi, edx
rep movsb byte es:[edi], byte [esi]
add edx, dword [esp + 0x104]
add ebx, 4
cmp dword [esp + 0x80], ebx
jae 0x537841
mov byte [edx], 0
add dword [esp + 0x7c], 2
mov eax, dword [esp + 0xf0]
inc dword [eax]
mov ebx, dword [esp + 0x70]
jmp 0x5327dc
mov eax, dword [esi + 4]
test eax, eax
jne 0x533017
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], edi
mov ecx, esi
jmp 0x532bac
mov eax, dword [esi + 4]
test eax, eax
je 0x5378c3
cmp eax, dword [0x5e022c]
je 0x5378c3
mov dword [esp], eax
call fcn.004ed958
mov dword [esi + 8], 0xffffffff
mov dword [esp], esi
call fcn.0050cc38
mov ebx, dword [ebx - 4]
jmp 0x533840
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax], 0
mov edx, dword [0x5e022c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov edx, 1
jmp 0x532885
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004f3058
xor eax, eax
jmp 0x533489
mov ebp, dword [esp + 0xdc]
mov eax, dword [esp + 0xbc]
mov eax, dword [eax]
mov dword [esp + 0x68], eax
dec eax
mov edx, dword [esp + 0xbc]
mov dword [edx], eax
test eax, eax
jg 0x532bc0
mov eax, dword [edx + 0xc]
test eax, eax
je 0x53998b
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x53998b
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
call fcn.004dd138
mov dword [esp + 0x98], 1
jmp 0x5322f4
mov eax, dword [edx + 0xc]
test eax, eax
je 0x5383d5
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x5383d5
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
call fcn.004dd138
jmp 0x536be4
cmp cl, 0x26
je 0x5383c7
cmp cl, 0x27
jne 0x5353c4
test eax, eax
jne 0x537c96
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 2]
shl eax, 0x18
movzx ecx, byte [ebx + 3]
shl ecx, 0x10
or eax, ecx
movzx ecx, byte [ebx + 5]
or eax, ecx
movzx ecx, byte [ebx + 4]
shl ecx, 8
or eax, ecx
add edx, eax
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0x80]
jmp 0x536828
mov ebx, dword [esp + 0x194]
mov ebx, dword [ebx + 0x48]
mov edi, dword [esi + 0x10]
add ebx, edi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x90], 0
jmp 0x5321ac
mov eax, dword [ebx + 0x10]
lea edx, [eax + 0x10]
mov dword [esp + 0x100], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x104], edx
sub dword [esp + 0x80], 4
mov esi, dword [esp + 0x7c]
movsx eax, byte [esi + 1]
shl eax, 0x18
movzx ecx, byte [esi + 2]
shl ecx, 0x10
or eax, ecx
movzx ecx, byte [esi + 4]
or eax, ecx
movzx ecx, byte [esi + 3]
shl ecx, 8
or eax, ecx
sub edx, eax
mov edi, dword [esp + 0x194]
add edx, dword [edi + 0x44]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x9c]
mov dword [eax + 0x10], ecx
mov esi, dword [esp + 0x190]
mov eax, dword [esi + 0x110]
mov ecx, 1
call fcn.00531178
sub eax, 4
sub eax, dword [esp + 0xb0]
sar eax, 2
je 0x537ad1
shl eax, 2
add dword [esp + 0xb0], eax
add dword [esp + 0x84], eax
add dword [esp + 0x8c], eax
add dword [esp + 0x80], eax
mov eax, dword [esi + 0x110]
mov eax, dword [eax]
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x104]
test ecx, ecx
jle 0x537b0b
xor eax, eax
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x100]
mov edx, dword [edx + eax*4]
mov dword [esi + eax*4 + 4], edx
inc dword [edx]
inc eax
cmp eax, ecx
jne 0x537ae5
mov edi, dword [esp + 0x80]
lea edi, [edi + eax*4]
mov dword [esp + 0x80], edi
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jg 0x5332ee
mov dword [esp], ebx
call fcn.004dd138
jmp 0x5332ee
lea esi, [esp + 0x104]
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 0x40], edx
call fcn.004dd5bc
mov esi, eax
test eax, eax
mov edx, dword [esp + 0x40]
je 0x537863
mov ecx, dword [esp + 0x104]
jmp 0x537858
mov dword [esp + 0xa8], 2
jmp 0x5371f5
mov eax, dword [esp + 0x104]
jmp 0x536d80
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x104], eax
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jle 0x539968
sub dword [esp + 0x80], 4
mov esi, dword [esp + 0x104]
mov ebx, 1
jmp 0x53285c
sub esi, 4
mov dword [esp + 0x80], esi
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xa0]
lea ebx, [ebx + edi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x5321ac
mov eax, dword [esi + 0x10]
lea edx, [eax + 0x10]
mov dword [esp + 0x100], edx
mov eax, dword [eax + 8]
mov dword [esp + 0xf8], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e0258
jne 0x534eff
jmp 0x534f39
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x104], eax
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov edx, dword [esp + 0x104]
mov dword [eax + 0x10], edx
mov dword [eax + 0xc], 0x5e01f0
mov dword [eax], 1
inc dword [esp + 0x7c]
mov dword [esp + 0x90], 0
jmp 0x532898
mov edx, dword [esp + 0xf8]
mov eax, 0x618d85
jmp 0x534a4e
mov edx, dword [esi + 0x10]
mov dword [esp + 0xf8], edx
jmp 0x5350a2
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x104], eax
jmp 0x534a05
mov dword [esp + 0x104], 1
lea eax, [esi + 0x10]
mov dword [esp + 0x100], eax
mov eax, 1
jmp dword [eax*4 + 0x619268]
test eax, eax
jne 0x5379c6
mov eax, 5
jmp 0x5379e9
mov dword [esp], ebx
call fcn.004e0b64
mov dword [esp + 0xf0], eax
call fcn.0050cb10
mov edx, dword [0x5e022c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax], 1
mov dword [ebx + 0x1e4], eax
inc dword [esp + 0x7c]
mov dword [esp + 0x98], 1
jmp 0x532898
mov dword [esp + 4], ebx
mov dword [esp], str.TclExecuteByteCode:_unrecognized_builtin_function_code__d
call fcn.00508428
jmp 0x536633
mov eax, dword [esi + 0xc]
test eax, eax
je 0x5387b8
mov eax, dword [eax + 4]
test eax, eax
je 0x5387b8
mov dword [esp], esi
call fcn.004dd138
jmp 0x535cb7
mov eax, dword [ebx + 4]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [eax + 0x30]
test eax, eax
je 0x535c03
mov ebx, eax
sub ebx, 0xc
je 0x535c03
test byte [eax - 0xc], 0x2b
jne 0x535c03
mov esi, dword [esp + 0x80]
sub esi, 4
mov edx, dword [esp + 0x80]
mov eax, dword [edx - 4]
mov edx, dword [eax]
dec edx
mov dword [eax], edx
test edx, edx
jle 0x539d4d
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x80]
mov dword [ecx - 4], edi
mov dword [esp + 0x80], esi
jmp 0x535ca3
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x538a89
mov esi, dword [eax + 4]
test esi, esi
je 0x538a89
mov dword [esp], ebx
call fcn.004dd138
jmp 0x532ee6
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov edx, dword [0x5e022c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov ebx, dword [esp + 0x80]
mov dword [ebx + 4], eax
mov dword [eax], 1
inc dword [esp + 0x7c]
mov ebp, esi
add ebx, 4
mov dword [esp + 0x80], ebx
jmp 0x5321ac
mov ebx, dword [esp + 0xf8]
test ebx, ebx
jne 0x538c3c
xor eax, eax
mov edx, dword [esp + 0x104]
test edx, edx
setne al
jmp 0x536d4e
xor eax, eax
mov esi, dword [ebx + 0x10]
test esi, esi
setne al
mov dword [esp + 0x104], eax
jmp 0x536d30
mov eax, dword [eax + 0x10]
add eax, 0x10
mov dword [esp + 0xfc], eax
mov edi, dword [esi]
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x104], eax
jmp 0x5341ac
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x538bdc
mov edi, dword [eax + 4]
test edi, edi
je 0x538bdc
mov dword [esp], ebp
call fcn.004dd138
jmp 0x533597
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx - 4]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e09e4
mov ebx, dword [esp + 0x7c]
cmp byte [ebx], 0x7d
je 0x539242
mov ebx, 2
jmp 0x53591f
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str._n_____reading_value_of_variable_to_increment_
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e70c4
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jg 0x5322f4
mov dword [esp], edi
call fcn.004dd138
jmp 0x5322f4
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.004e09e4
mov dword [esp + 0x80], ebx
mov ebx, 1
jmp 0x53591f
mov dword [esp], edi
call fcn.004dd138
mov eax, dword [esp + 0xf0]
jmp 0x535fc0
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004f3058
xor eax, eax
jmp 0x534b9e
mov eax, dword [eax + 4]
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [eax + 0x30]
test eax, eax
je 0x537f36
cmp eax, 0xc
je 0x537f36
test byte [eax - 0xc], 0x10
jne 0x534acb
mov ebx, dword [eax - 8]
test ebx, ebx
je 0x537f36
mov eax, 1
jmp 0x534b9e
mov dword [esp], esi
call fcn.004dd2a4
mov esi, eax
lea eax, [esp + 0x100]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x80]
mov eax, dword [edx - 4]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.00518be4
mov dword [esp + 0x90], eax
test eax, eax
je 0x53b59c
mov eax, dword [esi]
dec eax
mov dword [esi], eax
test eax, eax
jg 0x533198
mov eax, dword [esi + 0xc]
test eax, eax
je 0x539d5a
mov eax, dword [eax + 4]
test eax, eax
je 0x539d5a
mov dword [esp], esi
call fcn.004dd138
jmp 0x533198
mov esi, dword [ebx + 4]
test esi, esi
jne 0x532997
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x9c]
mov dword [eax + 0x10], edx
mov ecx, ebx
mov ebx, dword [esp + 0x7c]
mov dl, byte [ebx]
mov eax, dword [esp + 0x190]
call fcn.005313a4
jmp 0x532bc0
mov eax, dword [ecx + 4]
test eax, eax
jne 0x536328
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov ecx, dword [esp + 0xa0]
jmp 0x532bac
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x9c]
mov dword [edi + 0x10], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov edx, dword [esp + 0x190]
mov dword [esp], edx
call fcn.00550f84
mov esi, dword [ebx + 4]
test esi, esi
je 0x537234
mov eax, 1
mov dword [esp + 0x98], 1
jmp 0x53320d
mov dword [esp + 0x104], 0
mov dword [esp + 0xf8], 0
xor eax, eax
jmp 0x535301
dec eax
mov dword [ebx], eax
mov dword [esp], ebx
call fcn.004dd2a4
mov dword [esp + 0xf0], eax
inc dword [eax]
mov dword [edi + 4], eax
jmp 0x5360cf
mov eax, edx
neg eax
mov ebx, dword [esp + 0x80]
lea eax, [ebx + eax*4 + 4]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
mov dword [esp + 0x40], edx
call fcn.0051c0b0
mov dword [esp + 0x90], eax
mov edx, dword [esp + 0x40]
mov ebx, edx
jmp 0x5347b0
mov dword [esp], edi
mov dword [esp + 0x40], edx
call fcn.004dd2a4
mov edi, eax
mov dword [esp + 0xa0], 1
mov edx, dword [esp + 0x40]
jmp 0x534784
mov dword [esp + 0x80], esi
jmp 0x5322f4
lea ebx, [edx + 1]
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx]
mov dword [esp + 0x10], eax
lea eax, [edx*4]
sub ecx, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.0051c208
mov dword [esp + 0x90], eax
jmp 0x5347b0
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax], 0
mov edx, dword [0x5e022c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov edx, 1
jmp 0x535115
mov ebp, dword [esp + 0x70]
jmp 0x5322f4
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0xffffffff
mov dword [eax + 0xc], 0x5e01f0
mov edx, 1
mov dword [eax], edx
jmp 0x535340
cmp dword [edi + 0xc], 0x5e0284
jne 0x5352a8
lea eax, [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004e8c80
mov ebx, eax
lea esi, [esp + 0x104]
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004e8c80
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0xf8]
cmp edx, ecx
jle 0x538259
mov edx, ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_memcmp
jmp 0x5352ef
cmp dword [edi + 0xc], 0x5e02a4
jne 0x5352a8
mov dword [esp], ebx
call fcn.004ead80
mov dword [esp + 0xf8], eax
mov dword [esp], edi
call fcn.004ead80
mov esi, eax
mov dword [esp + 0x104], eax
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0xf8]
cmp eax, edx
jne 0x5382b4
cmp esi, dword [edi + 8]
je 0x53b604
mov dword [esp], edi
mov dword [esp + 0x40], edx
call fcn.004eae7c
mov edi, eax
mov dword [esp], ebx
call fcn.004eae7c
mov edx, dword [esp + 0x40]
cmp esi, edx
jle 0x5382d4
mov esi, edx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0050dad0
jmp 0x5352ef
cmp cl, 0x26
je 0x53869c
cmp cl, 0x27
jne 0x5376ff
test eax, eax
je 0x538328
mov eax, 5
add edx, eax
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x90], 0
jmp 0x536828
test eax, eax
je 0x538302
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 2]
shl eax, 0x18
movzx ecx, byte [ebx + 3]
shl ecx, 0x10
or eax, ecx
movzx ecx, byte [ebx + 5]
or eax, ecx
movzx ecx, byte [ebx + 4]
shl ecx, 8
or eax, ecx
jmp 0x538307
lea eax, [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004eaeb8
mov ebx, eax
lea edx, [esp + 0x104]
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.004eaeb8
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0050e1b8
jmp 0x533287
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x9c]
mov dword [edi + 0x10], eax
jmp 0x5358a6
test eax, eax
je 0x5383cb
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 2]
jmp 0x5379e9
test eax, eax
je 0x5383ba
mov eax, 2
jmp 0x5379e9
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + 4]
test eax, eax
je 0x5383f3
cmp eax, dword [0x5e022c]
je 0x5383f3
mov dword [esp], eax
call fcn.004ed958
mov eax, dword [esp + 0xbc]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050cc38
jmp 0x536be4
mov ebx, dword [esp + 0x7c]
xor eax, eax
cmp byte [ebx], 0x2e
sete al
mov edx, dword [esp + 0x7c]
inc edx
mov ebx, dword [esp + 0x7c]
mov cl, byte [ebx + 1]
cmp cl, 0x25
je 0x539144
ja 0x5367de
cmp cl, 0x24
jne 0x5353c4
test eax, eax
jne 0x538cbe
mov eax, 2
jmp 0x53681b
mov eax, dword [esp + 0x104]
cmp eax, 5
je 0x5384ac
mov ebx, dword [edi + 4]
test ebx, ebx
je 0x5330ef
cmp dword [edi], 1
jg 0x538488
cmp ebx, dword [0x5e022c]
je 0x53847c
mov dword [esp], ebx
call fcn.004ed958
mov dword [edi + 4], 0
jmp 0x5330ef
mov dword [edi + 4], 0
mov dword [esp], edi
call fcn.004dd2a4
mov dword [esp + 0xf0], eax
mov dword [edi + 4], ebx
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x532898
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
cmp byte [ebx], 0x3a
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
je 0x5375dd
mov eax, dword [esp + 0x100]
fld qword [eax]
fstp qword [esp + 4]
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.00531e7c
jmp 0x532bc0
mov dword [esp + 0xf8], 2
mov eax, dword [esp + 0x70]
add eax, 0x10
mov dword [esp + 0xfc], eax
jmp 0x5362e7
fld qword [edi + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x538ca1
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [edi + 0x10]
mov dword [esp + 0x100], edx
jmp 0x538457
lea esi, [esp + 0x160]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de4f0
mov dword [esp + 4], esi
mov dword [esp], esi
call fcn.0053d4b0
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.0053d174
cmp dword [ebx], 1
jle 0x538c8c
mov dword [esp], esi
call fcn.004de8b4
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
mov dword [esp + 0x90], 0
jmp 0x532898
mov dword [esp + 0x104], 1
lea eax, [ebx + 0x10]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x100]
mov esi, dword [eax]
cmp dword [ebx], 1
jle 0x538c46
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
not esi
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], 0x5e01f0
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x53859a
mov eax, dword [eax + 0x10]
add eax, 0x10
mov dword [esp + 0xfc], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x104], eax
jmp 0x533fc9
inc dword [edi]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x9c]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], 0x200
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov esi, dword [esp + 0x190]
mov dword [esp], esi
call fcn.004f35b0
mov dword [esp + 0xf0], eax
mov edx, dword [edi]
dec edx
mov dword [edi], edx
test edx, edx
jle 0x538c11
mov dword [esp + 0x98], 1
test eax, eax
jne 0x5347f3
jmp 0x5322f4
test eax, eax
jne 0x5386b1
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 2]
jmp 0x538307
test eax, eax
jne 0x5386a0
mov eax, 2
jmp 0x538307
lea eax, [esp + 0x104]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004e8c80
mov edi, eax
jmp 0x535055
test edx, edx
je 0x539be3
mov edx, dword [edx + 4]
test edx, edx
je 0x539be3
mov dword [esp], eax
call fcn.004dd138
jmp 0x53456b
lea esi, [esp + 0x104]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.004e8c80
jmp 0x535150
mov dword [esp + 0x104], 2
lea eax, [ebx + 0x10]
mov dword [esp + 0x100], eax
jmp 0x536767
mov dword [esp + 0xf8], 1
lea eax, [edi + 0x10]
mov dword [esp + 0xfc], eax
jmp 0x536499
mov dword [esp + 0x104], 2
lea eax, [esi + 0x10]
mov dword [esp + 0x100], eax
mov eax, 2
jmp 0x537c87
mov dword [esp + 0xf8], 2
lea eax, [edi + 0x10]
mov dword [esp + 0xfc], eax
jmp 0x536499
add dword [esp + 0x7c], 5
jmp 0x535a0f
mov edx, dword [esp + 0x80]
mov eax, dword [edx]
mov dword [edx], esi
inc dword [esi]
mov esi, edx
add esi, 4
mov dword [edx + 4], eax
mov edx, dword [eax]
test edx, edx
jg 0x5366b5
mov dword [esp], eax
call fcn.004dd138
mov dword [esp + 0x80], esi
jmp 0x5366bc
mov eax, dword [esi + 4]
test eax, eax
je 0x5387cf
cmp eax, dword [0x5e022c]
je 0x5387cf
mov dword [esp], eax
call fcn.004ed958
mov dword [esi + 8], 0xffffffff
mov dword [esp], esi
call fcn.0050cc38
jmp 0x535cb7
test esi, esi
jne 0x535000
lea eax, [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004e8c80
mov ebx, eax
lea ecx, [esp + 0x104]
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.004e8c80
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004fdb64
jmp 0x533287
mov dword [esp], eax
call fcn.004dd138
jmp 0x534933
mov dword [esp], edi
call fcn.004dd138
mov eax, dword [esp + 0x50]
jmp 0x53660e
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x538882
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x538882
mov dword [esp], edx
mov dword [esp + 0x50], eax
call ecx
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0x50]
mov dword [edx + 0xc], 0
mov ecx, dword [esp + 0x104]
add ecx, edi
inc ecx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x40], edx
call fcn.004ed8a4
mov edx, dword [esp + 0x40]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x104]
add edi, edx
mov dword [ecx + 8], edi
mov eax, dword [ecx + 4]
test eax, eax
je 0x53b8fc
add edx, eax
mov ebx, esi
jmp 0x537841
cmp al, 0x49
sete al
movzx eax, al
jmp 0x5353a0
xor eax, 1
jmp 0x5376db
add edi, 0xa
mov dword [esp + 0x7c], edi
mov dword [esp + 0x90], 0
jmp 0x53368e
mov dword [esp + 0xf8], 1
mov eax, ebx
add eax, 0x10
mov dword [esp + 0xfc], eax
jmp 0x5362e7
lea eax, [esp + 0x108]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004ddb18
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0xa0]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004ddb18
mov ebx, dword [esp + 0x7c]
mov bl, byte [ebx]
mov al, bl
sub eax, 0x35
cmp al, 0x2e
jbe 0x538c07
fldz
fxam
wait
fnstsw ax
and eax, 0x4500
cmp ax, 0x100
je 0x53c61a
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jle 0x539c20
fstp qword [esp + 0x50]
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
fld qword [esp + 0x50]
fstp qword [eax + 0x10]
mov dword [eax + 0xc], 0x5e0204
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x532afa
mov dword [esp], ebx
call fcn.004dd138
jmp 0x533929
mov eax, dword [esp + 0xf8]
lea esi, [esi + eax + 1]
mov dword [esp + 0x104], esi
mov ebx, 5
jmp 0x53285c
mov dword [esp + 0xf8], 2
lea eax, [ebx + 0x10]
mov dword [esp + 0xfc], eax
jmp 0x53520b
mov dword [esp + 0xf8], 1
mov eax, ecx
add eax, 0x10
mov dword [esp + 0xfc], eax
jmp 0x532964
mov dword [esp], edi
call fcn.004dd138
jmp 0x535e66
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e0b64
mov dword [esp + 0xf0], eax
jmp 0x5322f4
mov eax, dword [esp + 0xfc]
mov eax, dword [eax + esi*4]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00518c40
mov dword [esp + 0x98], 1
jmp 0x534085
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x98], 1
jmp 0x5322f4
mov eax, dword [ebx + 4]
test eax, eax
je 0x538aa0
cmp eax, dword [0x5e022c]
je 0x538aa0
mov dword [esp], eax
call fcn.004ed958
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050cc38
jmp 0x532ee6
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e0f44
mov edx, dword [esi]
mov eax, dword [edx + 4]
test eax, eax
je 0x53b910
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.__not_known_in_dictionary
mov dword [esp + 8], eax
mov dword [esp + 4], str.key__
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e0d44
mov dword [esp + 0x98], 1
jmp 0x5322f4
mov dword [esp + 0x104], 2
lea eax, [edi + 0x10]
mov dword [esp + 0x100], eax
jmp 0x53845c
mov dword [esp + 0x104], 1
lea eax, [edi + 0x10]
mov dword [esp + 0x100], eax
jmp 0x53845c
mov dword [esp + 0xf8], 2
mov eax, dword [esp + 0x70]
add eax, 0x10
mov dword [esp + 0xfc], eax
jmp 0x532964
mov dword [esp + 0xf8], 1
lea eax, [ebx + 0x10]
mov dword [esp + 0xfc], eax
jmp 0x53520b
lea ecx, [esp + 0xf8]
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.004dd5bc
mov edx, dword [esp + 0xf8]
jmp 0x534a4e
add eax, 0xa
mov dword [esp + 0x7c], eax
mov edx, dword [esp + 0x80]
mov ebx, dword [edx]
mov dword [esp + 0x90], 0
jmp 0x533840
mov dword [esp], edi
mov dword [esp + 0x50], eax
call fcn.004dd138
mov eax, dword [esp + 0x50]
jmp 0x5338b9
mov eax, dword [ebp + 4]
test eax, eax
je 0x538bf3
cmp eax, dword [0x5e022c]
je 0x538bf3
mov dword [esp], eax
call fcn.004ed958
mov dword [ebp + 8], 0xffffffff
mov dword [esp], ebp
call fcn.0050cc38
jmp 0x533597
movzx eax, al
jmp dword [eax*4 + 0x619280]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x53b5d2
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x53b5d2
mov dword [esp], edi
call fcn.004dd138
mov eax, dword [esp + 0xf0]
jmp 0x538683
mov eax, 1
jmp 0x536d4e
mov eax, dword [ebx + 4]
test eax, eax
je 0x538c64
cmp eax, dword [0x5e022c]
je 0x538c5d
mov dword [esp], eax
call fcn.004ed958
mov dword [ebx + 4], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x538c77
mov eax, dword [eax + 4]
test eax, eax
je 0x538c77
mov dword [esp], ebx
call eax
not esi
mov dword [ebx + 0x10], esi
mov dword [ebx + 0xc], 0x5e01f0
inc dword [esp + 0x7c]
jmp 0x535594
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.004de5a0
inc dword [esp + 0x7c]
jmp 0x535594
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x538532
test eax, eax
jne 0x538446
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 2]
jmp 0x53681b
mov edx, dword [eax + 0xc]
test edx, edx
je 0x53b559
mov edx, dword [edx + 4]
test edx, edx
je 0x53b559
mov dword [esp], eax
call fcn.004dd138
jmp 0x5340bc
or dword [ebx + 0x100], 4
jmp 0x532fc9
mov edx, dword [eax + 0xc]
test edx, edx
je 0x539df3
mov edx, dword [edx + 4]
test edx, edx
je 0x539df3
mov dword [esp], eax
call fcn.004dd138
jmp 0x5347e9
cmp edx, 2
je 0x5396c5
cmp eax, 2
je 0x5396c5
mov eax, dword [esp + 0xfc]
mov edx, dword [eax]
mov eax, dword [esp + 0x100]
mov ebx, dword [eax]
mov esi, dword [esp + 0x7c]
mov al, byte [esi]
cmp al, 0x2b
je 0x53c4ea
cmp al, 0x2c
je 0x53c4e3
cmp al, 0x2a
je 0x53c4dc
xor ebx, ebx
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jg 0x53b105
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 4]
test eax, eax
je 0x538d9f
cmp eax, dword [0x5e022c]
je 0x538d94
mov dword [esp], eax
call fcn.004ed958
mov ecx, dword [esp + 0x70]
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x538db6
mov eax, dword [eax + 4]
test eax, eax
je 0x538db6
mov dword [esp], ecx
call eax
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0xc], 0x5e01f0
inc dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
mov dword [esp + 0x90], 0
jmp 0x533840
dec edi
je 0x53c4f1
lea ebx, [esp + 0x130]
mov dword [esp + 0xa8], ebx
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004de4f0
lea ebx, [esp + 0x140]
mov dword [esp + 0x90], ebx
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004de4f0
lea esi, [esp + 0x150]
mov dword [esp], esi
call fcn.0053cdbc
mov ebx, dword [esp + 0x7c]
mov bl, byte [ebx]
mov al, bl
sub eax, 0x35
cmp al, 0x2e
ja case.0x538e9c.332
movzx eax, al
jmp dword [eax*4 + 0x61933c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.004de12c
inc dword [esp + 0x7c]
jmp 0x535594
cmp eax, 1
je 0x53c247
xor ecx, ecx
mov edx, dword [esp + 0xf8]
cmp edx, 1
je 0x53c1fa
cmp edx, 2
jne 0x53c0cb
mov edx, dword [esp + 0xfc]
mov esi, dword [edx]
mov edi, dword [edx + 4]
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
cmp eax, 3
je 0x53c053
lea eax, [esp + 0x120]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de244
mov ebx, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 0x3c], ecx
call fcn.005ccf54
mov esi, eax
mov edi, edx
test edx, edx
mov ecx, dword [esp + 0x3c]
js 0x53c409
mov eax, edx
or eax, esi
je 0x53c35f
mov edx, ecx
imul edx, esi
mov eax, edi
imul eax, ebx
lea edi, [edx + eax]
mov eax, ebx
mul esi
mov dword [esp + 0xa8], eax
add edx, edi
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
sub eax, dword [esp + 0xa8]
sbb edx, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004de1f0
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x532afa
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x5373a9
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x537339
mov dword [esp], edi
call fcn.004dd9a8
jmp 0x536fd8
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x53a27b
mov eax, dword [eax + 4]
test eax, eax
je 0x53a27b
mov dword [esp], ebx
call fcn.004dd138
mov ebx, 1
jmp 0x5347b0
mov dword [esp + 0xf8], 5
mov eax, 5
jmp 0x5373e1
mov dword [esp + 0xf8], 5
mov eax, 5
jmp 0x5372b3
mov dword [esp + 0xf8], 5
mov eax, 5
jmp 0x5372eb
mov dword [esp + 0xf8], 5
mov eax, 5
jmp 0x537371
test eax, eax
jne 0x5367f8
mov eax, 5
jmp 0x53681b
fld qword [ebx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x53a2c7
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [ebx + 0x10]
mov dword [esp + 0x100], edx
jmp 0x5329d7
mov dword [esp + 0x104], 2
lea eax, [ebx + 0x10]
mov dword [esp + 0x100], eax
mov eax, 2
jmp 0x5329e9
mov dword [esp + 0x104], 1
lea eax, [ebx + 0x10]
mov dword [esp + 0x100], eax
mov eax, 1
jmp 0x5329e9
fld qword [ebx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x53a86e
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [ebx + 0x10]
mov dword [esp + 0x100], edx
jmp 0x53650c
mov dword [esp + 0x104], 2
lea eax, [ebx + 0x10]
mov dword [esp + 0x100], eax
mov eax, 2
jmp 0x53651e
mov dword [esp + 0x104], 1
lea eax, [ebx + 0x10]
mov dword [esp + 0x100], eax
mov eax, 1
jmp 0x53651e
mov ebx, dword [esp + 0x190]
and dword [ebx + 0x100], 0xfffffffb
mov ebx, 2
jmp 0x53591f
fld qword [edi + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x53a68f
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [edi + 0x10]
mov dword [esp + 0x100], edx
cmp eax, 5
je 0x53840e
mov edx, dword [esp + 0xf8]
cmp edx, 2
je 0x53a65e
jg 0x5392fe
dec edx
jne 0x5392da
jmp 0x53a521
fstp st(0)
jmp 0x5392da
fstp st(0)
xor edi, edi
mov edx, dword [esp + 0x7c]
mov dl, byte [edx]
mov al, dl
sub eax, 0x2d
cmp al, 5
jbe 0x5392f4
xor eax, eax
jmp 0x53841a
movzx eax, al
jmp dword [eax*4 + 0x6193f8]
cmp edx, 3
je 0x53a9f7
cmp edx, 4
jne 0x5392da
mov edx, dword [esp + 0xfc]
fld qword [edx]
cmp eax, 2
je 0x53a8e4
jg 0x53a8c4
dec eax
jne 0x5392d4
mov eax, dword [esp + 0x100]
fild dword [eax]
jmp 0x53933c
fxch st(1)
jmp 0x53933c
fxch st(1)
jmp 0x53933c
fxch st(1)
fucom st(1)
fnstsw ax
test ah, 0x45
je 0x53a8ae
fxch st(1)
fucompp
fnstsw ax
xor edx, edx
test ah, 0x45
sete dl
mov edi, edx
jmp 0x5392dc
mov dword [esp + 0x104], 2
lea eax, [edi + 0x10]
mov dword [esp + 0x100], eax
mov eax, 2
jmp 0x5392ba
mov dword [esp + 0x104], 1
lea eax, [edi + 0x10]
mov dword [esp + 0x100], eax
mov eax, 1
jmp 0x5392ba
mov dword [esp], esi
call fcn.004dd138
jmp 0x536126
mov dword [esp + 0x104], 2
lea eax, [ebx + 0x10]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x100]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0xa0]
cdq
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
add eax, dword [esp + 0x30]
adc edx, dword [esp + 0x34]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
xor edx, ecx
js 0x53a3d2
mov eax, dword [ebx]
cmp eax, 1
jle 0x53a3ae
dec eax
mov dword [ebx], eax
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.004de1f0
mov dword [esp + 0xf0], eax
inc dword [eax]
mov dword [edi + 4], eax
jmp 0x536135
mov dword [esp + 0x104], 1
lea eax, [ebx + 0x10]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x100]
mov eax, dword [eax]
mov esi, dword [esp + 0xa0]
add esi, eax
mov edx, esi
xor edx, eax
js 0x53a40e
mov eax, dword [ebx]
cmp eax, 1
jg 0x5394b0
mov dword [esp + 0xf0], ebx
mov eax, dword [ebx + 4]
test eax, eax
je 0x53948e
cmp eax, dword [0x5e022c]
je 0x539487
mov dword [esp], eax
call fcn.004ed958
mov dword [ebx + 4], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x5394a1
mov eax, dword [eax + 4]
test eax, eax
je 0x5394a1
mov dword [esp], ebx
call eax
mov dword [ebx + 0x10], esi
mov dword [ebx + 0xc], 0x5e01f0
jmp 0x536135
dec eax
mov dword [ebx], eax
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], 0x5e01f0
mov dword [eax], 1
mov dword [edi + 4], eax
jmp 0x536135
mov eax, dword [ebx + 4]
test eax, eax
jne 0x536073
jmp 0x5360bd
fld qword [ebx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x53a44d
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [ebx + 0x10]
mov dword [esp + 0x100], edx
jmp 0x5360ab
lea ecx, [ecx + eax + 1]
test ecx, ecx
jns 0x536e2c
mov ecx, 0xffffffff
jmp 0x536e2c
lea ebx, [edx + eax + 1]
test ebx, ebx
jns 0x536e6b
mov ebx, 0xffffffff
jmp 0x536e6b
lea eax, [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004dd5bc
mov ebx, eax
jmp 0x535372
mov dword [esp], edi
call fcn.004dd368
mov edx, eax
jmp 0x53500b
mov dword [esp], ebx
mov dword [esp + 0x40], edx
call fcn.004dd368
mov edx, dword [esp + 0x40]
jmp 0x535016
mov dword [esp], edx
call fcn.004dd368
jmp 0x533e84
lea edx, [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004dd5bc
mov edi, eax
jmp 0x5349c4
lea edi, [esp + 0x104]
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004dd5bc
mov edx, dword [esp + 0x104]
jmp 0x535387
lea eax, [esp + 0x104]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004dd5bc
mov edx, dword [esp + 0x104]
jmp 0x5352d2
lea eax, [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004dd5bc
mov esi, eax
jmp 0x5352bd
call fcn.0050cb10
mov dword [esi + 4], eax
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0xffffffff
mov dword [eax + 0xc], 0x5e01f0
mov dword [eax], 1
jmp 0x5325a9
mov dword [esp], str.mis_issued_dictDone_
call fcn.00508428
jmp 0x534306
mov esi, dword [esp + 0x7c]
movzx ebx, byte [esi + 2]
shl ebx, 0x10
movzx eax, byte [esi + 1]
shl eax, 0x18
or ebx, eax
movzx eax, byte [esi + 3]
shl eax, 8
or ebx, eax
movzx eax, byte [esi + 4]
or ebx, eax
mov edi, dword [esp + 0x190]
mov dword [esp], edi
call fcn.004e0b64
mov dword [esp + 0xf0], eax
call fcn.0050cb10
mov edx, dword [0x5e022c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax], 1
mov dword [edi + 0x1e4], eax
add esi, ebx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x98], 1
jmp 0x5327f6
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0xc]
cmp eax, 0x5e01dc
je 0x53a262
cmp eax, 0x5e01f0
je 0x53a243
lea eax, [esp + 0x118]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004de244
mov eax, dword [ebx + 0xc]
cmp eax, 0x5e01dc
je 0x53a22a
cmp eax, 0x5e01f0
je 0x53a20f
lea eax, [esp + 0x120]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de244
mov ebx, dword [esp + 0x7c]
mov al, byte [ebx]
cmp al, 0x2b
je 0x53a1e0
cmp al, 0x2c
je 0x53a1b1
cmp al, 0x2a
je 0x53a182
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0xc8]
mov esi, dword [esp + 0xcc]
cmp dword [ecx], 1
jle 0x53a165
mov dword [esp], ebx
mov dword [esp + 4], esi
call fcn.004de1f0
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x532afa
mov dword [esp], edi
call fcn.004dd138
mov dword [esp + 0x80], esi
jmp 0x5366bc
mov dword [esp], eax
call fcn.004dd138
jmp 0x5366a8
call sub.msvcrt.dll_strcmp
test eax, eax
setne al
movzx eax, al
jmp 0x5353a0
lea ecx, [esp + 0x104]
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.004dd5bc
mov edx, dword [esp + 0x104]
jmp 0x5377d8
lea ebx, [esp + 0x160]
mov dword [esp], ebx
call fcn.0053cdbc
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov edi, dword [esp + 0x90]
mov dword [esp + 4], edi
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
call fcn.0058a040
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x539866
mov ecx, dword [esp + 0x148]
cmp dword [esp + 0x168], ecx
je 0x539866
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.0053d174
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00589f90
mov dword [esp], ebx
call fcn.005249ec
mov ebx, dword [esp + 0xa8]
mov dword [esp], ebx
call fcn.005249ec
mov edi, dword [esp + 0x90]
mov dword [esp], edi
call fcn.005249ec
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jle 0x53ac7d
mov dword [esp], esi
call fcn.004de8b4
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x532afa
fld qword [ecx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x53b587
mov dword [esp + 0x104], 4
mov edx, 4
mov eax, dword [esp + 0xa0]
add eax, 0x10
mov dword [esp + 0x100], eax
jmp 0x536376
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], 0x200
mov eax, dword [esp + 0x70]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004f35b0
mov dword [esp + 0xf0], eax
test eax, eax
je 0x53ac96
mov dword [esp + 0x98], 1
jmp 0x5340c3
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x539ca5
mov eax, dword [eax + 4]
test eax, eax
je 0x539ca5
mov dword [esp], ebx
call fcn.004dd138
jmp 0x537b8b
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + 4]
test eax, eax
je 0x5399a9
cmp eax, dword [0x5e022c]
je 0x5399a9
mov dword [esp], eax
call fcn.004ed958
mov eax, dword [esp + 0xbc]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050cc38
mov dword [esp + 0x98], 1
jmp 0x5322f4
mov dword [esp + 0x104], 1
mov eax, ecx
add eax, 0x10
mov dword [esp + 0x100], eax
mov edx, 1
jmp 0x53637f
mov dword [esp + 0x104], 2
mov eax, dword [esp + 0xa0]
add eax, 0x10
mov dword [esp + 0x100], eax
mov edx, 2
jmp 0x53637f
cmp edi, 3
je 0x538e28
cmp edx, 3
je 0x538e28
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0xc]
cmp eax, 0x5e01dc
je 0x53c03a
cmp eax, 0x5e01f0
je 0x53c01b
lea eax, [esp + 0x118]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004de244
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 0xc]
cmp eax, 0x5e01dc
je 0x53c002
cmp eax, 0x5e01f0
je 0x53bfe0
lea eax, [esp + 0x120]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0xa0]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004de244
mov ebx, dword [esp + 0x7c]
mov al, byte [ebx]
cmp al, 0x36
je 0x53bef2
cmp al, 0x38
je 0x53be52
cmp al, 0x35
je 0x53bdea
xor ecx, ecx
xor ebx, ebx
mov edx, dword [esp + 0x70]
cmp dword [edx], 1
jle 0x53bdcd
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.004de1f0
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x532afa
mov dword [esp + 0x98], 1
jmp 0x533f58
call fcn.0050cb10
mov edi, eax
mov dword [eax], 0
mov eax, dword [0x5e022c]
mov dword [edi + 4], eax
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [esp + 0x98], 1
mov dword [esp + 0xa0], 1
mov edx, dword [esp + 0x40]
jmp 0x534784
mov eax, dword [ebx + 4]
test eax, eax
jne 0x5351c2
jmp 0x535287
call fcn.0050cb10
mov esi, eax
mov dword [eax], 0
mov eax, dword [0x5e022c]
mov dword [esi + 4], eax
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esp + 0x98], 1
jmp 0x537f82
mov eax, dword [eax + 4]
test eax, eax
je 0x539bf8
cmp dword [esp + 0x70], eax
je 0x539bf8
mov dword [esp], eax
call fcn.004ed958
mov eax, dword [esi + 4]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050cc38
jmp 0x53456b
mov eax, dword [ebx + 4]
test eax, eax
jne 0x5364cc
jmp 0x532b99
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 4]
test eax, eax
je 0x539c4e
cmp eax, dword [0x5e022c]
je 0x539c43
mov dword [esp], eax
fstp qword [esp + 0x50]
call fcn.004ed958
fld qword [esp + 0x50]
mov ecx, dword [esp + 0x70]
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x539c6d
mov eax, dword [eax + 4]
test eax, eax
je 0x539c6d
mov dword [esp], ecx
fstp qword [esp + 0x50]
call eax
fld qword [esp + 0x50]
mov ecx, dword [esp + 0x70]
fstp qword [ecx + 0x10]
mov dword [ecx + 0xc], 0x5e0204
inc dword [esp + 0x7c]
jmp 0x538dc8
mov dword [esp + 4], 0x7fffffff
mov dword [esp], str.max_size_for_a_Tcl_value___d_bytes__exceeded
mov dword [esp + 0x50], eax
call fcn.00508428
mov eax, dword [esp + 0x50]
jmp 0x5377e0
mov eax, dword [ebx + 4]
test eax, eax
je 0x539cbc
cmp eax, dword [0x5e022c]
je 0x539cbc
mov dword [esp], eax
call fcn.004ed958
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050cc38
jmp 0x537b8b
xor ecx, ecx
jmp 0x536e8b
call fcn.004ddd50
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.00518980
mov ebx, 1
jmp 0x5347bf
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0xa8]
mov dword [esp], ebx
call fcn.0058a998
jmp case.0x538e9c.332
mov dword [esp + 8], esi
mov edi, dword [esp + 0x90]
mov dword [esp + 4], edi
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
call fcn.00589f90
jmp case.0x538e9c.332
mov dword [esp], eax
call fcn.004dd138
jmp 0x537d76
mov eax, dword [esi + 4]
test eax, eax
je 0x539d71
cmp eax, dword [0x5e022c]
je 0x539d71
mov dword [esp], eax
call fcn.004ed958
mov dword [esi + 8], 0xffffffff
mov dword [esp], esi
call fcn.0050cc38
jmp 0x533198
mov ebx, dword [esp + 0x140]
test ebx, ebx
jne 0x5397f6
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
call fcn.005249ec
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
call fcn.005249ec
mov dword [esp], esi
call fcn.005249ec
jmp 0x532287
mov dword [esp + 8], esi
mov edi, dword [esp + 0x90]
mov dword [esp + 4], edi
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
call fcn.00589c7c
jmp case.0x538e9c.332
mov dword [esp], str.mis_issued_dictFirst_
call fcn.00508428
jmp 0x53456b
mov edx, dword [eax + 4]
test edx, edx
je 0x539e12
cmp edx, dword [0x5e022c]
je 0x539e12
mov dword [esp], edx
mov dword [esp + 0x50], eax
call fcn.004ed958
mov eax, dword [esp + 0x50]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050cc38
jmp 0x5347e9
mov eax, 2
jmp 0x536cc4
cmp dword [esp + 0x140], 1
jle 0x53a140
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.exponent_too_large
call fcn.004eaca8
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e09e4
mov edi, dword [esp + 0xa8]
mov dword [esp], edi
call fcn.005249ec
mov edx, dword [esp + 0x90]
mov dword [esp], edx
call fcn.005249ec
mov dword [esp], esi
call fcn.005249ec
jmp 0x5322f4
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 6]
jmp 0x536cc4
mov eax, dword [esp + 0x100]
test eax, eax
je 0x53a05e
cmp dword [eax], 1
jle 0x53a008
mov dword [esp], eax
call fcn.004dd2a4
mov dword [esp + 0x100], eax
mov edx, dword [esp + 0x80]
mov ecx, dword [edx]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.004df5b0
mov dword [esp + 0x90], eax
test eax, eax
mov eax, dword [esp + 0x100]
je 0x534689
mov ecx, dword [eax]
dec ecx
mov dword [eax], ecx
test ecx, ecx
jle 0x53a0de
mov eax, dword [esp + 0x70]
test eax, eax
je 0x533198
jmp 0x537fbd
mov eax, dword [esp + 0x100]
test eax, eax
je 0x53a0f9
cmp dword [eax], 1
jle 0x539f3e
mov dword [esp], eax
call fcn.004dd2a4
mov dword [esp + 0x100], eax
mov edx, dword [esp + 0x80]
mov ecx, dword [edx]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004eb710
mov eax, dword [esp + 0x100]
jmp 0x534689
inc dword [esi]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x9c]
mov dword [ecx + 0x10], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], 0x200
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004f35b0
mov dword [esp + 0xf0], eax
mov ecx, dword [esi]
dec ecx
mov dword [esi], ecx
test ecx, ecx
jle 0x53a03c
mov dword [esp + 0x98], 1
test eax, eax
jne 0x5346dc
jmp 0x5322f4
add ebx, 6
mov dword [esp + 0x7c], ebx
jmp 0x53830d
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x53a081
mov eax, dword [eax + 4]
test eax, eax
je 0x53a081
mov dword [esp], ebx
call fcn.004dd138
jmp 0x5346d2
mov edx, dword [esp + 0x80]
mov ecx, dword [edx]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.004df5b0
mov dword [esp + 0x90], eax
test eax, eax
jne 0x539f0a
jmp 0x534682
mov eax, dword [esi + 0xc]
test eax, eax
je 0x53a0ac
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x53a0ac
mov dword [esp], esi
call fcn.004dd138
mov eax, dword [esp + 0xf0]
jmp 0x539fbd
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
mov dword [esp], 1
call fcn.004df3d8
mov dword [esp + 0x100], eax
jmp 0x534689
mov eax, dword [ebx + 4]
test eax, eax
je 0x53a098
cmp eax, dword [0x5e022c]
je 0x53a098
mov dword [esp], eax
call fcn.004ed958
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050cc38
jmp 0x5346d2
mov eax, dword [esi + 4]
test eax, eax
je 0x53a0c3
cmp eax, dword [0x5e022c]
je 0x53a0c3
mov dword [esp], eax
call fcn.004ed958
mov dword [esi + 8], 0xffffffff
mov dword [esp], esi
call fcn.0050cc38
mov eax, dword [esp + 0xf0]
jmp 0x539fbd
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x53a10e
mov edx, dword [ecx + 4]
test edx, edx
je 0x53a10e
mov dword [esp], eax
call fcn.004dd138
jmp 0x539f0a
mov edx, dword [esp + 0x80]
mov eax, dword [edx]
mov dword [esp + 0x100], eax
jmp 0x534689
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x53a12c
cmp ecx, dword [0x5e022c]
je 0x53a12c
mov dword [esp], ecx
call fcn.004ed958
mov eax, dword [esp + 0x100]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050cc38
jmp 0x539f0a
mov dword [esp + 8], esi
mov eax, dword [esp + 0x14c]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
call fcn.0058b62c
jmp case.0x538e9c.332
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004de12c
inc dword [esp + 0x7c]
jmp 0x538dc8
mov eax, dword [esp + 0x120]
or eax, dword [esp + 0x118]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x124]
or eax, dword [esp + 0x11c]
mov dword [esp + 0xcc], eax
jmp 0x539769
mov eax, dword [esp + 0x120]
and eax, dword [esp + 0x118]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x124]
and eax, dword [esp + 0x11c]
mov dword [esp + 0xcc], eax
jmp 0x539769
mov eax, dword [esp + 0x120]
xor eax, dword [esp + 0x118]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x124]
xor eax, dword [esp + 0x11c]
mov dword [esp + 0xcc], eax
jmp 0x539769
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x120], eax
mov ebx, eax
sar ebx, 0x1f
mov dword [esp + 0x124], ebx
jmp 0x539735
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
jmp 0x539735
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x118], eax
mov esi, eax
sar esi, 0x1f
mov dword [esp + 0x11c], esi
jmp 0x539701
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], edx
jmp 0x539701
mov eax, dword [ebx + 4]
test eax, eax
je 0x53a292
cmp eax, dword [0x5e022c]
je 0x53a292
mov dword [esp], eax
call fcn.004ed958
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050cc38
mov ebx, 1
jmp 0x5347b0
mov eax, dword [esp + 0x104]
jmp 0x5392b1
mov edx, dword [edi + 4]
test edx, edx
jne 0x535246
jmp case.0x5324db.75
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x53917f
mov dword [esp + 4], 0
mov dword [esp], ebx
mov dword [esp + 0x50], eax
call fcn.004f3058
mov ecx, dword [esp + 0xfc]
mov esi, dword [ecx]
mov eax, dword [esp + 0x50]
jmp 0x5333ce
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004de5a0
inc dword [esp + 0x7c]
jmp 0x538dc8
cmp ecx, 1
je 0x53a4d9
cmp ecx, 2
je 0x53a4c4
mov dword [esp + 4], edx
mov dword [esp], edx
mov dword [esp + 0x40], edx
call fcn.0053d4b0
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], edx
call fcn.0053d174
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0053d4b0
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0053d174
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058b2f8
mov dword [esp + 4], ebx
mov dword [esp], ebx
call fcn.0053d4b0
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.0053d174
jmp 0x532ac1
mov dword [esp + 0xf0], ebx
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp], ebx
call fcn.004de12c
jmp 0x536135
mov edx, dword [esp + 0xac]
xor edx, dword [esp + 0x34]
jns 0x5360bd
jmp 0x5393fe
mov eax, dword [esp + 0x104]
jmp 0x5359b2
mov ebx, dword [esp + 0x190]
mov ecx, dword [ebx + 0x218]
test ecx, ecx
je 0x5323ab
jmp 0x532d74
mov ecx, dword [esp + 0xa0]
xor ecx, eax
js 0x539462
mov dword [esp + 0x70], eax
mov esi, eax
sar esi, 0x1f
mov dword [esp + 0x74], esi
mov eax, dword [ebx]
cmp eax, 1
jle 0x53a462
dec eax
mov dword [ebx], eax
mov eax, dword [esp + 0xa0]
cdq
mov ecx, eax
mov ebx, edx
add ecx, dword [esp + 0x70]
adc ebx, dword [esp + 0x74]
jmp 0x539414
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x539519
mov dword [esp + 0xf0], ebx
mov eax, dword [ebx + 4]
test eax, eax
je 0x53a487
cmp eax, dword [0x5e022c]
je 0x53a480
mov dword [esp], eax
call fcn.004ed958
mov dword [ebx + 4], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x53a49a
mov eax, dword [eax + 4]
test eax, eax
je 0x53a49a
mov dword [esp], ebx
call eax
mov edx, dword [esp + 0xa0]
mov ecx, edx
sar ecx, 0x1f
mov esi, edx
mov edi, ecx
add esi, dword [esp + 0x70]
adc edi, dword [esp + 0x74]
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], edi
mov dword [ebx + 0xc], 0x5e01dc
jmp 0x536135
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.0058b968
jmp 0x532ac1
mov dword [esp + 4], edi
mov dword [esp], edi
mov dword [esp + 0x40], edx
call fcn.0053d4b0
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0053d174
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058bb50
mov dword [esp + 8], ebx
mov dword [esp + 4], ebx
mov dword [esp], edi
jmp 0x53a384
mov edx, dword [esp + 0xfc]
mov edx, dword [edx]
cmp eax, 2
je 0x53a599
jg 0x53a56d
dec eax
jne 0x5392da
mov eax, dword [esp + 0x100]
cmp edx, dword [eax]
jl 0x53a8ba
setg al
movzx eax, al
mov edi, eax
jmp 0x5392dc
cmp eax, 3
je 0x53a5d6
cmp eax, 4
jne 0x5392da
mov eax, dword [esp + 0x100]
fld qword [eax]
mov dword [esp + 0xe8], edx
fild dword [esp + 0xe8]
fxch st(1)
jmp 0x53933c
mov eax, dword [esp + 0x100]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ecx, edx
mov ebx, edx
sar ebx, 0x1f
cmp ebx, edi
jl 0x53a8ba
jg 0x53a5be
cmp ecx, esi
jb 0x53a8ba
mov eax, 1
cmp ebx, edi
jg 0x53a5cf
jl 0x53a5cd
cmp ecx, esi
ja 0x53a5cf
xor eax, eax
mov edi, eax
jmp 0x5392dc
lea ebx, [esp + 0x160]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004de4f0
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0053d480
xor edx, edx
inc eax
sete dl
mov edi, edx
lea edi, [edi + edi - 1]
mov dword [esp], ebx
call fcn.005249ec
jmp 0x5392dc
xor eax, eax
dec edi
setne al
jmp 0x53841a
xor eax, eax
dec edi
sete al
jmp 0x53841a
xor eax, eax
inc edi
sete al
jmp 0x53841a
xor eax, eax
test edi, edi
setne al
jmp 0x53841a
xor eax, eax
test edi, edi
sete al
jmp 0x53841a
xor eax, eax
inc edi
setne al
jmp 0x53841a
mov edx, dword [esp + 0xfc]
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
cmp eax, 2
je 0x53a7ce
jg 0x53a6a4
dec eax
jne 0x5392da
mov eax, dword [esp + 0x100]
mov esi, dword [eax]
mov edi, esi
sar edi, 0x1f
jmp 0x53a5ac
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x5392a7
cmp eax, 3
je 0x53a827
cmp eax, 4
jne 0x5392da
mov eax, dword [esp + 0x100]
fld qword [eax]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], ebx
fild qword [esp + 0xe0]
fnstcw word [esp + 0xee]
mov ax, word [esp + 0xee]
mov ah, 0xc
mov word [esp + 0xec], ax
fld st(0)
fldcw word [esp + 0xec]
fistp qword [esp + 0xe0]
fldcw word [esp + 0xee]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0xe4]
mov eax, edi
xor eax, ebx
xor esi, ecx
or eax, esi
je 0x539332
fxch st(1)
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
fst qword [esp]
mov dword [esp + 0x3c], ecx
fstp qword [esp + 0x50]
fstp qword [esp + 0x40]
call sub.msvcrt.dll_modf
fldz
fxch st(1)
fucompp
fnstsw ax
and ah, 0x45
xor ah, 0x40
mov ecx, dword [esp + 0x3c]
fld qword [esp + 0x50]
fld qword [esp + 0x40]
jne 0x539336
fstp st(0)
fld dword [0x619ad8]
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x53a817
fld dword [0x619adc]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x53a8b4
fnstcw word [esp + 0xee]
mov ax, word [esp + 0xee]
mov ah, 0xc
mov word [esp + 0xec], ax
fldcw word [esp + 0xec]
fistp qword [esp + 0xe0]
fldcw word [esp + 0xee]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0xe4]
jmp 0x53a5ac
mov eax, dword [esp + 0x100]
mov esi, dword [eax]
mov edi, dword [eax + 4]
jmp 0x53a5ac
fld qword [0x619ac8]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x53a805
fld qword [0x619ad0]
fucomp st(1)
fnstsw ax
test ah, 0x45
jne 0x53aa51
fldz
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
je 0x53a81d
jmp 0x53a8ba
fstp st(0)
jmp 0x53a81d
fstp st(0)
mov edi, 1
jmp 0x5392dc
lea ebx, [esp + 0x160]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004de4f0
jmp 0x53a846
fstp st(0)
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0053d480
inc eax
sete al
movzx eax, al
lea edi, [eax + eax - 1]
mov dword [esp], ebx
call fcn.005249ec
jmp 0x5392dc
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x5391f5
mov eax, dword [edi + 4]
test eax, eax
je 0x53a89a
cmp eax, dword [0x5e022c]
je 0x53a89a
mov dword [esp], eax
call fcn.004ed958
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050cc38
jmp 0x533198
fstp st(0)
fstp st(0)
jmp 0x53a8ba
fstp st(0)
jmp 0x53a8ba
fstp st(0)
mov edi, 0xffffffff
jmp 0x5392dc
cmp eax, 3
je 0x53a7df
cmp eax, 4
jne 0x5392d8
mov eax, dword [esp + 0x100]
fld qword [eax]
jmp 0x53933c
mov eax, dword [esp + 0x100]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], edi
fild qword [esp + 0xe0]
fnstcw word [esp + 0xee]
mov ax, word [esp + 0xee]
mov ah, 0xc
mov word [esp + 0xec], ax
fld st(0)
fldcw word [esp + 0xec]
fistp qword [esp + 0xe0]
fldcw word [esp + 0xee]
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
xor edx, edi
xor eax, esi
or edx, eax
je 0x53933c
fxch st(1)
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
fst qword [esp]
fxch st(1)
fstp qword [esp + 0x50]
fstp qword [esp + 0x40]
call sub.msvcrt.dll_modf
fldz
fxch st(1)
fucompp
fnstsw ax
and ah, 0x45
xor ah, 0x40
fld qword [esp + 0x50]
fld qword [esp + 0x40]
jne 0x53933a
fstp st(1)
fld dword [0x619ad8]
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x53a8b8
fld dword [0x619adc]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x53a81b
fnstcw word [esp + 0xee]
mov ax, word [esp + 0xee]
mov ah, 0xc
mov word [esp + 0xec], ax
fldcw word [esp + 0xec]
fistp qword [esp + 0xe0]
fldcw word [esp + 0xee]
mov ecx, dword [esp + 0xe0]
mov ebx, dword [esp + 0xe4]
jmp 0x53a5ac
lea esi, [esp + 0x150]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de4f0
mov eax, dword [esp + 0x104]
cmp eax, 3
je 0x53abfd
jg 0x53aaf0
dec eax
jge 0x53aa32
jmp 0x5392da
fstp st(0)
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.0053d480
mov edi, eax
mov dword [esp], esi
call fcn.005249ec
jmp 0x5392dc
lea ebx, [esp + 0x160]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0
fstp qword [esp + 0x40]
call fcn.004de4f0
fld qword [0x619ae0]
fld qword [esp + 0x40]
fxch st(1)
fucomp st(1)
fnstsw ax
test ah, 0x45
jne 0x53aa9c
fld dword [0x619ae8]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x53a844
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
fst qword [esp]
fstp qword [esp + 0x40]
call sub.msvcrt.dll_modf
fldz
fxch st(1)
fucompp
fnstsw ax
and ah, 0x45
cmp ah, 0x40
fld qword [esp + 0x40]
je 0x53ac1a
fstp st(0)
mov dword [esp], ebx
call fcn.005275ac
mov dword [esp], ebx
fstp qword [esp + 0x50]
call fcn.005249ec
fld qword [esp + 0x50]
fld qword [esp + 0x40]
fxch st(1)
jmp 0x53933c
cmp eax, 4
jne 0x5392da
mov eax, dword [esp + 0x100]
fld qword [eax]
fld qword [0x619ac8]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x53ab24
fld qword [0x619ad0]
fucomp st(1)
fnstsw ax
test ah, 0x45
jne 0x53ab3f
fldz
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
jne 0x53abb5
mov edi, 0xffffffff
jmp 0x53aa44
fld qword [0x619ae0]
fucomp st(1)
fnstsw ax
test ah, 0x45
jne 0x53ab65
fld dword [0x619ae8]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x53aa30
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
fst qword [esp]
fstp qword [esp + 0x50]
call sub.msvcrt.dll_modf
fldz
fxch st(1)
fucompp
fnstsw ax
and ah, 0x45
cmp ah, 0x40
fld qword [esp + 0x50]
je 0x53abbf
fstp st(0)
mov dword [esp], esi
call fcn.005275ac
mov dword [esp], esi
fstp qword [esp + 0x40]
call fcn.005249ec
fld qword [esp + 0x50]
fld qword [esp + 0x40]
fxch st(1)
jmp 0x53933c
mov edi, 1
jmp 0x53aa44
lea ebx, [esp + 0x160]
mov dword [esp + 0xc], ebx
fstp qword [esp + 4]
mov dword [esp], 0
call fcn.00527444
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0058b3a4
mov edi, eax
mov dword [esp], esi
call fcn.005249ec
mov dword [esp], ebx
call fcn.005249ec
jmp 0x5392dc
lea ebx, [esp + 0x160]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004de4f0
jmp 0x53abda
lea esi, [esp + 0x150]
mov dword [esp + 0xc], esi
fstp qword [esp + 4]
mov dword [esp], 0
call fcn.00527444
jmp 0x53abda
fld qword [esp + 0x108]
fldz
fxch st(1)
fucom st(1)
fnstsw ax
and ah, 0x45
fld qword [esp + 0x110]
cmp ah, 0x40
jne 0x53ac68
fxch st(2)
fucomp st(2)
fnstsw ax
test ah, 0x45
je 0x53c64e
fxch st(1)
jmp 0x53ac6c
fstp st(2)
fxch st(1)
fstp qword [esp + 8]
fstp qword [esp]
call sub.msvcrt.dll_pow
jmp 0x53896f
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004de5a0
inc dword [esp + 0x7c]
jmp 0x538dc8
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x532bc0
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
mov dword [esp + 0x60], eax
dec eax
mov edx, dword [esp + 0x70]
mov dword [edx], eax
test eax, eax
jg 0x532bc0
mov eax, dword [edx + 0xc]
test eax, eax
je 0x53ad3d
mov eax, dword [eax + 4]
test eax, eax
je 0x53ad3d
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004dd138
mov dword [esp + 0x98], 1
jmp 0x5322f4
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 4]
test eax, eax
je 0x53ad58
cmp eax, dword [0x5e022c]
je 0x53ad58
mov dword [esp], eax
call fcn.004ed958
mov eax, dword [esp + 0x70]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050cc38
mov dword [esp + 0x98], 1
jmp 0x5322f4
mov eax, dword [esp + 0xfc]
mov eax, dword [eax]
mov dword [esp + 0x90], eax
test edx, edx
jne 0x53ae60
mov esi, dword [esp + 0x90]
test esi, esi
je 0x5363e9
cmp dword [esp + 0x90], 1
je 0x53b14a
cmp dword [esp + 0x90], 0xffffffff
je 0x53ae8b
cmp dword [esp + 0x104], 1
je 0x53adff
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.exponent_too_large
call fcn.004eaca8
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e09e4
jmp 0x5322f4
xor ecx, ecx
xor dl, dl
xor ebx, ebx
jmp 0x5363d8
cmp dword [esp + 0x90], 2
je 0x53aff9
cmp dword [esp + 0x90], 0xfffffffe
je 0x53afaf
cmp ebx, 8
jg 0x53af2f
mov eax, dword [ebx*4 + 0x6195f0]
cmp dword [esp + 0x90], eax
jg 0x53af2f
neg eax
cmp dword [esp + 0x90], eax
jl 0x53af2f
mov edi, dword [esp + 0x90]
imul edi, edi
sub ebx, 3
cmp ebx, 5
ja case.default.0x53ae59
jmp dword [ebx*4 + 0x619410]
mov edx, dword [esp + 0x90]
test edx, edx
je 0x53c652
cmp dword [esp + 0x90], 1
je 0x53b14a
cmp dword [esp + 0x90], 0xffffffff
jne 0x5363e9
test ecx, ecx
jne 0x536588
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 8]
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
jmp 0x5365b4
imul edi, dword [esp + 0x90]
imul edi, edi
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jle 0x53af16
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov dword [eax + 0x10], edi
mov dword [eax + 0xc], 0x5e01f0
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x532afa
imul edi, edi
imul edi, edi
jmp case.default.0x53ae59
imul edi, dword [esp + 0x90]
imul edi, edi
imul edi, dword [esp + 0x90]
jmp case.default.0x53ae59
imul edi, edi
imul edi, dword [esp + 0x90]
jmp case.default.0x53ae59
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004dde0c
inc dword [esp + 0x7c]
jmp 0x538dc8
mov eax, dword [esp + 0x90]
sub eax, 3
cmp eax, 7
ja 0x53b0a2
cmp ebx, 0x29
jg 0x53b0a2
mov di, word [eax + eax + 0x619614]
lea edi, [edi + ebx - 9]
mov esi, dword [esp + 0x90]
cmp di, word [esi + esi + 0x619610]
jae 0x53b0a2
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jle 0x53b07f
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
movzx edi, di
mov edx, dword [edi*4 + 0x619640]
mov dword [eax + 0x10], edx
mov dword [eax + 0xc], 0x5e01f0
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x532afa
cmp ecx, 1
sbb esi, esi
and esi, 2
dec esi
cmp ebx, 0x1e
jbe 0x53b01f
cmp ebx, 0x3e
ja 0x538e28
mov edi, esi
sar edi, 0x1f
mov cl, bl
shld edi, esi, cl
shl esi, cl
test cl, 0x20
je 0x53afdb
mov edi, esi
xor esi, esi
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.004de1f0
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x532afa
cmp ebx, 0x1e
jbe 0x53b04f
cmp ebx, 0x3e
ja 0x538e28
mov cl, bl
xor eax, eax
xor edx, edx
test cl, 0x20
sete al
setne dl
shl eax, cl
shl edx, cl
jmp 0x539023
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov cl, bl
shl esi, cl
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], 0x5e01f0
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x532afa
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov cl, bl
shl edi, cl
mov dword [eax + 0x10], edi
mov dword [eax + 0xc], 0x5e01f0
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x532afa
movzx edi, di
mov eax, dword [edi*4 + 0x619640]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004dde0c
inc dword [esp + 0x7c]
jmp 0x538dc8
mov edx, 0xfffffffd
sub edx, dword [esp + 0x90]
js 0x53c4cb
mov eax, 0xfffffffe
sub eax, dword [esp + 0x90]
cmp eax, 8
jg 0x53c4cb
cmp ebx, 0x29
jg 0x53c4cb
mov dx, word [edx + edx + 0x619614]
lea edx, [edx + ebx - 9]
cmp dx, word [eax + eax + 0x619614]
jae 0x53c4cb
movzx edx, dx
mov ebx, dword [edx*4 + 0x619640]
test ecx, ecx
je 0x53b0fc
neg ebx
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jle 0x53b131
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], 0x5e01f0
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x532afa
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004dde0c
inc dword [esp + 0x7c]
jmp 0x538dc8
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 8]
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x532afa
cmp dword [esp + 0x104], 1
jne 0x53adc8
mov dword [esp + 0x90], 0
cmp edi, 2
jne 0x538e28
mov eax, dword [esp + 0xfc]
mov esi, dword [eax]
mov edi, dword [eax + 4]
cmp ebx, 0x10
jg 0x53b1ea
mov eax, dword [ebx*8 + 0x6196d0]
mov edx, dword [ebx*8 + 0x6196d4]
cmp edi, edx
jg 0x53b1ea
jl 0x53b1b1
cmp esi, eax
ja 0x53b1ea
neg eax
adc edx, 0
neg edx
cmp edi, edx
jl 0x53b1ea
jg 0x53b1c2
cmp esi, eax
jb 0x53b1ea
mov ecx, edi
imul ecx, esi
shl ecx, 1
mov eax, esi
mul esi
mov dword [esp + 0x70], eax
add edx, ecx
mov dword [esp + 0x74], edx
sub ebx, 3
cmp ebx, 0xd
ja case.default.0x53b1e3
jmp dword [ebx*4 + 0x619428]
mov eax, esi
mov edx, edi
add eax, 0xfffffffd
adc edx, 0xffffffff
cmp edx, 0
ja 0x53b4a9
cmp eax, 0xa
ja 0x53b4a9
cmp ebx, 0x5c
jg 0x53b4a9
mov dx, word [eax + eax + 0x619758]
lea edx, [edx + ebx - 0x11]
lea eax, [esi - 2]
cmp dx, word [eax + eax + 0x619758]
jae 0x53b4a9
mov ecx, dword [esp + 0x70]
movzx edx, dx
cmp dword [ecx], 1
mov eax, dword [edx*8 + 0x619780]
mov edx, dword [edx*8 + 0x619784]
jg 0x539023
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004de12c
inc dword [esp + 0x7c]
jmp 0x538dc8
mov ecx, dword [esp + 0x74]
imul ecx, esi
mov edx, dword [esp + 0x70]
imul edx, edi
add ecx, edx
mov eax, dword [esp + 0x70]
mul esi
mov dword [esp + 0x70], eax
add edx, ecx
mov ecx, edx
imul ecx, dword [esp + 0x70]
shl ecx, 1
mov eax, dword [esp + 0x70]
mul eax
mov dword [esp + 0x70], eax
add edx, ecx
mov ecx, edx
imul ecx, esi
mov edx, dword [esp + 0x70]
imul edx, edi
add ecx, edx
mov eax, dword [esp + 0x70]
mul esi
mov dword [esp + 0x70], eax
add edx, ecx
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004de1f0
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x532afa
mov ecx, dword [esp + 0x74]
imul ecx, esi
mov edx, dword [esp + 0x70]
imul edx, edi
add ecx, edx
mov eax, dword [esp + 0x70]
mul esi
mov esi, eax
mov edi, edx
add edi, ecx
mov ecx, edi
imul ecx, eax
shl ecx, 1
mul esi
mov dword [esp + 0x70], eax
add edx, ecx
mov dword [esp + 0x74], edx
jmp case.default.0x53b1e3
mov ecx, dword [esp + 0x74]
jmp 0x53b29a
mov ecx, dword [esp + 0x74]
imul ecx, dword [esp + 0x70]
shl ecx, 1
mov eax, dword [esp + 0x70]
mul eax
mov dword [esp + 0x70], eax
add edx, ecx
mov dword [esp + 0x74], edx
jmp case.default.0x53b1e3
mov esi, dword [esp + 0x90]
mov edi, esi
sar edi, 0x1f
mov ecx, dword [esp + 0x90]
imul ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
imul edx, edi
add ecx, edx
mov eax, dword [esp + 0x70]
mul dword [esp + 0x90]
mov dword [esp + 0x70], eax
add edx, ecx
mov dword [esp + 0x74], edx
jmp case.default.0x53b1e3
mov ecx, dword [esp + 0x74]
imul ecx, esi
mov edx, dword [esp + 0x70]
imul edx, edi
add ecx, edx
mov eax, dword [esp + 0x70]
mul esi
mov dword [esp + 0x70], eax
add edx, ecx
mov ecx, edx
imul ecx, dword [esp + 0x70]
shl ecx, 1
mov eax, dword [esp + 0x70]
mul eax
mov dword [esp + 0x70], eax
add edx, ecx
mov ecx, edx
jmp 0x53b280
mov ecx, dword [esp + 0x74]
imul ecx, dword [esp + 0x70]
shl ecx, 1
mov eax, dword [esp + 0x70]
mul eax
mov dword [esp + 0x70], eax
add edx, ecx
mov ecx, edx
imul ecx, dword [esp + 0x70]
shl ecx, 1
mov eax, dword [esp + 0x70]
mul eax
mov dword [esp + 0x70], eax
add edx, ecx
mov ecx, edx
jmp 0x53b32f
mov ecx, dword [esp + 0x74]
jmp 0x53b3a1
mov ecx, dword [esp + 0x74]
imul ecx, dword [esp + 0x70]
shl ecx, 1
mov eax, dword [esp + 0x70]
mul eax
mov dword [esp + 0x70], eax
add edx, ecx
mov ecx, edx
jmp 0x53b2f5
mov ecx, dword [esp + 0x74]
imul ecx, dword [esp + 0x70]
shl ecx, 1
mov eax, dword [esp + 0x70]
mul eax
jmp 0x53b292
mov ecx, dword [esp + 0x74]
jmp 0x53b3d4
mov ecx, dword [esp + 0x74]
imul ecx, esi
mov edx, dword [esp + 0x70]
imul edx, edi
add ecx, edx
mov eax, dword [esp + 0x70]
mul esi
mov dword [esp + 0x70], eax
add edx, ecx
mov ecx, dword [esp + 0x70]
imul ecx, edx
shl ecx, 1
mov eax, dword [esp + 0x70]
mul eax
jmp 0x53b292
mov ecx, dword [esp + 0x74]
imul ecx, esi
mov edx, dword [esp + 0x70]
imul edx, edi
add ecx, edx
mov eax, dword [esp + 0x70]
mul esi
mov esi, eax
mov edi, edx
add edi, ecx
mov ecx, edi
imul ecx, eax
shl ecx, 1
jmp 0x53b305
mov ecx, dword [esp + 0x74]
imul ecx, esi
mov edx, dword [esp + 0x70]
imul edx, edi
add ecx, edx
mov eax, dword [esp + 0x70]
mul esi
mov dword [esp + 0x70], eax
add edx, ecx
mov ecx, edx
jmp 0x53b3f8
mov eax, 0xfffffffd
mov edx, 0xffffffff
sub eax, esi
sbb edx, edi
test edx, edx
js 0x538e28
mov dword [esp + 0x90], 0xfffffffe
mov dword [esp + 0x94], 0xffffffff
sub dword [esp + 0x90], esi
sbb dword [esp + 0x94], edi
cmp dword [esp + 0x94], 0
jg 0x538e28
jl 0x53b501
cmp dword [esp + 0x90], 0xb
ja 0x538e28
cmp ebx, 0x5c
jg 0x538e28
mov ax, word [eax + eax + 0x619758]
lea eax, [eax + ebx - 0x11]
mov esi, dword [esp + 0x90]
cmp ax, word [esi + esi + 0x619758]
jae 0x538e28
movzx eax, ax
mov edx, dword [eax*8 + 0x619784]
mov eax, dword [eax*8 + 0x619780]
test ecx, ecx
je 0x53b547
neg eax
adc edx, 0
neg edx
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jg 0x539023
jmp 0x53b24a
mov edx, dword [eax + 4]
test edx, edx
je 0x53b573
cmp edx, dword [0x5e022c]
je 0x53b573
mov dword [esp], edx
call fcn.004ed958
mov eax, dword [edi + 4]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050cc38
jmp 0x5340bc
mov dword [esp + 0x104], 5
mov edx, 5
jmp 0x5398dc
mov dword [esp + 0x70], 1
jmp 0x534660
mov eax, dword [esp + 0x100]
mov ebx, dword [eax]
test ebx, ebx
je 0x53b14a
cmp ebx, 1
je 0x53af26
mov edx, ebx
shr edx, 0x1f
mov ecx, ebx
and ecx, 1
jmp 0x5363d8
mov eax, dword [edi + 4]
test eax, eax
je 0x53b5e9
cmp eax, dword [0x5e022c]
je 0x53b5e9
mov dword [esp], eax
call fcn.004ed958
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050cc38
mov eax, dword [esp + 0xf0]
jmp 0x538683
cmp esi, eax
jle 0x53b60a
mov esi, eax
mov dword [esp + 8], esi
mov eax, dword [edi + 4]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
jmp 0x5352ef
lea ebx, [esp + 0x160]
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004de4f0
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0053d480
xor edx, edx
inc eax
sete dl
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 0x40], edx
call fcn.0053cce0
xor ecx, ecx
mov edi, dword [esp + 0x160]
test edi, edi
setne cl
mov dword [esp], ebx
mov dword [esp + 0x3c], ecx
call fcn.005249ec
mov edi, dword [esp + 0xf8]
xor ebx, ebx
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
jmp 0x5363d8
mov eax, dword [esp + 0x100]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
shr edx, 0x1f
and ecx, 1
xor ebx, ebx
jmp 0x5363d8
mov dword [esp + 4], 1
add eax, edx
mov dword [esp], eax
call fcn.004eaca8
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
jmp 0x535115
mov dword [esp + 4], 1
add edx, edi
mov dword [esp], edx
call fcn.004e8c30
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
jmp 0x535115
cmp ecx, 1
je 0x53b7fb
cmp ecx, 2
je 0x53b7e6
mov dword [esp + 4], edx
mov dword [esp], edx
mov dword [esp + 0x40], edx
call fcn.0053d4b0
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], edx
call fcn.0053d174
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0053d4b0
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0053d174
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058b968
jmp 0x53a389
cmp ecx, 1
je 0x53b88d
cmp ecx, 2
je 0x53b878
mov dword [esp + 4], edx
mov dword [esp], edx
mov dword [esp + 0x40], edx
call fcn.0053d4b0
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], edx
call fcn.0053d174
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0053d4b0
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0053d174
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058bb50
jmp 0x532ac1
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.0058b2f8
jmp 0x532ac1
mov dword [esp + 4], edi
mov dword [esp], edi
mov dword [esp + 0x40], edx
call fcn.0053d4b0
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0053d174
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058bb50
mov dword [esp + 8], ebx
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058b2f8
jmp 0x532ac1
mov ecx, 1
mov edi, esi
mov edx, dword [esp + 0x90]
jmp 0x532a7d
call fcn.0053d480
xor ecx, ecx
inc eax
setne cl
mov edi, dword [esp + 0x90]
mov edx, esi
jmp 0x532a7d
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.0058bb50
jmp 0x532ac1
mov dword [esp + 4], edi
mov dword [esp], edi
mov dword [esp + 0x40], edx
call fcn.0053d4b0
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0053d174
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058bb50
jmp 0x53a389
mov eax, dword [esp + 0xfc]
mov eax, dword [eax]
test eax, eax
setg al
movzx eax, al
test eax, eax
je 0x536588
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 4]
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
jmp 0x5365b4
mov dword [esp], ecx
call fcn.004dd368
mov edx, dword [esp + 0x104]
jmp 0x5388c8
mov dword [esp], edx
call fcn.004dd368
jmp 0x538ae1
fld qword [esp + 0x108]
fdiv qword [esp + 0x110]
jmp 0x53896f
fld qword [esp + 0x108]
fmul qword [esp + 0x110]
jmp 0x53896f
fld qword [esp + 0x108]
fsub qword [esp + 0x110]
jmp 0x53896f
fld qword [esp + 0x108]
fadd qword [esp + 0x110]
jmp 0x53896f
lea ebx, [esp + 0x160]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004de4f0
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0053d480
dec eax
sete al
movzx eax, al
mov dword [esp], ebx
mov dword [esp + 0x50], eax
call fcn.005249ec
mov eax, dword [esp + 0x50]
jmp 0x53b8db
mov edx, dword [esp + 0xfc]
mov eax, 1
cmp dword [edx + 4], 0
jg 0x53b8db
jl 0x53b9d1
cmp dword [edx], 0
ja 0x53b8db
xor eax, eax
jmp 0x53b8db
mov edx, dword [esp + 0x100]
mov edx, dword [edx]
mov dword [esp + 0x70], edx
cmp eax, 1
je 0x53bafc
cmp eax, 2
je 0x53badc
lea ebx, [esp + 0x140]
mov dword [esp + 0x90], ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004de4f0
lea esi, [esp + 0x150]
mov dword [esp], esi
call fcn.0053cdbc
mov ebx, dword [esp + 0x7c]
cmp byte [ebx], 0x33
je 0x53babf
lea ebx, [esp + 0x160]
mov dword [esp], ebx
call fcn.0053cdbc
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x90]
mov dword [esp], edx
call fcn.0058a720
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0053d480
inc eax
jne 0x53ba8a
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.0053d174
mov dword [esp], ebx
call fcn.005249ec
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
call fcn.005249ec
cmp dword [edi], 1
jg 0x539899
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004de5a0
inc dword [esp + 0x7c]
jmp 0x538dc8
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
call fcn.00589d34
jmp 0x53ba92
mov eax, dword [esp + 0xfc]
mov edx, dword [eax + 4]
mov eax, dword [eax]
cmp dword [esp + 0x70], 0x3f
jbe 0x53bb35
test edx, edx
jns 0x53b8e3
jmp 0x536588
mov eax, dword [esp + 0xfc]
mov ebx, dword [eax]
cmp edx, 0x1f
jbe 0x53bb63
test ebx, ebx
jns 0x53b8e3
jmp 0x536588
cmp dword [esp + 0x104], 1
je 0x53bb96
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x618e60
jmp 0x53add7
mov cl, byte [esp + 0x70]
shrd eax, edx, cl
sar edx, cl
test cl, 0x20
je 0x53bb48
mov eax, edx
sar edx, 0x1f
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004de1f0
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
jmp 0x5365b4
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov cl, byte [esp + 0x70]
sar ebx, cl
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], 0x5e01f0
mov edx, 1
jmp 0x5365b4
mov edx, dword [esp + 0x100]
mov edx, dword [edx]
mov dword [esp + 0x70], edx
cmp eax, 1
je 0x53bd62
cmp eax, 3
je 0x53b9f7
cmp dword [esp + 0x70], 0x3f
ja 0x53b9f7
mov eax, dword [edi + 0xc]
cmp eax, 0x5e01dc
je 0x53bd49
cmp eax, 0x5e01f0
je 0x53bd32
lea eax, [esp + 0x120]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004de244
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x124]
cmp edx, 0
jle 0x53bd0c
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], edx
mov ecx, 0x3f
sub ecx, dword [esp + 0x70]
mov ebx, 0xffffffff
mov esi, 0xffffffff
shl ebx, cl
test cl, 0x20
je 0x53bc37
mov esi, ebx
xor ebx, ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], esi
mov ebx, dword [esp + 0xa0]
and ebx, dword [esp + 0x90]
mov esi, dword [esp + 0xa8]
and esi, dword [esp + 0x94]
or esi, ebx
jne 0x53b9f7
mov cl, byte [esp + 0x70]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
je 0x539023
mov edx, eax
xor eax, eax
jmp 0x539023
mov edx, dword [esp + 0xfc]
mov edx, dword [edx]
test edx, edx
jne 0x536554
jmp 0x5363e9
mov eax, dword [esp + 0x100]
mov ebx, dword [eax]
shr ebx, 0x1f
test ebx, ebx
je 0x536544
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.negative_shift_argument
jmp 0x53add7
lea esi, [esp + 0x160]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de4f0
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.0053d480
xor ebx, ebx
inc eax
sete bl
mov dword [esp], esi
call fcn.005249ec
jmp 0x53bca6
mov eax, dword [esp + 0x100]
mov ebx, dword [eax + 4]
shr ebx, 0x1f
jmp 0x53bca6
jl 0x53bd17
cmp eax, 0
ja 0x53bc0b
mov ebx, eax
not ebx
mov dword [esp + 0xa0], ebx
mov esi, edx
not esi
mov dword [esp + 0xa8], esi
jmp 0x53bc19
mov eax, dword [edi + 0x10]
cdq
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
jmp 0x53bc02
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
jmp 0x53bc02
cmp edx, 0x1f
ja 0x53bbb5
mov eax, dword [esp + 0xfc]
mov ebx, dword [eax]
cmp ebx, 0
je 0x53bbb5
mov edx, ebx
jg 0x53bd83
not edx
mov ecx, 0x1f
sub ecx, dword [esp + 0x70]
mov eax, 0xffffffff
shl eax, cl
test edx, eax
jne 0x53bbb5
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov cl, byte [esp + 0x70]
shl ebx, cl
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], 0x5e01f0
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x532afa
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004de12c
inc dword [esp + 0x7c]
jmp 0x538dc8
mov esi, dword [esp + 0x118]
mov edi, dword [esp + 0x11c]
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x124]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov ecx, eax
mov ebx, edx
add ecx, esi
adc ebx, edi
cmp dword [esp + 0xf8], 2
je 0x53be34
cmp dword [esp + 0x104], 2
jne 0x539b1f
mov edx, ebx
xor edx, edi
jns 0x539b1f
mov eax, dword [esp + 0x94]
xor eax, edi
jns 0x538e28
jmp 0x539b1f
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x90], ecx
mov esi, dword [esp + 0x124]
or ecx, esi
je 0x532287
mov ebx, dword [esp + 0x118]
mov dword [esp + 0xa8], ebx
mov edi, dword [esp + 0x11c]
lea eax, [edi - 0x80000000]
or eax, ebx
je 0x53bfcb
mov ecx, dword [esp + 0x90]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov ebx, dword [esp + 0xa8]
mov dword [esp], ebx
mov dword [esp + 4], edi
call fcn.005ccf54
mov ecx, eax
mov ebx, edx
test edx, edx
js 0x53bf86
mov eax, edx
or eax, ecx
jne 0x539b1f
test edi, edi
js 0x53bf64
or edi, dword [esp + 0xa8]
je 0x539b1f
test esi, esi
jns 0x539b1f
add ecx, 0xffffffff
adc ebx, 0xffffffff
jmp 0x539b1f
mov esi, dword [esp + 0x118]
mov edi, dword [esp + 0x11c]
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
mov ecx, esi
mov ebx, edi
sub ecx, dword [esp + 0x90]
sbb ebx, dword [esp + 0x94]
cmp dword [esp + 0xf8], 2
je 0x53bf46
cmp dword [esp + 0x104], 2
jne 0x539b1f
mov eax, ebx
xor eax, edi
jns 0x539b1f
mov edx, dword [esp + 0x94]
xor edx, edi
js 0x538e28
jmp 0x539b1f
cmp esi, 0
jg 0x53bee7
jl 0x539b1f
cmp dword [esp + 0x90], 0
ja 0x53bee7
jmp 0x539b1f
imul esi, eax
mov eax, dword [esp + 0x90]
imul eax, edx
add esi, eax
mov eax, dword [esp + 0x90]
mul ecx
mov dword [esp + 0x90], eax
add edx, esi
mov dword [esp + 0x94], edx
xor edi, edx
mov eax, dword [esp + 0x90]
xor eax, dword [esp + 0xa8]
or edi, eax
jne 0x53bee7
jmp 0x539b1f
mov eax, dword [esp + 0x90]
and eax, esi
inc eax
jne 0x53be92
jmp 0x538e28
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x120], eax
mov ebx, eax
sar ebx, 0x1f
mov dword [esp + 0x124], ebx
jmp 0x539afd
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
jmp 0x539afd
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x118], eax
mov ebx, eax
sar ebx, 0x1f
mov dword [esp + 0x11c], ebx
jmp 0x539abb
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], edx
jmp 0x539abb
lea esi, [esp + 0x150]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de4f0
mov al, 1
cmp dword [esp + 0x74], 0
jle 0x53c1e6
mov ebx, dword [esp + 0x158]
test ebx, ebx
sete dl
cmp al, dl
je 0x53c1d5
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
lea ebx, [esp + 0x160]
mov dword [esp], ebx
call fcn.00529a6c
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00589f90
mov dword [esp], ebx
call fcn.005249ec
jmp 0x539899
lea esi, [esp + 0x130]
mov dword [esp + 0xa8], esi
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004de4d4
lea edx, [esp + 0x140]
mov dword [esp + 0x90], edx
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de4d4
lea esi, [esp + 0x150]
mov dword [esp], esi
call fcn.0053cdbc
lea ebx, [esp + 0x160]
mov dword [esp], ebx
call fcn.0053cdbc
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
call fcn.0058a040
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x53c195
mov ecx, dword [esp + 0x148]
cmp dword [esp + 0x168], ecx
je 0x53c195
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.0053d174
mov dword [esp + 8], ebx
mov edx, dword [esp + 0x90]
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.00589f90
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00589afc
mov dword [esp], ebx
call fcn.005249ec
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
call fcn.005249ec
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
call fcn.005249ec
cmp dword [edi], 1
jg 0x539899
jmp 0x53baaa
mov dword [esp], esi
call fcn.005249ec
inc dword [esp + 0x7c]
jmp 0x538dc8
jl 0x53c1f3
cmp dword [esp + 0x70], 0
ja 0x53c07b
xor eax, eax
jmp 0x53c07b
mov edx, dword [esp + 0xfc]
mov esi, dword [edx]
test esi, esi
je 0x5363e9
cmp eax, 1
je 0x53c2f3
cmp eax, 2
jne 0x53c27a
mov eax, dword [esp + 0x100]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov bl, 1
cmp edx, 0
jle 0x53c26f
test esi, esi
setg cl
cmp bl, cl
je 0x53af26
mov edi, esi
sar edi, 0x1f
add esi, eax
adc edi, edx
jmp 0x53afdb
mov edx, dword [esp + 0x100]
mov ecx, dword [edx]
test ecx, ecx
je 0x532287
cmp ecx, 1
je 0x5363e9
cmp ecx, 0xffffffff
jne 0x538f5b
jmp 0x5363e9
jl 0x53c276
cmp eax, 0
ja 0x53c22c
xor ebx, ebx
jmp 0x53c22c
lea edi, [esp + 0x150]
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de4f0
test esi, esi
setg al
mov edx, dword [esp + 0x158]
test edx, edx
sete dl
cmp al, dl
je 0x53c337
mov dword [esp + 4], esi
lea ebx, [esp + 0x160]
mov dword [esp], ebx
call fcn.0052997c
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00589f90
mov dword [esp], ebx
call fcn.005249ec
mov dword [esp], edi
call fcn.004de8b4
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x532afa
mov eax, esi
cdq
idiv ecx
cmp eax, 0
jl 0x53c354
jne 0x53c34d
test esi, esi
js 0x53c348
test ecx, ecx
js 0x53c34c
xor edx, edx
sub esi, edx
call fcn.0050cb10
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], 0x5e01f0
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x532afa
mov dword [esp], edi
call fcn.005249ec
inc dword [esp + 0x7c]
jmp 0x538dc8
test ecx, ecx
jle 0x53c307
dec eax
mov edx, ecx
imul edx, eax
jmp 0x53c309
mov edx, eax
imul edx, ecx
cmp edx, esi
jne 0x53c34c
jmp 0x53c309
mov eax, dword [esp + 0x74]
test eax, eax
js 0x53c390
mov edx, dword [esp + 0x74]
or edx, dword [esp + 0x70]
je 0x53c375
test ecx, ecx
js 0x53c395
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
jmp 0x53900d
cmp ecx, 0
jle 0x53c3e1
mov eax, esi
mov edx, edi
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov edi, dword [esp + 0x90]
imul edi, ecx
mov edx, dword [esp + 0x94]
imul edx, ebx
add edi, edx
mov eax, dword [esp + 0x90]
mul ebx
mov dword [esp + 0xa8], eax
add edx, edi
mov dword [esp + 0xac], edx
jmp 0x53900d
jl 0x53c375
cmp ebx, 0
ja 0x53c395
jmp 0x53c375
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x53c475
mov edi, dword [eax + 4]
test edi, edi
je 0x53c475
mov dword [esp], ebx
call fcn.004dd138
jmp 0x534343
mov edx, ecx
imul edx, esi
mov eax, edi
imul eax, ebx
add eax, edx
mov dword [esp + 0x90], eax
mov eax, ebx
mul esi
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x90]
add edx, eax
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x74]
xor edx, dword [esp + 0xac]
mov eax, dword [esp + 0x70]
xor eax, dword [esp + 0xa8]
or edx, eax
jne 0x53c395
jmp 0x53900d
mov eax, dword [edi + 0xc]
test eax, eax
je 0x53c4a0
mov eax, dword [eax + 4]
test eax, eax
je 0x53c4a0
mov dword [esp], edi
call fcn.004dd138
jmp 0x534336
mov eax, dword [ebx + 4]
test eax, eax
je 0x53c48c
cmp eax, dword [0x5e022c]
je 0x53c48c
mov dword [esp], eax
call fcn.004ed958
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050cc38
jmp 0x534343
mov eax, dword [edi + 4]
test eax, eax
je 0x53c4b7
cmp eax, dword [0x5e022c]
je 0x53c4b7
mov dword [esp], eax
call fcn.004ed958
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050cc38
jmp 0x534336
mov eax, dword [esp + 0x90]
cdq
mov esi, eax
mov edi, edx
jmp 0x53b194
or ebx, edx
jmp 0x538d6c
and ebx, edx
jmp 0x538d6c
xor ebx, edx
jmp 0x538d6c
dec edx
jne 0x538e28
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0xc]
cmp eax, 0x5e01dc
je 0x53c601
cmp eax, 0x5e01f0
je 0x53c5e2
lea eax, [esp + 0x118]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004de244
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 0xc]
cmp eax, 0x5e01dc
je 0x53c5cc
cmp eax, 0x5e01f0
je 0x53c5b1
lea eax, [esp + 0x120]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0xa0]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004de244
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x124]
mov ebx, dword [esp + 0x118]
imul ebx, edx
mov edx, dword [esp + 0x11c]
imul edx, eax
add ebx, edx
mul dword [esp + 0x118]
add edx, ebx
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jg 0x539023
jmp 0x53b24a
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 0x10]
cdq
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
jmp 0x53c580
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
jmp 0x53c580
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x118], eax
mov ebx, eax
sar ebx, 0x1f
mov dword [esp + 0x11c], ebx
jmp 0x53c534
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], edx
jmp 0x53c534
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
fstp qword [esp + 4]
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.00531e7c
mov dword [esp + 0x98], 1
jmp 0x5322f4
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.exponentiation_of_zero_by_negative_power
call fcn.004eaca8
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e09e4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.exponentiation_of_zero_by_negative_power
mov dword [esp + 8], str.DOMAIN
mov dword [esp + 4], str.ARITH
mov dword [esp], ebx
call fcn.004e1224
mov dword [esp + 0x98], 1
jmp 0x5322f4