Function at 0x53299c
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.00531ac8
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 0x538087
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 0x532bb8
mov ebx, dword [esp + 0x190]
mov eax, dword [ebx + 0x320]
mov eax, dword [eax]
test eax, eax
jne 0x5334ac
mov ebx, dword [esp + 0x190]
mov ecx, dword [ebx + 0x210]
test ecx, ecx
je 0x532bb8
mov esi, dword [ebx + 0x214]
mov ebx, esi
inc ebx
mov edi, dword [esp + 0x190]
mov dword [edi + 0x214], ebx
test cl, 1
je 0x533078
mov esi, dword [edi + 0x224]
cmp esi, 1
je 0x532b84
mov eax, ebx
cdq
idiv esi
test edx, edx
jne 0x533078
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.005016b0
dec eax
je 0x533520
mov dword [esp + 0x98], 1
nop
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx]
cmp al, 0xa
je case.0x532e3b.10
cmp al, 1
je case.0x532e3b.1
cmp al, 0x83
jbe 0x532e38
mov dword [esp + 4], eax
mov dword [esp], str.TclExecuteByteCode:_unrecognized_opCode__u
call fcn.00508cd0
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.004eb494
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e1100
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.004e1940
mov dword [esp + 0x98], 1
nop
mov ebx, dword [esp + 0x190]
mov eax, dword [ebx + 0x100]
test al, 4
je 0x533624
mov dword [esp + 0x90], 1
and eax, 0xfffffffb
mov ebx, dword [esp + 0x190]
mov dword [ebx + 0x100], eax
test ebp, ebp
je 0x532ce0
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0x84]
jmp 0x532c9e
mov ebp, ebx
test ebx, ebx
je 0x532ce0
cmp edi, esi
je 0x532cad
mov eax, dword [edi]
cmp dword [ebp + 0x10], eax
jl 0x53ad54
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp]
dec eax
mov dword [ebp], eax
test eax, eax
jg 0x532c98
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x532d80
mov eax, dword [eax + 4]
test eax, eax
je 0x532d80
mov dword [esp], ebp
call fcn.004dd854
mov ebp, ebx
test ebx, ebx
jne 0x532c9e
nop
mov ebx, dword [esp + 0x190]
xor ebp, ebp
mov eax, dword [ebx + 0x218]
test eax, eax
jne 0x5336d4
mov ebx, dword [esp + 0xb0]
cmp dword [esp + 0x84], ebx
je 0x5336d4
mov ecx, dword [esp + 0x194]
mov edx, 1
mov eax, dword [esp + 0x7c]
call fcn.005319f0
mov esi, eax
test eax, eax
je 0x5336d4
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 0x533058
mov edi, dword [ebx]
sub ebx, 4
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jg 0x532d34
mov eax, dword [edi + 0xc]
test eax, eax
je 0x532e0c
mov eax, dword [eax + 4]
test eax, eax
je 0x532e0c
mov dword [esp], edi
call fcn.004dd854
jmp 0x532d34
mov eax, dword [ebp + 4]
test eax, eax
je 0x532d97
cmp eax, dword [0x5ef7cc]
je 0x532d97
mov dword [esp], eax
call fcn.004ee144
mov dword [ebp + 8], 0xffffffff
mov dword [esp], ebp
call fcn.0050d50c
jmp 0x532c98
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 0x532dd1
nop
mov esi, dword [esi + 4]
mov eax, dword [esi]
test al, 2
jne 0x532dc8
test al, 0x13
jne 0x5330ac
mov eax, dword [esi + 4]
test eax, eax
je 0x5330ac
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 0x532b0c
mov eax, dword [edi + 4]
test eax, eax
je 0x532e23
cmp eax, dword [0x5ef7cc]
je 0x532e23
mov dword [esp], eax
call fcn.004ee144
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050d50c
jmp 0x532d34
movzx edx, al
jmp dword [edx*4 + 0x628780]
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 0x532e58
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], eax
jmp 0x532b0c
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 0x539f75
mov eax, dword [ebx + 4]
test eax, eax
je 0x532ee8
cmp eax, dword [0x5ef7cc]
je 0x532ee1
mov dword [esp], eax
call fcn.004ee144
mov dword [ebx + 4], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x532efb
mov eax, dword [eax + 4]
test eax, eax
je 0x532efb
mov dword [esp], ebx
call eax
mov dword [ebx + 0x10], 0xffffffff
mov dword [ebx + 0xc], 0x5ef790
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 0x532f86
cmp eax, dword [0x5ef7cc]
je 0x532f7f
mov dword [esp], eax
call fcn.004ee144
mov dword [ebx + 4], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x532f99
mov eax, dword [eax + 4]
test eax, eax
je 0x532f99
mov dword [esp], ebx
call eax
mov edx, dword [esp + 0xa0]
mov dword [ebx + 0x10], edx
mov dword [ebx + 0xc], 0x5ef790
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0xa8]
test edx, edx
jle 0x5375ec
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 0x533035
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.004dfe8c
test eax, eax
jne 0x537590
mov eax, dword [esp + 0x104]
mov edx, dword [esp + 0xa0]
imul edx, esi
cmp edx, eax
jge 0x533027
mov dword [esp + 0x70], 1
inc edi
cmp edi, dword [esp + 0xa8]
je 0x5373c8
mov eax, dword [ebp + edi*4 + 0xc]
mov esi, dword [eax]
mov eax, dword [ebx + edi*8 + 4]
cmp dword [eax + 0xc], 0x5ef7f8
jne 0x532fe4
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x104], eax
jmp 0x533011
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 0x532b0c
and ecx, 2
je 0x532bb8
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 0x234]
cmp ecx, 1
je 0x532b84
mov eax, ebx
cdq
idiv ecx
test edx, edx
je 0x532b84
jmp 0x532bb8
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.004f428c
mov dword [esp + 0xf0], eax
test eax, eax
je 0x533520
mov esi, dword [esp + 0x70]
add dword [esp + 0x7c], esi
inc dword [eax]
mov dword [esp + 0x98], 1
cmp ebx, 1
je 0x5331f8
cmp ebx, 2
je 0x533468
test ebx, ebx
jne 0x533554
mov eax, dword [esp + 0xf0]
mov ebx, dword [esp + 0x80]
mov dword [ebx + 4], eax
add ebx, 4
mov dword [esp + 0x80], ebx
jmp 0x532b0c
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 0x539331
mov dword [esp + 0x104], esi
mov ebx, 5
test esi, esi
js 0x53823a
cmp dword [esp + 0xf8], esi
jle 0x53823a
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 0x533530
mov eax, dword [esp + 0xf0]
mov ebx, dword [esp + 0x80]
mov dword [ebx], eax
jmp 0x532b0c
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, 0x5ef790
je 0x539367
cmp eax, 0x5ef77c
je 0x5394b0
mov ecx, dword [esp + 0x70]
cmp eax, 0x5ef7a4
je 0x537d18
test eax, eax
je 0x537f44
mov eax, dword [ecx + 4]
test eax, eax
je 0x533279
mov ecx, dword [esp + 0x70]
mov edi, dword [ecx + 8]
test edi, edi
je 0x537f4f
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.004df018
test eax, eax
jne 0x537f4f
mov eax, dword [esp + 0xf8]
cmp eax, 5
je 0x537f4f
cmp eax, 4
je 0x537f4f
mov eax, dword [ebx + 0xc]
cmp eax, 0x5ef790
je 0x539b0d
cmp eax, 0x5ef77c
je 0x539aee
cmp eax, 0x5ef7a4
je 0x539ab6
test eax, eax
je 0x53894d
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x533302
mov edx, dword [ebx + 8]
test edx, edx
je 0x538958
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.004df018
test eax, eax
jne 0x538958
mov eax, dword [esp + 0x104]
cmp eax, 5
je 0x538958
cmp eax, 4
je 0x538958
mov edx, dword [esp + 0xf8]
cmp edx, 3
je 0x53335e
cmp eax, 3
jne 0x539688
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.004dec0c
lea esi, [esp + 0x150]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004dec0c
mov dword [esp + 4], 0
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
call fcn.0053dde0
mov dword [esp + 4], 0
mov dword [esp], esi
inc eax
je 0x53c1bf
call fcn.0053dde0
inc eax
je 0x53c1ac
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.0053d71c
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 0x53c0d3
cmp al, 0x2c
je 0x53c060
cmp al, 0x2a
je 0x53ac7b
mov edx, dword [esp + 0x90]
mov dword [esp], edx
call fcn.0052532c
mov dword [esp], esi
call fcn.0052532c
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jle 0x53ac62
mov dword [esp], ebx
call fcn.004defd0
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 0x5331f8
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x5336a1
mov eax, dword [eax + 4]
test eax, eax
je 0x5336a1
mov dword [esp], ebx
call fcn.004dd854
jmp 0x5331f8
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.0053e890
mov dword [esp + 0x98], 1
dec eax
jne 0x532b3c
jmp 0x532c54
mov eax, dword [ebx + 4]
test eax, eax
jne 0x537063
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.00531cf4
nop
mov dword [esp + 0x98], 1
jmp 0x532c54
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x5335f9
mov eax, dword [eax + 4]
test eax, eax
je 0x5335f9
mov dword [esp], ebx
call fcn.004dd854
jmp 0x53320e
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 0x53358e
lea esi, [esi]
mov edi, dword [ebp + ebx*4]
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jle 0x5335b4
dec ebx
cmp ebx, esi
jne 0x53357c
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 0x533468
mov eax, dword [edi + 0xc]
test eax, eax
je 0x5335d0
mov edx, dword [eax + 4]
test edx, edx
je 0x5335d0
mov dword [esp], edi
call fcn.004dd854
dec ebx
jmp 0x53358a
mov eax, dword [edi + 4]
test eax, eax
je 0x5335e7
cmp eax, dword [0x5ef7cc]
je 0x5335e7
mov dword [esp], eax
call fcn.004ee144
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050d50c
dec ebx
jmp 0x53358a
mov eax, dword [ebx + 4]
test eax, eax
je 0x533610
cmp eax, dword [0x5ef7cc]
je 0x533610
mov dword [esp], eax
call fcn.004ee144
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050d50c
jmp 0x53320e
lea ecx, [esp + 0x104]
mov edx, dword [esp + 0x194]
mov eax, dword [esp + 0x7c]
call fcn.005317fc
test eax, eax
je 0x537282
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.00531618
mov eax, dword [ebx + 0x100]
mov dword [esp + 0x90], 1
mov dword [esp + 0x98], 1
jmp 0x532c74
mov eax, dword [ebx + 4]
test eax, eax
je 0x5336b8
cmp eax, dword [0x5ef7cc]
je 0x5336b8
mov dword [esp], eax
call fcn.004ee144
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050d50c
jmp 0x5331f8
sub dword [esp + 0x80], 4
mov ebx, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
jae 0x53372e
mov esi, dword [esp + 0x8c]
jmp 0x5336f4
cmp esi, ebx
jae 0x53370e
mov eax, dword [ebx]
sub ebx, 4
mov edx, dword [eax]
dec edx
mov dword [eax], edx
test edx, edx
jg 0x5336f0
mov dword [esp], eax
call fcn.004dd854
cmp esi, ebx
jb 0x5336f4
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 0x53374c
nop
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp]
dec eax
mov dword [ebp], eax
test eax, eax
jle 0x5337dc
mov ebp, ebx
test ebp, ebp
jne 0x533734
mov ebx, dword [esp + 0x8c]
cmp dword [esp + 0x80], ebx
jae 0x5337aa
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.00508cd0
mov eax, dword [esp + 0xb0]
add eax, 4
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.005320c8
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 0x5337f9
mov edi, dword [eax + 4]
test edi, edi
je 0x5337f9
mov dword [esp], ebp
call fcn.004dd854
mov ebp, ebx
jmp 0x533748
mov eax, dword [ebp + 4]
test eax, eax
je 0x533810
cmp eax, dword [0x5ef7cc]
je 0x533810
mov dword [esp], eax
call fcn.004ee144
mov dword [ebp + 8], 0xffffffff
mov dword [esp], ebp
call fcn.0050d50c
mov ebp, ebx
jmp 0x533748
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 0x5386f0
mov eax, dword [esp + 0x7c]
inc eax
mov ebx, dword [esp + 0x7c]
cmp byte [ebx + 1], 0x69
mov dword [esp + 0x7c], eax
jne 0x532b0c
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 0x5373a3
mov ebx, dword [esp + 0x190]
mov esi, dword [ebx + 0xf0]
mov ebx, dword [esp + 0x194]
cmp dword [ebx + 4], esi
je 0x537386
mov ebx, dword [esp + 0x194]
test byte [ebx + 0x14], 1
jne 0x5373a3
lea ecx, [esp + 0x104]
mov edx, ebx
mov eax, dword [esp + 0x7c]
call fcn.005317fc
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.004e85c8
mov dword [esp + 0x90], eax
test eax, eax
je 0x539fae
dec eax
je 0x539658
xor ebx, ebx
mov dword [esp + 0x98], 1
jmp 0x53627f
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
cmp eax, 0x5ef790
je 0x5385cd
cmp eax, 0x5ef77c
je 0x5390a1
cmp eax, 0x5ef7a4
je 0x537c70
test eax, eax
je 0x5381e9
mov eax, dword [esi + 4]
test eax, eax
je 0x533982
mov edi, dword [esi + 8]
test edi, edi
je 0x5381f4
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.004df018
test eax, eax
jne 0x5381f4
mov eax, dword [esp + 0x104]
cmp eax, 5
je 0x5381f4
jbe 0x5385e7
mov dword [esp + 0x90], 0
mov ebx, dword [esp + 0x80]
mov edi, dword [ebx]
mov eax, dword [edi + 0xc]
cmp eax, 0x5ef790
je 0x539496
cmp eax, 0x5ef77c
je 0x53947c
cmp eax, 0x5ef7a4
je 0x538e69
test eax, eax
je 0x537c5e
mov ebx, dword [edi + 4]
test ebx, ebx
je 0x533a14
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x533a42
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.004df018
test eax, eax
je 0x538db0
mov ebx, dword [esp + 0x7c]
cmp byte [ebx], 0x3a
je 0x537f2c
inc dword [esp + 0x7c]
jmp 0x532b0c
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], 0x5ef7f8
je 0x537735
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.004dfc64
mov dword [esp + 0x90], eax
test eax, eax
je 0x53774c
nop
cmp dword [esp + 0x90], 1
je 0x532c54
mov ebx, dword [esp + 0x190]
mov eax, dword [ebx + 0x100]
jmp 0x532c74
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 0x533b55
nop
mov ebx, dword [ebx + 4]
mov eax, dword [ebx]
test al, 2
jne 0x533b4c
test al, 0x10
jne 0x5389aa
mov esi, dword [ebx + 4]
test esi, esi
je 0x537baf
mov eax, 1
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + eax*4 + 4]
jmp 0x534301
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.00522280
test eax, eax
je 0x539390
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.005223f8
test eax, eax
js 0x539390
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 0x533468
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 0x533c4e
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 0x533c3c
add dword [esp + 0x7c], 5
jmp 0x532b0c
lea eax, [esp + 0xfc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0x62857e
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.004f573c
test eax, eax
je 0x532c54
mov edx, dword [eax]
test dl, 0x80
je 0x53762f
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 0x53734b
mov esi, dword [ecx]
test esi, 0x870
jne 0x53734b
mov ebx, dword [ecx + 4]
test ebx, ebx
je 0x533d2e
test esi, 2
je 0x53734b
cmp eax, ebx
je 0x533d41
test byte [ebx], 4
je 0x533d2e
dec dword [ebx + 8]
mov edi, dword [ebx + 4]
test edi, edi
je 0x53ac3c
and esi, 0xfffffffc
or esi, 2
mov dword [ecx], esi
mov dword [ecx + 4], eax
test byte [eax], 4
je 0x533d41
inc dword [eax + 8]
add dword [esp + 0x7c], 5
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
mov dword [esp + 0x90], 0
jmp 0x5341a0
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], 0x62857e
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.004f573c
mov esi, eax
test eax, eax
mov edx, dword [esp + 0x40]
je 0x538280
test byte [eax], 0x10
jne 0x533e06
mov eax, dword [esp + 0x100]
test eax, eax
je 0x533dd9
test byte [eax], 0x10
jne 0x533e06
mov eax, 1
mov edx, dword [esi + 4]
test edx, edx
je 0x53826d
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 0x53313c
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.005518e4
mov dword [esp + 0x98], 1
jmp 0x533dd9
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], 0x5ef7f8
je 0x533176
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.004dfc64
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533af8
jmp 0x53318d
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 0x5387b4
test ebx, ebx
je 0x538713
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 0x537225
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.004e64d0
mov dword [esp + 0x90], eax
mov edx, dword [esp + 0x190]
test byte [edx + 0x100], 0x10
jne 0x5371fa
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 0x537123
mov edi, dword [esp + 0x7c]
add edi, esi
cmp byte [edi], 3
jne 0x537298
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 0x53636f
cmp ebx, 2
je 0x537181
test ebx, ebx
je 0x532b0c
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 0x534042
lea esi, [esi]
mov edi, dword [ebp + ebx*4]
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jle 0x534061
dec ebx
cmp ebx, esi
jne 0x534030
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0xa0]
neg esi
mov eax, dword [esp + 0x80]
lea ebx, [eax + esi*4]
jmp 0x537188
mov eax, dword [edi + 0xc]
test eax, eax
je 0x5371a9
mov eax, dword [eax + 4]
test eax, eax
je 0x5371a9
mov dword [esp], edi
call fcn.004dd854
dec ebx
jmp 0x53403e
mov edi, dword [esp + 0x80]
mov ebx, dword [edi]
cmp dword [ebx + 0xc], 0x5ef7f8
je 0x53837e
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.004dfc64
test eax, eax
jne 0x532c54
mov edx, dword [esp + 0x104]
jmp 0x538395
call fcn.0050d3e4
mov dword [eax], 0
mov edx, dword [0x5ef7cc]
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 0x532b0c
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.004e1960
mov dword [esp + 0x90], eax
test eax, eax
jne 0x5387d7
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 0x532b0c
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x537257
mov eax, dword [eax + 4]
test eax, eax
je 0x537257
mov dword [esp], ebx
call fcn.004dd854
jmp 0x532b0c
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 0x539527
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.004e0a24
mov dword [esp + 0xf0], eax
test eax, eax
je 0x538ab5
add dword [esp + 0x7c], 5
dec ebx
mov dword [esp + 0x80], esi
jmp 0x53313c
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 0x539324
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.004e0a58
mov dword [esp + 0xf0], eax
test eax, eax
je 0x538ab5
inc dword [esp + 0x7c]
mov dword [esp + 0x80], esi
jmp 0x533468
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 0x532b0c
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.004e03d0
mov dword [esp + 0xf0], eax
test eax, eax
je 0x532c54
add dword [esp + 0x7c], 5
jmp 0x53313c
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], 0x628549
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.004f573c
test eax, eax
je 0x532c54
mov dword [esp + 0x98], ebx
xor esi, esi
mov dword [esp + 0xa0], 1
mov edi, 0xffffffff
mov ebx, 2
jmp 0x5345ad
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 0x5343b0
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], 0x628549
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.004f573c
test eax, eax
je 0x532c54
mov dword [esp + 0x98], ebx
mov dword [esp + 0xa0], 1
mov edi, 0xffffffff
mov ebx, 3
jmp 0x5345ad
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 0x534552
mov edx, dword [esp + 0xa8]
lea esi, [esi]
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x53453c
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], 0x628549
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.004f4d98
test eax, eax
je 0x532c54
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.004f3d9c
mov dword [esp + 0xf0], eax
test eax, eax
je 0x533520
mov edx, dword [esp + 0x7c]
add edx, dword [esp + 0xa0]
cmp byte [edx], 3
je 0x537100
inc dword [eax]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x98], 1
jmp 0x53313c
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 1]
mov dword [esp + 0xa8], 0x20c
mov dword [esp + 0xa0], 2
jmp 0x534505
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.0052d9e8
test eax, eax
jne 0x532c54
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], 0x62857e
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.004f573c
mov edx, dword [edi + 0x64]
mov dword [edx], ebx
test eax, eax
jne 0x533cba
jmp 0x532c54
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.00523e00
inc eax
je 0x532c54
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], 0x62857e
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.004f573c
mov dword [esi + 0x64], ebx
test eax, eax
jne 0x533cba
jmp 0x532c54
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 0x539ef6
mov dword [esp + 4], eax
mov dword [esp], ebx
call esi
test eax, eax
je 0x5390da
mov edx, dword [eax + 0xc]
add dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x80]
mov ebx, dword [ecx]
jmp 0x5341a0
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 0x5348a1
nop
mov edi, dword [edi + 4]
mov eax, dword [edi]
test al, 2
jne 0x534898
test al, 0x13
jne 0x5379da
mov eax, dword [edi + 4]
mov dword [esp + 0x70], eax
test eax, eax
je 0x5379da
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.0051979c
test eax, eax
jne 0x532c54
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
cmp dword [eax + 0xc], 0x5ef7f8
je 0x538f5c
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.004dfc64
test eax, eax
jne 0x532c54
mov eax, dword [esp + 0x70]
xor edx, edx
cmp dword [eax], 1
setg dl
mov dword [esp + 0xbc], edx
jle 0x53494a
mov dword [esp], eax
call fcn.004dd9c0
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x104]
test ecx, ecx
jle 0x5349fd
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 0x5349ac
mov ebp, dword [esp + 0xc4]
lea esi, [esi]
mov edx, dword [edx + 4]
mov eax, dword [edx]
test al, 2
jne 0x53499c
mov dword [esp + 0xc4], ebp
test al, 0x13
jne 0x537e8d
mov eax, dword [edx + 4]
test eax, eax
je 0x537e8d
cmp ebx, eax
je 0x537ee9
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.005192c0
inc esi
cmp dword [esp + 0x104], esi
jg 0x534976
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xc0]
test byte [edi], 0x2b
jne 0x53a252
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 0x539634
mov eax, dword [esp + 0x70]
mov dword [edi + 4], eax
add dword [esp + 0x7c], 9
jmp 0x537a45
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 0x534aaa
lea esi, [esi]
mov eax, dword [eax + 4]
mov edx, dword [eax]
test dl, 2
jne 0x534aa0
and edx, 0x13
jne 0x537a53
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x537a53
mov esi, dword [esp + 0x80]
mov eax, dword [esi]
cmp dword [eax + 0xc], 0x5ef7f8
je 0x538793
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.004dfc64
test eax, eax
jne 0x532c54
mov eax, dword [esp + 0x104]
mov edx, dword [esp + 0xa0]
cmp dword [edx], eax
je 0x534b2a
mov dword [esp], str.dictUpdateStart_argument_length_mismatch
call fcn.00508cd0
mov eax, dword [esp + 0x104]
test eax, eax
jle 0x534c24
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.00519524
test eax, eax
jne 0x538b34
mov edx, dword [ebp + esi*4 + 4]
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + edx*8]
test byte [eax], 2
je 0x534bab
mov ebx, dword [esp + 0xa8]
nop
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x534b9c
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 0x537ef6
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.004f3d9c
test eax, eax
je 0x5393d5
inc esi
mov dword [esp + 0x98], 1
cmp dword [esp + 0x104], esi
jg 0x534b4d
mov ebp, dword [esp + 0x70]
add dword [esp + 0x7c], 9
jmp 0x532b0c
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 0x539f9d
cmp dword [ebx + 0xc], 0x5f1b34
jne 0x533c4e
mov edi, dword [ebx + 0x10]
mov dword [esp], edi
call fcn.00519cb0
mov dword [esp], edi
call fcn.004ee144
mov edi, dword [ebx + 0x14]
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jle 0x53cdba
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jle 0x53cd4a
call fcn.0050d3e4
mov edx, dword [0x5ef7cc]
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 0x533c4e
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 0x534d0b
cmp dword [ebx + 0xc], 0x5f1b34
je 0x534d17
mov dword [esp], str.mis_issued_dictNext_
call fcn.00508cd0
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.00519cd8
mov eax, dword [esp + 0x104]
test eax, eax
jne 0x534edf
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 0x532b0c
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.004edfec
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.00519c0c
mov dword [esp + 0x90], eax
test eax, eax
jne 0x5375d4
call fcn.0050d3e4
mov ebx, eax
mov dword [eax], 0
mov eax, dword [0x5ef7cc]
mov dword [esp + 0x70], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0x5f1b34
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 0x534ecb
mov edx, dword [eax + 0xc]
cmp edx, 0x5f1b34
je 0x53a742
mov ecx, dword [eax]
dec ecx
mov dword [eax], ecx
test ecx, ecx
jle 0x539035
mov dword [esi + 4], ebx
inc dword [ebx]
mov eax, dword [esp + 0x104]
test eax, eax
je 0x534d52
call fcn.0050d3e4
mov edx, dword [0x5ef7cc]
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 0x534d78
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 0x534f61
nop
mov edi, dword [edi + 4]
mov eax, dword [edi]
test al, 2
jne 0x534f58
test al, 0x13
jne 0x537ab5
mov esi, dword [edi + 4]
test esi, esi
je 0x537ab5
cmp dword [esi], 1
jg 0x5388d8
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.00519524
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533af8
mov dword [esp + 0x70], 0
mov ecx, dword [esp + 0x7c]
mov al, byte [ecx]
cmp al, 0x72
je 0x53a87b
cmp al, 0x73
je 0x53a800
mov dword [esp], str.Should_not_happen_
call fcn.00508cd0
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.005192c0
test byte [edi], 0x2b
jne 0x53a8bf
mov eax, dword [esp + 0x70]
test eax, eax
je 0x535035
mov ebx, dword [edi + 4]
inc dword [esi]
test ebx, ebx
je 0x535032
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jle 0x53a944
mov dword [edi + 4], esi
mov dword [esp + 0xf0], esi
mov ebx, dword [esp + 0x7c]
cmp byte [ebx + 5], 3
je 0x53a938
mov eax, dword [esp + 0xf0]
inc dword [eax]
add dword [esp + 0x7c], 5
jmp 0x53345a
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 0x5350bd
nop
mov esi, dword [esi + 4]
mov eax, dword [esi]
test al, 2
jne 0x5350b4
test al, 0x13
jne 0x53796c
mov edi, dword [esi + 4]
test edi, edi
je 0x53796c
cmp dword [edi], 1
jg 0x538a93
mov dword [esp + 0xa0], 0
mov ebx, dword [esp + 0x7c]
mov al, byte [ebx]
cmp al, 0x70
je 0x538a53
cmp al, 0x71
je 0x53782c
cmp al, 0x6f
je 0x538ac1
mov dword [esp], str.Should_not_happen_
call fcn.00508cd0
xor ebx, ebx
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x5380b6
test byte [esi], 0x2b
jne 0x538f7d
mov ecx, dword [esp + 0xa0]
test ecx, ecx
je 0x53514c
mov eax, dword [esi + 4]
inc dword [edi]
test eax, eax
je 0x535149
mov edx, dword [eax]
dec edx
mov dword [eax], edx
test edx, edx
jle 0x539664
mov dword [esi + 4], edi
mov dword [esp + 0xf0], edi
mov edi, dword [esp + 0x7c]
cmp byte [edi + 9], 3
je 0x539246
add dword [esp + 0x7c], 9
mov eax, dword [esp + 0xf0]
inc dword [eax]
jmp 0x53523c
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 0x5351eb
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.0051bdd8
test eax, eax
je 0x532c54
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.00519524
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533af8
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x539414
add dword [esp + 0x7c], 5
inc ebx
inc dword [eax]
mov dword [esp + 0x90], 0
jmp 0x53313c
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.004e2258
mov dword [esp + 0x90], eax
mov eax, dword [esi - 4]
mov edx, dword [eax]
dec edx
mov dword [eax], edx
test edx, edx
jle 0x5391a2
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0x80]
mov dword [edx - 4], eax
mov edi, dword [esp + 0x90]
test edi, edi
jne 0x538844
inc dword [esp + 0x7c]
mov dword [esp + 0x80], ebx
jmp 0x532b0c
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e20d4
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 0x532b0c
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx]
mov eax, dword [ebx - 4]
mov edi, dword [eax + 4]
test edi, edi
je 0x539f03
mov eax, dword [eax + 8]
mov dword [esp + 0xf4], eax
cmp dword [esi + 0xc], 0x5ef7f8
je 0x5385bb
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.004dfe8c
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533af8
mov eax, dword [esp + 0x104]
test eax, eax
jle 0x5353c5
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.004dfe10
mov edx, dword [esp + 0x100]
test edx, edx
je 0x53859b
mov eax, dword [edx + 4]
test eax, eax
je 0x5394e8
mov edx, dword [edx + 8]
mov dword [esp + 0xf8], edx
cmp dword [esp + 0xf4], edx
je 0x538003
inc ebx
cmp dword [esp + 0x104], ebx
jg 0x53536b
xor eax, eax
jmp 0x53802e
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 0x53541f
nop
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x535410
mov dword [esp + 0x100], eax
mov edx, dword [eax]
and edx, 0x11
dec edx
je 0x53889d
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], 0x62857e
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.004f4d98
mov esi, eax
test eax, eax
je 0x538896
test byte [eax], 0x10
jne 0x535494
mov eax, dword [esp + 0x100]
test eax, eax
je 0x5354ee
test byte [eax], 0x10
je 0x5354ee
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.005518e4
mov dword [esp + 0x98], 1
mov eax, 1
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x538883
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 0x5331f8
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 0x535573
mov edx, dword [esp + 0xa8]
lea esi, [esi]
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x535564
mov dword [esp + 0xa8], edx
mov dword [esp + 0x100], 0
xor esi, esi
mov dword [esp + 0x98], 0
mov ebx, 1
jmp 0x5345ad
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0x70], ebx
mov dword [esp + 0xa8], 0x204
jmp 0x5343b0
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 0x535549
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, 0x5ef790
je 0x5371d5
cmp eax, 0x5ef7b8
je 0x5371d5
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.004de34c
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533af8
mov eax, dword [esp + 0x104]
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
jmp 0x5371df
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 0x535619
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 0x53444e
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 0x534505
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 1]
mov dword [esp + 0xa8], 0x204
mov dword [esp + 0xa0], 2
jmp 0x534505
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 0x535549
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 0x535549
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
cmp dword [eax + 0xc], 0x5ef7f8
je 0x538550
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.004dfe8c
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533af8
jmp 0x53855d
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
mov esi, dword [esi - 4]
cmp dword [esi + 0xc], 0x5ef7f8
je 0x538526
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.004dfc64
mov dword [esp + 0x90], eax
test eax, eax
jne 0x5358a4
mov eax, dword [ebx + 0xc]
cmp eax, 0x5ef7f8
je 0x535899
cmp eax, 0x5ef790
je 0x5384d4
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.004fef14
test eax, eax
je 0x5384de
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.004e0570
mov dword [esp + 0xf0], eax
test eax, eax
je 0x532c54
inc dword [esp + 0x7c]
jmp 0x533468
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.004dfaf4
mov dword [esp + 0xf0], eax
add esi, 5
mov dword [esp + 0x7c], esi
inc dword [eax]
jmp 0x53313c
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, 0x5ef844
je 0x538cad
cmp dword [edi + 0xc], 0x5ef844
je 0x538cad
cmp eax, 0x5ef824
je 0x539143
mov edx, dword [edi + 4]
test edx, edx
je 0x539ed2
mov eax, dword [ebx + 4]
test eax, eax
je 0x539ee1
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004fde98
jmp 0x533be7
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx]
mov ebx, dword [ebx - 4]
cmp dword [ebx + 0xc], 0x5ef824
je 0x53901b
mov dword [esp], ebx
call fcn.004eb56c
mov dword [esp + 0x104], eax
xor edi, edi
cmp dword [esi + 0xc], 0x5ef790
je 0x5385ac
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.004fef14
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533af8
mov edx, dword [esp + 0xf8]
test edx, edx
js 0x538b01
mov ecx, dword [esp + 0x104]
cmp ecx, edx
jle 0x538b01
cmp dword [ebx + 0xc], 0x5ef824
je 0x53c03f
mov eax, dword [ebx + 4]
test eax, eax
je 0x535a36
cmp ecx, dword [ebx + 8]
je 0x53c01e
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.004eb60c
lea ebx, [esp + 0x160]
mov dword [esp + 4], ebx
movzx eax, ax
mov dword [esp], eax
call fcn.0050d734
mov dword [esp + 0x104], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004eb494
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 0x533468
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
cmp dword [eax + 0xc], 0x5ef824
je 0x539055
mov dword [esp], eax
call fcn.004eb56c
mov dword [esp + 0x104], eax
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov edx, dword [esp + 0x104]
mov dword [eax + 0x10], edx
mov dword [eax + 0xc], 0x5ef790
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x5331f8
mov esi, dword [esp + 0x80]
mov ebx, dword [esi - 4]
mov edi, dword [esi]
mov eax, dword [ebx + 0xc]
cmp eax, 0x5ef790
je 0x5394ce
cmp eax, 0x5ef77c
je 0x53934d
cmp eax, 0x5ef7a4
je 0x537bea
test eax, eax
je 0x53a4fe
mov esi, dword [ebx + 4]
test esi, esi
je 0x535b2d
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x535be7
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.004df018
test eax, eax
jne case.0x532e3b.75
mov eax, dword [esp + 0xf8]
cmp eax, 5
je 0x538d6e
cmp ebx, edi
je 0x539c3a
mov eax, dword [edi + 0xc]
cmp eax, 0x5ef790
je 0x539cdb
cmp eax, 0x5ef77c
je 0x539cbc
cmp eax, 0x5ef7a4
je 0x539bde
test eax, eax
je 0x53ac17
mov eax, dword [edi + 4]
test eax, eax
je 0x535bad
mov eax, dword [edi + 8]
test eax, eax
je case.0x532e3b.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.004df018
test eax, eax
je 0x53ac0b
mov ebx, dword [esp + 0x80]
mov edi, dword [ebx]
mov ebx, dword [ebx - 4]
cmp ebx, edi
je 0x538a1a
mov eax, dword [ebx + 0xc]
cmp eax, 0x5ef824
je 0x538b70
cmp eax, 0x5ef844
je 0x538bd0
mov esi, dword [ebx + 4]
test esi, esi
je 0x539f5b
mov eax, dword [ebx + 8]
mov dword [esp + 0xf8], eax
mov eax, dword [edi + 4]
test eax, eax
je 0x539f3c
mov edx, dword [edi + 8]
mov dword [esp + 0x104], edx
mov ecx, dword [esp + 0xf8]
cmp edx, ecx
jle 0x535c3f
mov edx, ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0050dedc
test eax, eax
jne 0x535c61
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.0x5375a6
sub edx, 0x2d
cmp dl, 5
jbe 0x5375a3
test eax, eax
js 0x538b3d
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 0x533468
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx]
mov edx, dword [ebx - 4]
cmp edx, esi
je 0x539231
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x539eb8
mov eax, dword [edx + 8]
mov dword [esp + 0xf8], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x539f1d
mov edx, dword [esi + 8]
mov dword [esp + 0x104], edx
cmp dword [esp + 0xf8], edx
je 0x53770f
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 0x5385ee
ja 0x53830c
cmp cl, 0x24
je 0x538d16
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 0x533468
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov esi, dword [esp + 0x90]
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], 0x5ef790
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 0x532b0c
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e1280
mov dword [esp + 0xf0], eax
call fcn.0050d3e4
mov edx, dword [0x5ef7cc]
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 0x532b0c
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.004e1660
inc dword [esp + 0x7c]
mov dword [esp + 0x90], 0
mov dword [esp + 0x98], 1
jmp 0x532b0c
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 0x532b0c
mov dword [esp + 0x90], 4
xor ebx, ebx
mov ecx, dword [esp + 0x194]
xor edx, edx
mov eax, dword [esp + 0x7c]
call fcn.005319f0
mov esi, eax
test eax, eax
je 0x5336d4
cmp dword [eax], 1
je 0x532d2a
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 0x535ec5
mov edi, dword [esi + ebx*4]
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jle 0x535f04
dec ebx
test ebx, ebx
jne 0x535eb4
mov esi, dword [esp + 0xa0]
cmp dword [esp + 0x90], 3
je 0x53835b
mov eax, dword [esi + 0x14]
cmp eax, 0xffffffff
je 0x53794f
mov ebx, dword [esp + 0x194]
add eax, dword [ebx + 0x48]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x90], 0
jmp 0x532b0c
mov eax, dword [edi + 0xc]
test eax, eax
je 0x53731f
mov eax, dword [eax + 4]
test eax, eax
je 0x53731f
mov dword [esp], edi
call fcn.004dd854
dec ebx
jmp 0x535ec1
mov dword [esp + 0x90], 3
jmp 0x535e6b
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 0x535f97
mov edi, dword [esp + 0x70]
nop
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x535f84
mov dword [esp + 0x70], edi
mov dword [esp + 0x100], eax
mov ebx, dword [eax]
and ebx, 0x11
dec ebx
je 0x537fa2
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], 0x628544
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.004f4d98
mov esi, eax
test eax, eax
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
je 0x532c54
mov dword [esp + 0x98], 0
mov ebx, 1
jmp 0x5330ce
mov ebx, dword [esp + 0x7c]
movzx edx, byte [ebx + 1]
mov dword [esp + 0x70], 2
jmp 0x535f60
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], 0x628544
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.004f573c
mov esi, eax
test eax, eax
mov ecx, dword [esp + 0x3c]
je 0x532c54
test byte [eax], 0x13
jne 0x5360b9
mov eax, dword [eax + 4]
test eax, eax
je 0x5360b9
mov edx, dword [esp + 0x100]
test edx, edx
je 0x533df4
test byte [edx], 0x10
je 0x533df4
mov dword [esp + 0x98], edi
mov dword [esp + 0x70], 1
mov edx, 0xffffffff
jmp 0x5330ce
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 0x536111
lea esi, [esi]
mov esi, dword [esi + 4]
mov eax, dword [esi]
test al, 2
jne 0x536108
test al, 0x13
jne 0x536120
mov eax, dword [esi + 4]
test eax, eax
jne 0x534301
mov dword [esp + 0x100], 0
xor ecx, ecx
mov dword [esp + 0x98], 0
mov dword [esp + 0x70], 5
xor ebx, ebx
jmp 0x5330ce
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.0053d23c
mov dword [esp + 0x90], eax
test eax, eax
jne 0x53621a
mov eax, dword [esp + 0x100]
mov dword [esp + 0xf0], eax
inc dword [esp + 0x7c]
mov dword [esp + 0x98], 1
jmp 0x5331f8
mov edi, dword [esp + 0x80]
mov ebx, dword [edi]
mov eax, dword [ebx + 0xc]
cmp eax, 0x5ef790
je 0x5376d6
cmp eax, 0x5ef7b8
je 0x5376d6
lea eax, [esp + 0x104]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de34c
mov dword [esp + 0x90], eax
test eax, eax
je 0x5384c8
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.00531cf4
mov dword [esp + 0x98], 1
jmp 0x533af8
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.0053d024
mov dword [esp + 0x90], eax
test eax, eax
je 0x538600
mov ebx, 1
mov dword [esp + 0x98], 1
mov eax, dword [esp + 0x90]
sub eax, 3
cmp eax, 1
ja 0x533af8
jmp 0x535e6d
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 0x533f06
mov edi, dword [esp + 0x7c]
movzx ebx, byte [edi + 1]
mov esi, 2
jmp 0x533f06
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 0x53635c
mov ebx, esi
xor edi, edi
mov edx, dword [esp + 0x80]
jmp 0x536321
mov eax, dword [eax + 8]
mov dword [esp + 0x104], eax
add ebx, 4
add edi, eax
js 0x5380f5
cmp edx, ebx
jb 0x536354
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x536308
lea ecx, [esp + 0x104]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x40], edx
call fcn.004ddcd8
test eax, eax
mov edx, dword [esp + 0x40]
jne 0x53ad48
add ebx, 4
cmp edx, ebx
jae 0x536321
test edi, edi
jne 0x538109
add dword [esp + 0x7c], 2
mov ebx, dword [esp + 0x70]
dec ebx
cmp ebx, 1
jne 0x533ff7
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
jmp 0x5341a0
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
mov dword [esp + 0xf0], eax
jmp 0x5352eb
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 0x534301
mov ebx, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
jae 0x5336cc
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e1100
jmp 0x533af8
mov ebx, dword [esp + 0x80]
mov edi, dword [ebx]
xor edx, edx
mov ebx, 1
jmp 0x533d70
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 0x5384b8
cmp al, 0x1a
je 0x53781c
mov dword [esp + 0xa8], 1
cmp al, 0x1b
je 0x536825
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], 0x628544
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.004f573c
mov esi, eax
test eax, eax
je 0x53880b
mov eax, dword [esi]
mov ecx, ebx
mov dword [esp + 0xa0], 0
mov dword [esp + 0x70], 0xffffffff
mov ebx, 1
jmp 0x536750
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 0x53444e
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 0x536557
mov ebx, dword [ebx + 4]
test byte [ebx], 2
jne 0x536548
mov dword [esp + 0x100], ebx
mov eax, dword [ebx]
and eax, 0x21
dec eax
je 0x538683
mov eax, dword [esp + 0x100]
mov dword [esp + 0xa8], 0x200
jmp 0x534552
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 1]
mov dword [esp + 0xa0], 2
jmp 0x53651b
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx]
mov dword [esp + 0x70], ebx
mov dword [esp + 0xa8], 0x200
jmp 0x5343b0
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 0x5365fa
nop
mov ebx, dword [ebx + 4]
mov edx, dword [ebx]
test dl, 2
jne 0x5365f0
and edx, 0x2b
jne 0x5373b8
mov esi, dword [ebx + 4]
test esi, esi
je 0x536617
mov eax, dword [esi]
dec eax
mov dword [esi], eax
test eax, eax
jle 0x538660
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 0x538504
inc dword [eax]
mov dword [esp + 0x7c], edx
jmp 0x532b0c
mov ebx, dword [esp + 0x7c]
movzx edi, byte [ebx + 1]
mov dword [esp + 0xa0], 2
jmp 0x5365da
mov ebx, dword [esp + 0x80]
mov ecx, dword [ebx]
mov edi, dword [ebx - 4]
mov ebx, 2
jmp 0x536041
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 1]
add ebx, eax
mov dword [esp + 0x7c], ebx
jmp 0x532b0c
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.004de46c
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 0x5366ef
nop
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x5366e0
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], 0x628544
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.004f4d98
mov esi, eax
test eax, eax
je 0x53882a
mov eax, dword [eax]
xor ecx, ecx
mov ebx, 1
test al, 0x33
jne 0x5368ba
mov edx, dword [esi + 4]
test edx, edx
je 0x5368ba
mov eax, dword [esp + 0x100]
test eax, eax
je 0x536777
test byte [eax], 0x30
jne 0x5368ba
mov eax, dword [edx]
cmp eax, 1
jle 0x5375c8
dec eax
mov dword [edx], eax
mov dword [esp], edx
call fcn.004dd9c0
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.00532230
mov dword [esp + 0x90], eax
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jle 0x539383
mov edi, dword [esp + 0x90]
test edi, edi
jne 0x533af8
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x7c]
add eax, edx
cmp byte [eax], 3
jne 0x536949
mov esi, dword [esp + 0x7c]
lea esi, [esi + edx + 1]
mov dword [esp + 0x7c], esi
jmp 0x533fee
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 1]
mov dword [esp], eax
call fcn.004de46c
mov edi, eax
inc dword [eax]
mov al, byte [ebx]
mov dword [esp + 0xa8], 2
cmp al, 0x20
jne 0x536444
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], 0x628544
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.004f573c
mov esi, eax
test eax, eax
je 0x53880b
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x5364a5
mov eax, dword [esi]
mov ecx, ebx
mov dword [esp + 0x70], 0xffffffff
mov ebx, 2
test al, 0x33
je 0x536758
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.004f4420
mov dword [esp + 0xf0], eax
mov edx, dword [edi]
dec edx
mov dword [edi], edx
test edx, edx
jle 0x53886f
test eax, eax
je 0x533520
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x98], 1
mov eax, dword [esp + 0x7c]
add eax, edx
cmp byte [eax], 3
je 0x5367eb
mov edx, dword [esp + 0xf0]
inc dword [edx]
mov dword [esp + 0x7c], eax
jmp 0x53313c
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 0x53698d
lea esi, [esi]
mov edi, dword [edi + 4]
mov eax, dword [edi]
test al, 2
jne 0x536984
test al, 0x33
jne 0x537b21
mov ebx, dword [edi + 4]
test ebx, ebx
je 0x537b21
mov eax, dword [ebx + 0xc]
cmp eax, 0x5ef790
je 0x539d91
cmp eax, 0x5ef77c
je 0x539d07
cmp eax, 0x5ef7a4
je 0x539e50
test eax, eax
je 0x539e3e
mov eax, dword [ebx + 4]
test eax, eax
je 0x5369da
mov eax, dword [ebx + 8]
test eax, eax
je 0x536a1d
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.004df018
test eax, eax
jne 0x536a1d
mov eax, dword [esp + 0x104]
cmp eax, 1
je 0x539da6
cmp eax, 2
je 0x539d1c
mov eax, dword [ebx]
cmp eax, 1
jg 0x538a37
mov dword [esp + 0xf0], ebx
call fcn.0050d3e4
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], 0x5ef790
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.00532230
mov dword [esp + 0x90], eax
mov eax, dword [esi]
dec eax
mov dword [esi], eax
test eax, eax
jle 0x539cfa
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x533af8
mov edx, 3
xor ebx, ebx
jmp 0x53693a
mov dword [esp + 0x128], 2
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 1]
mov dword [esp + 0x12c], eax
jmp 0x535619
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 0x532b0c
mov edi, dword [esp + 0x80]
mov ebx, dword [edi]
mov esi, dword [edi - 4]
mov eax, dword [esi + 0xc]
cmp eax, 0x5ef790
je 0x53763c
cmp eax, 0x5ef7b8
je 0x53763c
lea eax, [esp + 0xf8]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.004de34c
mov dword [esp + 0x90], eax
test eax, eax
je 0x53764d
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.00531cf4
jmp 0x53621a
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 0x535619
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, 0x5ef790
je 0x53925d
cmp eax, 0x5ef77c
je 0x538e4b
mov ecx, dword [esp + 0x70]
cmp eax, 0x5ef7a4
je 0x537c22
test eax, eax
je 0x538091
mov eax, dword [ecx + 4]
test eax, eax
je 0x536c05
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 8]
test eax, eax
je 0x53809c
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.004df018
test eax, eax
jne 0x53809c
mov eax, dword [esp + 0xf8]
cmp eax, 5
je 0x53809c
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 0xc]
cmp eax, 0x5ef790
je 0x53a32f
cmp eax, 0x5ef77c
je 0x53a350
mov ecx, dword [esp + 0xa0]
cmp eax, 0x5ef7a4
je 0x53a213
test eax, eax
je 0x538982
mov eax, dword [ecx + 4]
test eax, eax
je 0x536c9a
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 8]
test eax, eax
je 0x53898d
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.004df018
test eax, eax
jne 0x53898d
mov edx, dword [esp + 0x104]
cmp edx, 5
je 0x53898d
mov edi, dword [esp + 0xf8]
cmp edi, 4
je 0x539279
cmp edx, 4
je 0x539279
mov ebx, dword [esp + 0x7c]
mov al, byte [ebx]
cmp al, 0x37
je 0x539781
cmp al, 0x63
jne 0x53a3cd
cmp edx, 1
je 0x53bf09
cmp edx, 2
je 0x53c005
cmp edx, 3
je 0x53bf85
cmp edx, 1
je 0x53b754
xor ebx, ebx
xor edx, edx
xor ecx, ecx
cmp edi, 1
je 0x53b6db
test edx, edx
je 0x53bac6
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 4]
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x53345a
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
mov edi, dword [esi - 4]
mov eax, dword [edi + 0xc]
cmp eax, 0x5ef790
je 0x539087
cmp eax, 0x5ef77c
je 0x5390c0
cmp eax, 0x5ef7a4
je 0x537ca8
test eax, eax
je 0x537f21
mov eax, dword [edi + 4]
test eax, eax
je 0x536db2
mov eax, dword [edi + 8]
test eax, eax
je 0x537f2c
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.004df018
test eax, eax
jne 0x537f2c
mov eax, dword [esp + 0xf8]
cmp eax, 4
je 0x537f2c
cmp eax, 5
je 0x537f2c
mov eax, dword [ebx + 0xc]
cmp eax, 0x5ef790
je 0x539b83
cmp eax, 0x5ef77c
je 0x539b64
cmp eax, 0x5ef7a4
je 0x539b2c
test eax, eax
je 0x53a56f
mov esi, dword [ebx + 4]
test esi, esi
je 0x536e37
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x5334f9
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.004df018
test eax, eax
jne 0x5334f9
mov eax, dword [esp + 0x104]
cmp eax, 4
je 0x5334f9
cmp eax, 5
je 0x5334f9
mov esi, dword [esp + 0x7c]
cmp byte [esi], 0x39
je 0x5398b0
cmp eax, 2
je 0x53c65d
cmp eax, 3
je 0x53c622
dec eax
je 0x53c5fa
mov eax, dword [esp + 0xf8]
cmp eax, 1
je 0x53c5e4
mov ebx, dword [esp + 0x7c]
cmp byte [ebx], 0x33
je 0x53c477
cmp dword [esp + 0x104], 1
je 0x53c338
cmp eax, 2
je 0x53c310
cmp eax, 3
je 0x53c2c9
dec eax
je 0x53c22a
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0xffffffff
mov dword [eax + 0xc], 0x5ef790
mov edx, 1
mov dword [eax], edx
inc dword [esp + 0x7c]
jmp 0x53345a
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.004eb494
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 0x50], eax
call fcn.004ebefc
mov edx, dword [edi]
dec edx
mov dword [edi], edx
test edx, edx
mov eax, dword [esp + 0x50]
jle 0x5391af
mov dword [esi], eax
inc dword [eax]
mov esi, 2
jmp 0x533f06
mov ebx, dword [esp + 0x7c]
movzx ebx, byte [ebx + 1]
mov byte [esp + 0x7b], bl
cmp byte [esp + 0x7b], 0x19
ja 0x53864b
mov dword [esp + 4], 0x11
mov dword [esp], str.::tcl::mathfunc::
call fcn.004eb494
mov esi, eax
mov dword [esp + 8], 0xffffffff
mov eax, dword [ebx*8 + 0x628c60]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004ebdfc
mov ebx, dword [ebx*8 + 0x628c64]
test ebx, ebx
je 0x5375ad
cmp ebx, 1
je 0x5390e4
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 0x53a118
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jle 0x53a104
mov dword [esp + 0x80], esi
inc ebx
mov esi, 2
jmp 0x533f06
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
mov eax, dword [ebx + 0xc]
cmp eax, 0x5ef790
je 0x538f0a
cmp eax, 0x5ef77c
je 0x53906d
cmp eax, 0x5ef7a4
je 0x537ce0
test eax, eax
je 0x5334ee
mov eax, dword [ebx + 4]
test eax, eax
je 0x53706e
mov eax, dword [ebx + 8]
test eax, eax
je 0x5334f9
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.004df018
test eax, eax
jne 0x5334f9
mov eax, dword [esp + 0x104]
cmp eax, 5
je 0x5334f9
cmp eax, 4
je 0x5334f9
cmp eax, 1
je 0x538f1f
cmp eax, 2
jne 0x538ea1
mov eax, dword [esp + 0x100]
mov edx, dword [eax]
mov eax, dword [eax + 4]
not edx
not eax
cmp dword [ebx], 1
jle 0x539803
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004de90c
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x538efa
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 0x533fee
mov dword [esp + 0x98], 1
mov dword [esp + 0x88], 1
jmp 0x53627f
cmp cl, 0x26
je 0x539616
cmp cl, 0x27
jne 0x535d24
test eax, eax
jne 0x539aac
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 0x5372fc
mov ebx, dword [ebx - 4]
jmp 0x5341a0
mov eax, dword [edi + 4]
test eax, eax
je 0x5371c0
cmp eax, dword [0x5ef7cc]
je 0x5371c0
mov dword [esp], eax
call fcn.004ee144
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050d50c
dec ebx
jmp 0x53403e
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 0x5341a0
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.004e70f4
jmp 0x533f98
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.004e7014
jmp 0x533f3d
mov eax, dword [ebx + 4]
test eax, eax
je 0x53726e
cmp eax, dword [0x5ef7cc]
je 0x53726e
mov dword [esp], eax
call fcn.004ee144
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050d50c
jmp 0x532b0c
mov eax, dword [ebx + 0x100]
mov dword [esp + 0x90], 1
jmp 0x532c74
mov edx, dword [esp + 0x190]
mov dword [esp], edx
call fcn.004e1280
mov dword [esp + 0xf0], eax
call fcn.0050d3e4
mov edx, dword [0x5ef7cc]
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 0x53313c
mov eax, dword [esi + 0xc]
test eax, eax
je 0x53820c
mov eax, dword [eax + 4]
test eax, eax
je 0x53820c
mov dword [esp], esi
call fcn.004dd854
jmp 0x5371a1
mov eax, dword [edi + 4]
test eax, eax
je 0x537336
cmp eax, dword [0x5ef7cc]
je 0x537336
mov dword [esp], eax
call fcn.004ee144
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050d50c
dec ebx
jmp 0x535ec1
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.004f53f8
mov dword [esp + 0x90], eax
test eax, eax
jne 0x533af8
jmp 0x533d41
mov ebx, dword [esp + 0xd4]
mov esi, dword [ebx + 0xe4]
mov ebx, dword [esp + 0x194]
cmp dword [ebx + 0xc], esi
jne 0x5338b9
add dword [esp + 0x7c], 9
mov dword [esp + 0x98], 0
jmp 0x532b0c
mov dword [esp + 0xa8], 0x200
jmp 0x535549
mov ebp, dword [esp + 0x90]
mov edi, dword [esp + 0x70]
test edi, edi
je 0x5375e1
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.004dfbf0
mov dword [esp + 0xbc], eax
cmp dword [eax + 0xc], 0x5ef7f8
je 0x537f86
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.004dfc64
mov edi, dword [esp + 0xa0]
imul edi, ebx
test ebx, ebx
jle 0x537525
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 0x537e00
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 0x5374f5
mov esi, dword [esp + 0x90]
nop
mov ebx, dword [ebx + 4]
mov edx, dword [ebx]
test dl, 2
jne 0x5374e4
mov dword [esp + 0x90], esi
and edx, 0x2b
jne 0x537d9c
mov edx, dword [ebx + 4]
cmp eax, edx
je 0x53751b
test edx, edx
je 0x537516
mov ecx, dword [edx]
dec ecx
mov dword [edx], ecx
test ecx, ecx
jle 0x537e27
mov dword [ebx + 4], eax
inc dword [eax]
inc edi
add ebp, 4
cmp edi, dword [esp + 0x70]
jne 0x5374a8
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 0x5382e2
inc dword [esp + 0xc4]
mov edx, dword [esp + 0xa8]
cmp dword [esp + 0xc4], edx
jne 0x537408
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 0x53a786
mov eax, 5
jmp 0x537624
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x90], eax
jmp 0x533af8
movzx edx, dl
jmp dword [edx*4 + 0x628990]
mov edi, dword [esp + 0x80]
mov dword [edi + 4], esi
inc dword [esi]
add edi, 4
mov dword [esp + 0x80], edi
jmp 0x53701c
mov dword [esp + 0xf0], edx
jmp 0x53679b
mov dword [esp], edi
call fcn.004ee144
jmp 0x533af8
mov dword [esp + 0x90], 0
mov edx, dword [esp + 0x7c]
add edx, 5
mov ebx, dword [esp + 0x7c]
cmp byte [ebx + 5], 0x26
je 0x53a7f0
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 0x532b0c
or dl, 0x80
mov dword [eax], edx
inc dword [eax + 8]
jmp 0x533cba
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, 0x5ef790
je 0x53877d
cmp eax, 0x5ef7b8
je 0x53877d
lea esi, [esp + 0x104]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de34c
mov dword [esp + 0x90], eax
test eax, eax
jne 0x538d00
mov ebx, dword [esp + 0x7c]
cmp byte [ebx], 0x28
je 0x53875b
mov ecx, dword [esp + 0xf8]
test ecx, ecx
jne 0x53876a
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 0x533468
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 0x5331f8
mov edx, dword [esp + 0x7c]
cmp byte [edx], 0x4a
mov dword [esp + 4], eax
mov dword [esp], ebx
je 0x53a125
call sub.msvcrt.dll_strcmp
test eax, eax
sete al
movzx eax, al
jmp 0x535d00
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 0x539507
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 0x539e88
cmp ecx, eax
jle 0x53778c
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 0x539ea0
mov ebx, eax
cmp eax, edx
jle 0x5377cb
mov ebx, edx
cmp ecx, ebx
jg 0x537d54
cmp ecx, eax
jge 0x537d54
test ebx, ebx
js 0x537d54
test ecx, ecx
js 0x53a630
cmp ebx, eax
jl 0x5377f2
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.004dfaf4
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
jmp 0x537d82
mov dword [esp + 0xa8], 2
jmp 0x5366b5
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.00519524
mov dword [esp + 0x90], eax
test eax, eax
movzx edx, byte [esp + 0x40]
jne 0x5380b6
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 0x53a637
call fcn.004de46c
mov ebx, eax
inc dword [eax]
mov eax, dword [esp + 0x100]
cmp dword [eax], 1
jle 0x537912
mov dword [esp], eax
call fcn.004dd9c0
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.005192c0
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.00532230
mov dword [esp + 0x90], eax
test eax, eax
je 0x539a18
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jle 0x539a25
mov ebx, 1
jmp 0x535110
mov ebx, dword [esp + 0x190]
mov eax, dword [ebx + 0x100]
mov dword [esp + 0x90], 4
jmp 0x532c74
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.004f428c
mov edi, eax
test eax, eax
mov edx, dword [esp + 0x40]
je 0x53a4bc
mov dword [esp + 0x98], 1
jmp 0x5350d0
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.004f428c
mov dword [esp + 0x70], eax
test eax, eax
jne 0x53a4ac
add dword [esp + 0x7c], 9
mov dword [esp + 0x98], 1
mov edx, dword [esp + 0x80]
mov ebx, dword [edx]
jmp 0x5341a0
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.004f428c
mov ebx, eax
mov dword [esp + 0x98], 1
test eax, eax
jne 0x534abe
jmp 0x532c54
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.004f428c
mov esi, eax
test eax, eax
je 0x53a510
mov dword [esp + 0x98], 1
jmp 0x534f74
not eax
shr eax, 0x1f
jmp 0x535c80
mov dword [esp + 0x70], edx
call fcn.0050d3e4
mov edi, eax
mov dword [eax + 4], 0
mov esi, dword [esp + 0xa0]
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], 0x5ef790
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 0x537b75
lea esi, [esi]
mov esi, dword [esi + 4]
mov eax, dword [esi]
test al, 2
jne 0x537b6c
mov dword [esp + 0x100], 0
mov dword [esp + 0xa0], 0
xor ecx, ecx
xor ebx, ebx
jmp 0x536750
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.004f3844
mov dword [esp + 0x98], 1
xor eax, eax
jmp 0x533b6d
test eax, eax
setne al
movzx eax, al
jmp 0x535c80
test eax, eax
sete al
movzx eax, al
jmp 0x535c80
test eax, eax
setle al
movzx eax, al
jmp 0x535c80
test eax, eax
setg al
movzx eax, al
jmp 0x535c80
fld qword [ebx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x539a62
mov dword [esp + 0xf8], 4
mov eax, 4
lea edx, [ebx + 0x10]
mov dword [esp + 0xfc], edx
jmp 0x535b62
fld qword [ecx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x539a77
mov dword [esp + 0xf8], 4
mov eax, 4
mov edx, dword [esp + 0x70]
add edx, 0x10
mov dword [esp + 0xfc], edx
jmp 0x536c3e
mov esi, dword [edi + 4]
test esi, esi
jne 0x533a0d
jmp 0x533a42
fld qword [esi + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x539a03
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [esi + 0x10]
mov dword [esp + 0x100], edx
jmp 0x5339b7
fld qword [edi + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x539a8c
mov dword [esp + 0xf8], 4
mov eax, 4
lea edx, [edi + 0x10]
mov dword [esp + 0xfc], edx
jmp 0x536de7
fld qword [ebx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x5399ee
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [ebx + 0x10]
mov dword [esp + 0x100], edx
jmp 0x5370a3
fld qword [ecx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x539a4d
mov dword [esp + 0xf8], 4
mov eax, 4
mov edx, dword [esp + 0x70]
add edx, 0x10
mov dword [esp + 0xfc], edx
jmp 0x5332b2
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax], 0
mov edx, dword [0x5ef7cc]
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 0x5331f8
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.004f3d9c
test eax, eax
je 0x538287
mov dword [esp + 0x98], 1
jmp 0x53751b
call fcn.0050d3e4
mov dword [eax], 0
mov edx, dword [0x5ef7cc]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
jmp 0x5374bf
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x537e4a
mov esi, dword [ecx + 4]
test esi, esi
je 0x537e4a
mov dword [esp], edx
mov dword [esp + 0x50], eax
call fcn.004dd854
mov eax, dword [esp + 0x50]
jmp 0x537516
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x537e71
cmp ecx, dword [0x5ef7cc]
je 0x537e71
mov dword [esp], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], edx
call fcn.004ee144
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.0050d50c
mov eax, dword [esp + 0x50]
jmp 0x537516
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.004f428c
test eax, eax
je 0x5393ab
mov dword [esp + 0x98], 1
cmp ebx, eax
jne 0x5349c7
mov dword [esp], ebx
call fcn.004dd9c0
jmp 0x5349c7
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.004f5c18
jmp 0x534c07
mov eax, dword [edi + 4]
test eax, eax
jne 0x536da7
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov ecx, edi
jmp 0x53350c
mov eax, dword [ecx + 4]
test eax, eax
jne 0x53326a
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.00531cf4
mov dword [esp + 0x98], 1
jmp 0x532c54
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 0x53747b
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 0x535fa3
cmp eax, 0xc
je 0x535fa3
test byte [eax - 0xc], 0x13
jne 0x535fa3
mov eax, dword [eax - 8]
test eax, eax
je 0x535fa3
mov dword [esp + 0xf0], eax
inc dword [eax]
mov esi, dword [esp + 0x70]
add dword [esp + 0x7c], esi
jmp 0x5331f8
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 0x53802e
test eax, eax
je 0x53536b
mov eax, 1
mov ebx, dword [esp + 0x7c]
cmp byte [ebx], 0x6b
je 0x53923e
mov edx, dword [esp + 0x7c]
inc edx
mov ebx, dword [esp + 0x7c]
mov cl, byte [ebx + 1]
cmp cl, 0x25
je 0x538c84
ja 0x538c4c
cmp cl, 0x24
je 0x53900d
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 0x533468
mov edx, 1
jmp 0x532a67
mov eax, dword [ecx + 4]
test eax, eax
jne 0x536bf6
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov ecx, dword [esp + 0x70]
jmp 0x53350c
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x533af8
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jg 0x533af8
mov eax, dword [edi + 0xc]
test eax, eax
je 0x53b1e3
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x53b1e3
mov dword [esp], edi
call fcn.004dd854
jmp 0x533af8
mov dword [esp + 4], 0x7fffffff
mov dword [esp], str.max_size_for_a_Tcl_value___d_bytes__exceeded
call fcn.00508cd0
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 0x53a137
mov edx, dword [edx + 8]
mov dword [esp + 0x104], edx
add edx, edi
js 0x53a5e4
cmp eax, dword [0x5ef7cc]
je 0x538158
mov edx, dword [esp + 0xf0]
cmp dword [edx], 1
jle 0x5391c0
mov eax, dword [esp + 0x104]
add eax, edi
inc eax
mov dword [esp], eax
call fcn.004edfec
mov dword [esp + 0x40], eax
call fcn.0050d3e4
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 0x5381cf
mov eax, dword [ebx]
mov esi, dword [eax + 4]
test esi, esi
je 0x538485
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 0x5381a1
mov byte [edx], 0
add dword [esp + 0x7c], 2
mov eax, dword [esp + 0xf0]
inc dword [eax]
mov ebx, dword [esp + 0x70]
jmp 0x53313c
mov eax, dword [esi + 4]
test eax, eax
jne 0x533977
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], edi
mov ecx, esi
jmp 0x53350c
mov eax, dword [esi + 4]
test eax, eax
je 0x538223
cmp eax, dword [0x5ef7cc]
je 0x538223
mov dword [esp], eax
call fcn.004ee144
mov dword [esi + 8], 0xffffffff
mov dword [esp], esi
call fcn.0050d50c
mov ebx, dword [ebx - 4]
jmp 0x5341a0
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax], 0
mov edx, dword [0x5ef7cc]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov edx, 1
jmp 0x5331e5
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004f3844
xor eax, eax
jmp 0x533de9
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 0x533520
mov eax, dword [edx + 0xc]
test eax, eax
je 0x53a2eb
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x53a2eb
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
call fcn.004dd854
mov dword [esp + 0x98], 1
jmp 0x532c54
mov eax, dword [edx + 0xc]
test eax, eax
je 0x538d35
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x538d35
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
call fcn.004dd854
jmp 0x537544
cmp cl, 0x26
je 0x538d27
cmp cl, 0x27
jne 0x535d24
test eax, eax
jne 0x5385f6
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 0x537188
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 0x532b0c
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.00531ac8
sub eax, 4
sub eax, dword [esp + 0xb0]
sar eax, 2
je 0x538431
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 0x53846b
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 0x538445
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 0x533c4e
mov dword [esp], ebx
call fcn.004dd854
jmp 0x533c4e
lea esi, [esp + 0x104]
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 0x40], edx
call fcn.004ddcd8
mov esi, eax
test eax, eax
mov edx, dword [esp + 0x40]
je 0x5381c3
mov ecx, dword [esp + 0x104]
jmp 0x5381b8
mov dword [esp + 0xa8], 2
jmp 0x537b55
mov eax, dword [esp + 0x104]
jmp 0x5376e0
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x104], eax
mov eax, dword [ebx]
dec eax
mov dword [ebx], eax
test eax, eax
jle 0x53a2c8
sub dword [esp + 0x80], 4
mov esi, dword [esp + 0x104]
mov ebx, 1
jmp 0x5331bc
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 0x532b0c
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, 0x5ef7f8
jne 0x53585f
jmp 0x535899
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x104], eax
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov edx, dword [esp + 0x104]
mov dword [eax + 0x10], edx
mov dword [eax + 0xc], 0x5ef790
mov dword [eax], 1
inc dword [esp + 0x7c]
mov dword [esp + 0x90], 0
jmp 0x5331f8
mov edx, dword [esp + 0xf8]
mov eax, 0x6284c5
jmp 0x5353ae
mov edx, dword [esi + 0x10]
mov dword [esp + 0xf8], edx
jmp 0x535a02
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x104], eax
jmp 0x535365
mov dword [esp + 0x104], 1
lea eax, [esi + 0x10]
mov dword [esp + 0x100], eax
mov eax, 1
jmp dword [eax*4 + 0x6289a8]
test eax, eax
jne 0x538326
mov eax, 5
jmp 0x538349
mov dword [esp], ebx
call fcn.004e1280
mov dword [esp + 0xf0], eax
call fcn.0050d3e4
mov edx, dword [0x5ef7cc]
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 0x5331f8
mov dword [esp + 4], ebx
mov dword [esp], str.TclExecuteByteCode:_unrecognized_builtin_function_code__d
call fcn.00508cd0
jmp 0x536f93
mov eax, dword [esi + 0xc]
test eax, eax
je 0x539118
mov eax, dword [eax + 4]
test eax, eax
je 0x539118
mov dword [esp], esi
call fcn.004dd854
jmp 0x536617
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 0x536563
mov ebx, eax
sub ebx, 0xc
je 0x536563
test byte [eax - 0xc], 0x2b
jne 0x536563
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 0x53a6ad
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x80]
mov dword [ecx - 4], edi
mov dword [esp + 0x80], esi
jmp 0x536603
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x5393e9
mov esi, dword [eax + 4]
test esi, esi
je 0x5393e9
mov dword [esp], ebx
call fcn.004dd854
jmp 0x533846
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov edx, dword [0x5ef7cc]
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 0x532b0c
mov ebx, dword [esp + 0xf8]
test ebx, ebx
jne 0x53959c
xor eax, eax
mov edx, dword [esp + 0x104]
test edx, edx
setne al
jmp 0x5376ae
xor eax, eax
mov esi, dword [ebx + 0x10]
test esi, esi
setne al
mov dword [esp + 0x104], eax
jmp 0x537690
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 0x534b0c
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x53953c
mov edi, dword [eax + 4]
test edi, edi
je 0x53953c
mov dword [esp], ebp
call fcn.004dd854
jmp 0x533ef7
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.004e1100
mov ebx, dword [esp + 0x7c]
cmp byte [ebx], 0x7d
je 0x539ba2
mov ebx, 2
jmp 0x53627f
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.004e78b0
mov eax, dword [edi]
dec eax
mov dword [edi], eax
test eax, eax
jg 0x532c54
mov dword [esp], edi
call fcn.004dd854
jmp 0x532c54
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call fcn.004e1100
mov dword [esp + 0x80], ebx
mov ebx, 1
jmp 0x53627f
mov dword [esp], edi
call fcn.004dd854
mov eax, dword [esp + 0xf0]
jmp 0x536920
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004f3844
xor eax, eax
jmp 0x5354fe
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 0x538896
cmp eax, 0xc
je 0x538896
test byte [eax - 0xc], 0x10
jne 0x53542b
mov ebx, dword [eax - 8]
test ebx, ebx
je 0x538896
mov eax, 1
jmp 0x5354fe
mov dword [esp], esi
call fcn.004dd9c0
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.00519524
mov dword [esp + 0x90], eax
test eax, eax
je 0x53befc
mov eax, dword [esi]
dec eax
mov dword [esi], eax
test eax, eax
jg 0x533af8
mov eax, dword [esi + 0xc]
test eax, eax
je 0x53a6ba
mov eax, dword [eax + 4]
test eax, eax
je 0x53a6ba
mov dword [esp], esi
call fcn.004dd854
jmp 0x533af8
mov esi, dword [ebx + 4]
test esi, esi
jne 0x5332f7
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.00531cf4
jmp 0x533520
mov eax, dword [ecx + 4]
test eax, eax
jne 0x536c88
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov dword [ebx + 0x10], esi
mov ecx, dword [esp + 0xa0]
jmp 0x53350c
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.005518e4
mov esi, dword [ebx + 4]
test esi, esi
je 0x537b94
mov eax, 1
mov dword [esp + 0x98], 1
jmp 0x533b6d
mov dword [esp + 0x104], 0
mov dword [esp + 0xf8], 0
xor eax, eax
jmp 0x535c61
dec eax
mov dword [ebx], eax
mov dword [esp], ebx
call fcn.004dd9c0
mov dword [esp + 0xf0], eax
inc dword [eax]
mov dword [edi + 4], eax
jmp 0x536a2f
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.0051c9f0
mov dword [esp + 0x90], eax
mov edx, dword [esp + 0x40]
mov ebx, edx
jmp 0x535110
mov dword [esp], edi
mov dword [esp + 0x40], edx
call fcn.004dd9c0
mov edi, eax
mov dword [esp + 0xa0], 1
mov edx, dword [esp + 0x40]
jmp 0x5350e4
mov dword [esp + 0x80], esi
jmp 0x532c54
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.0051cb48
mov dword [esp + 0x90], eax
jmp 0x535110
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax], 0
mov edx, dword [0x5ef7cc]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov edx, 1
jmp 0x535a75
mov ebp, dword [esp + 0x70]
jmp 0x532c54
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0xffffffff
mov dword [eax + 0xc], 0x5ef790
mov edx, 1
mov dword [eax], edx
jmp 0x535ca0
cmp dword [edi + 0xc], 0x5ef824
jne 0x535c08
lea eax, [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004e946c
mov ebx, eax
lea esi, [esp + 0x104]
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004e946c
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0xf8]
cmp edx, ecx
jle 0x538bb9
mov edx, ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_memcmp
jmp 0x535c4f
cmp dword [edi + 0xc], 0x5ef844
jne 0x535c08
mov dword [esp], ebx
call fcn.004eb56c
mov dword [esp + 0xf8], eax
mov dword [esp], edi
call fcn.004eb56c
mov esi, eax
mov dword [esp + 0x104], eax
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0xf8]
cmp eax, edx
jne 0x538c14
cmp esi, dword [edi + 8]
je 0x53bf64
mov dword [esp], edi
mov dword [esp + 0x40], edx
call fcn.004eb668
mov edi, eax
mov dword [esp], ebx
call fcn.004eb668
mov edx, dword [esp + 0x40]
cmp esi, edx
jle 0x538c34
mov esi, edx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0050e3a4
jmp 0x535c4f
cmp cl, 0x26
je 0x538ffc
cmp cl, 0x27
jne 0x53805f
test eax, eax
je 0x538c88
mov eax, 5
add edx, eax
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x90], 0
jmp 0x537188
test eax, eax
je 0x538c62
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 0x538c67
lea eax, [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004eb6a4
mov ebx, eax
lea edx, [esp + 0x104]
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.004eb6a4
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.0050ea8c
jmp 0x533be7
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x9c]
mov dword [edi + 0x10], eax
jmp 0x536206
test eax, eax
je 0x538d2b
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 2]
jmp 0x538349
test eax, eax
je 0x538d1a
mov eax, 2
jmp 0x538349
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + 4]
test eax, eax
je 0x538d53
cmp eax, dword [0x5ef7cc]
je 0x538d53
mov dword [esp], eax
call fcn.004ee144
mov eax, dword [esp + 0xbc]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050d50c
jmp 0x537544
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 0x539aa4
ja 0x53713e
cmp cl, 0x24
jne 0x535d24
test eax, eax
jne 0x53961e
mov eax, 2
jmp 0x53717b
mov eax, dword [esp + 0x104]
cmp eax, 5
je 0x538e0c
mov ebx, dword [edi + 4]
test ebx, ebx
je 0x533a4f
cmp dword [edi], 1
jg 0x538de8
cmp ebx, dword [0x5ef7cc]
je 0x538ddc
mov dword [esp], ebx
call fcn.004ee144
mov dword [edi + 4], 0
jmp 0x533a4f
mov dword [edi + 4], 0
mov dword [esp], edi
call fcn.004dd9c0
mov dword [esp + 0xf0], eax
mov dword [edi + 4], ebx
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x5331f8
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 0x537f3d
mov eax, dword [esp + 0x100]
fld qword [eax]
fstp qword [esp + 4]
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.005327dc
jmp 0x533520
mov dword [esp + 0xf8], 2
mov eax, dword [esp + 0x70]
add eax, 0x10
mov dword [esp + 0xfc], eax
jmp 0x536c47
fld qword [edi + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x539601
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [edi + 0x10]
mov dword [esp + 0x100], edx
jmp 0x538db7
lea esi, [esp + 0x160]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004dec0c
mov dword [esp + 4], esi
mov dword [esp], esi
call fcn.0053de10
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.0053dad4
cmp dword [ebx], 1
jle 0x5395ec
mov dword [esp], esi
call fcn.004defd0
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
mov dword [esp + 0x90], 0
jmp 0x5331f8
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 0x5395a6
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
not esi
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], 0x5ef790
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x538efa
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 0x534929
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.004f3d9c
mov dword [esp + 0xf0], eax
mov edx, dword [edi]
dec edx
mov dword [edi], edx
test edx, edx
jle 0x539571
mov dword [esp + 0x98], 1
test eax, eax
jne 0x535153
jmp 0x532c54
test eax, eax
jne 0x539011
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 2]
jmp 0x538c67
test eax, eax
jne 0x539000
mov eax, 2
jmp 0x538c67
lea eax, [esp + 0x104]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004e946c
mov edi, eax
jmp 0x5359b5
test edx, edx
je 0x53a543
mov edx, dword [edx + 4]
test edx, edx
je 0x53a543
mov dword [esp], eax
call fcn.004dd854
jmp 0x534ecb
lea esi, [esp + 0x104]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.004e946c
jmp 0x535ab0
mov dword [esp + 0x104], 2
lea eax, [ebx + 0x10]
mov dword [esp + 0x100], eax
jmp 0x5370c7
mov dword [esp + 0xf8], 1
lea eax, [edi + 0x10]
mov dword [esp + 0xfc], eax
jmp 0x536df9
mov dword [esp + 0x104], 2
lea eax, [esi + 0x10]
mov dword [esp + 0x100], eax
mov eax, 2
jmp 0x5385e7
mov dword [esp + 0xf8], 2
lea eax, [edi + 0x10]
mov dword [esp + 0xfc], eax
jmp 0x536df9
add dword [esp + 0x7c], 5
jmp 0x53636f
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 0x537015
mov dword [esp], eax
call fcn.004dd854
mov dword [esp + 0x80], esi
jmp 0x53701c
mov eax, dword [esi + 4]
test eax, eax
je 0x53912f
cmp eax, dword [0x5ef7cc]
je 0x53912f
mov dword [esp], eax
call fcn.004ee144
mov dword [esi + 8], 0xffffffff
mov dword [esp], esi
call fcn.0050d50c
jmp 0x536617
test esi, esi
jne 0x535960
lea eax, [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004e946c
mov ebx, eax
lea ecx, [esp + 0x104]
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.004e946c
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.004fe350
jmp 0x533be7
mov dword [esp], eax
call fcn.004dd854
jmp 0x535293
mov dword [esp], edi
call fcn.004dd854
mov eax, dword [esp + 0x50]
jmp 0x536f6e
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x5391e2
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x5391e2
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.004ee090
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 0x53c25c
add edx, eax
mov ebx, esi
jmp 0x5381a1
cmp al, 0x49
sete al
movzx eax, al
jmp 0x535d00
xor eax, 1
jmp 0x53803b
add edi, 0xa
mov dword [esp + 0x7c], edi
mov dword [esp + 0x90], 0
jmp 0x533fee
mov dword [esp + 0xf8], 1
mov eax, ebx
add eax, 0x10
mov dword [esp + 0xfc], eax
jmp 0x536c47
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.004de234
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.004de234
mov ebx, dword [esp + 0x7c]
mov bl, byte [ebx]
mov al, bl
sub eax, 0x35
cmp al, 0x2e
jbe 0x539567
fldz
fxam
wait
fnstsw ax
and eax, 0x4500
cmp ax, 0x100
je 0x53cf7a
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jle 0x53a580
fstp qword [esp + 0x50]
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
fld qword [esp + 0x50]
fstp qword [eax + 0x10]
mov dword [eax + 0xc], 0x5ef7a4
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x53345a
mov dword [esp], ebx
call fcn.004dd854
jmp 0x534289
mov eax, dword [esp + 0xf8]
lea esi, [esi + eax + 1]
mov dword [esp + 0x104], esi
mov ebx, 5
jmp 0x5331bc
mov dword [esp + 0xf8], 2
lea eax, [ebx + 0x10]
mov dword [esp + 0xfc], eax
jmp 0x535b6b
mov dword [esp + 0xf8], 1
mov eax, ecx
add eax, 0x10
mov dword [esp + 0xfc], eax
jmp 0x5332c4
mov dword [esp], edi
call fcn.004dd854
jmp 0x5367c6
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e1280
mov dword [esp + 0xf0], eax
jmp 0x532c54
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.00519580
mov dword [esp + 0x98], 1
jmp 0x5349e5
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x98], 1
jmp 0x532c54
mov eax, dword [ebx + 4]
test eax, eax
je 0x539400
cmp eax, dword [0x5ef7cc]
je 0x539400
mov dword [esp], eax
call fcn.004ee144
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050d50c
jmp 0x533846
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.004e1660
mov edx, dword [esi]
mov eax, dword [edx + 4]
test eax, eax
je 0x53c270
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.004e1460
mov dword [esp + 0x98], 1
jmp 0x532c54
mov dword [esp + 0x104], 2
lea eax, [edi + 0x10]
mov dword [esp + 0x100], eax
jmp 0x538dbc
mov dword [esp + 0x104], 1
lea eax, [edi + 0x10]
mov dword [esp + 0x100], eax
jmp 0x538dbc
mov dword [esp + 0xf8], 2
mov eax, dword [esp + 0x70]
add eax, 0x10
mov dword [esp + 0xfc], eax
jmp 0x5332c4
mov dword [esp + 0xf8], 1
lea eax, [ebx + 0x10]
mov dword [esp + 0xfc], eax
jmp 0x535b6b
lea ecx, [esp + 0xf8]
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.004ddcd8
mov edx, dword [esp + 0xf8]
jmp 0x5353ae
add eax, 0xa
mov dword [esp + 0x7c], eax
mov edx, dword [esp + 0x80]
mov ebx, dword [edx]
mov dword [esp + 0x90], 0
jmp 0x5341a0
mov dword [esp], edi
mov dword [esp + 0x50], eax
call fcn.004dd854
mov eax, dword [esp + 0x50]
jmp 0x534219
mov eax, dword [ebp + 4]
test eax, eax
je 0x539553
cmp eax, dword [0x5ef7cc]
je 0x539553
mov dword [esp], eax
call fcn.004ee144
mov dword [ebp + 8], 0xffffffff
mov dword [esp], ebp
call fcn.0050d50c
jmp 0x533ef7
movzx eax, al
jmp dword [eax*4 + 0x6289c0]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x53bf32
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x53bf32
mov dword [esp], edi
call fcn.004dd854
mov eax, dword [esp + 0xf0]
jmp 0x538fe3
mov eax, 1
jmp 0x5376ae
mov eax, dword [ebx + 4]
test eax, eax
je 0x5395c4
cmp eax, dword [0x5ef7cc]
je 0x5395bd
mov dword [esp], eax
call fcn.004ee144
mov dword [ebx + 4], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x5395d7
mov eax, dword [eax + 4]
test eax, eax
je 0x5395d7
mov dword [esp], ebx
call eax
not esi
mov dword [ebx + 0x10], esi
mov dword [ebx + 0xc], 0x5ef790
inc dword [esp + 0x7c]
jmp 0x535ef4
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.004decbc
inc dword [esp + 0x7c]
jmp 0x535ef4
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x538e92
test eax, eax
jne 0x538da6
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 2]
jmp 0x53717b
mov edx, dword [eax + 0xc]
test edx, edx
je 0x53beb9
mov edx, dword [edx + 4]
test edx, edx
je 0x53beb9
mov dword [esp], eax
call fcn.004dd854
jmp 0x534a1c
or dword [ebx + 0x100], 4
jmp 0x533929
mov edx, dword [eax + 0xc]
test edx, edx
je 0x53a753
mov edx, dword [edx + 4]
test edx, edx
je 0x53a753
mov dword [esp], eax
call fcn.004dd854
jmp 0x535149
cmp edx, 2
je 0x53a025
cmp eax, 2
je 0x53a025
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 0x53ce4a
cmp al, 0x2c
je 0x53ce43
cmp al, 0x2a
je 0x53ce3c
xor ebx, ebx
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jg 0x53ba65
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 4]
test eax, eax
je 0x5396ff
cmp eax, dword [0x5ef7cc]
je 0x5396f4
mov dword [esp], eax
call fcn.004ee144
mov ecx, dword [esp + 0x70]
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x539716
mov eax, dword [eax + 4]
test eax, eax
je 0x539716
mov dword [esp], ecx
call eax
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0xc], 0x5ef790
inc dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
mov ebx, dword [esi]
mov dword [esp + 0x90], 0
jmp 0x5341a0
dec edi
je 0x53ce51
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.004dec0c
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.004dec0c
lea esi, [esp + 0x150]
mov dword [esp], esi
call fcn.0053d71c
mov ebx, dword [esp + 0x7c]
mov bl, byte [ebx]
mov al, bl
sub eax, 0x35
cmp al, 0x2e
ja case.0x5397fc.332
movzx eax, al
jmp dword [eax*4 + 0x628a7c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.004de848
inc dword [esp + 0x7c]
jmp 0x535ef4
cmp eax, 1
je 0x53cba7
xor ecx, ecx
mov edx, dword [esp + 0xf8]
cmp edx, 1
je 0x53cb5a
cmp edx, 2
jne 0x53ca2b
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 0x53c9b3
lea eax, [esp + 0x120]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de960
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.005d98d4
mov esi, eax
mov edi, edx
test edx, edx
mov ecx, dword [esp + 0x3c]
js 0x53cd69
mov eax, edx
or eax, esi
je 0x53ccbf
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.004de90c
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x53345a
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x537d09
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x537c99
mov dword [esp], edi
call fcn.004de0c4
jmp 0x537938
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x53abdb
mov eax, dword [eax + 4]
test eax, eax
je 0x53abdb
mov dword [esp], ebx
call fcn.004dd854
mov ebx, 1
jmp 0x535110
mov dword [esp + 0xf8], 5
mov eax, 5
jmp 0x537d41
mov dword [esp + 0xf8], 5
mov eax, 5
jmp 0x537c13
mov dword [esp + 0xf8], 5
mov eax, 5
jmp 0x537c4b
mov dword [esp + 0xf8], 5
mov eax, 5
jmp 0x537cd1
test eax, eax
jne 0x537158
mov eax, 5
jmp 0x53717b
fld qword [ebx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x53ac27
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [ebx + 0x10]
mov dword [esp + 0x100], edx
jmp 0x533337
mov dword [esp + 0x104], 2
lea eax, [ebx + 0x10]
mov dword [esp + 0x100], eax
mov eax, 2
jmp 0x533349
mov dword [esp + 0x104], 1
lea eax, [ebx + 0x10]
mov dword [esp + 0x100], eax
mov eax, 1
jmp 0x533349
fld qword [ebx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x53b1ce
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [ebx + 0x10]
mov dword [esp + 0x100], edx
jmp 0x536e6c
mov dword [esp + 0x104], 2
lea eax, [ebx + 0x10]
mov dword [esp + 0x100], eax
mov eax, 2
jmp 0x536e7e
mov dword [esp + 0x104], 1
lea eax, [ebx + 0x10]
mov dword [esp + 0x100], eax
mov eax, 1
jmp 0x536e7e
mov ebx, dword [esp + 0x190]
and dword [ebx + 0x100], 0xfffffffb
mov ebx, 2
jmp 0x53627f
fld qword [edi + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x53afef
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [edi + 0x10]
mov dword [esp + 0x100], edx
cmp eax, 5
je 0x538d6e
mov edx, dword [esp + 0xf8]
cmp edx, 2
je 0x53afbe
jg 0x539c5e
dec edx
jne 0x539c3a
jmp 0x53ae81
fstp st(0)
jmp 0x539c3a
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 0x539c54
xor eax, eax
jmp 0x538d7a
movzx eax, al
jmp dword [eax*4 + 0x628b38]
cmp edx, 3
je 0x53b357
cmp edx, 4
jne 0x539c3a
mov edx, dword [esp + 0xfc]
fld qword [edx]
cmp eax, 2
je 0x53b244
jg 0x53b224
dec eax
jne 0x539c34
mov eax, dword [esp + 0x100]
fild dword [eax]
jmp 0x539c9c
fxch st(1)
jmp 0x539c9c
fxch st(1)
jmp 0x539c9c
fxch st(1)
fucom st(1)
fnstsw ax
test ah, 0x45
je 0x53b20e
fxch st(1)
fucompp
fnstsw ax
xor edx, edx
test ah, 0x45
sete dl
mov edi, edx
jmp 0x539c3c
mov dword [esp + 0x104], 2
lea eax, [edi + 0x10]
mov dword [esp + 0x100], eax
mov eax, 2
jmp 0x539c1a
mov dword [esp + 0x104], 1
lea eax, [edi + 0x10]
mov dword [esp + 0x100], eax
mov eax, 1
jmp 0x539c1a
mov dword [esp], esi
call fcn.004dd854
jmp 0x536a86
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 0x53ad32
mov eax, dword [ebx]
cmp eax, 1
jle 0x53ad0e
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.004de90c
mov dword [esp + 0xf0], eax
inc dword [eax]
mov dword [edi + 4], eax
jmp 0x536a95
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 0x53ad6e
mov eax, dword [ebx]
cmp eax, 1
jg 0x539e10
mov dword [esp + 0xf0], ebx
mov eax, dword [ebx + 4]
test eax, eax
je 0x539dee
cmp eax, dword [0x5ef7cc]
je 0x539de7
mov dword [esp], eax
call fcn.004ee144
mov dword [ebx + 4], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x539e01
mov eax, dword [eax + 4]
test eax, eax
je 0x539e01
mov dword [esp], ebx
call eax
mov dword [ebx + 0x10], esi
mov dword [ebx + 0xc], 0x5ef790
jmp 0x536a95
dec eax
mov dword [ebx], eax
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], 0x5ef790
mov dword [eax], 1
mov dword [edi + 4], eax
jmp 0x536a95
mov eax, dword [ebx + 4]
test eax, eax
jne 0x5369d3
jmp 0x536a1d
fld qword [ebx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x53adad
mov dword [esp + 0x104], 4
mov eax, 4
lea edx, [ebx + 0x10]
mov dword [esp + 0x100], edx
jmp 0x536a0b
lea ecx, [ecx + eax + 1]
test ecx, ecx
jns 0x53778c
mov ecx, 0xffffffff
jmp 0x53778c
lea ebx, [edx + eax + 1]
test ebx, ebx
jns 0x5377cb
mov ebx, 0xffffffff
jmp 0x5377cb
lea eax, [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004ddcd8
mov ebx, eax
jmp 0x535cd2
mov dword [esp], edi
call fcn.004dda84
mov edx, eax
jmp 0x53596b
mov dword [esp], ebx
mov dword [esp + 0x40], edx
call fcn.004dda84
mov edx, dword [esp + 0x40]
jmp 0x535976
mov dword [esp], edx
call fcn.004dda84
jmp 0x5347e4
lea edx, [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ddcd8
mov edi, eax
jmp 0x535324
lea edi, [esp + 0x104]
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004ddcd8
mov edx, dword [esp + 0x104]
jmp 0x535ce7
lea eax, [esp + 0x104]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004ddcd8
mov edx, dword [esp + 0x104]
jmp 0x535c32
lea eax, [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004ddcd8
mov esi, eax
jmp 0x535c1d
call fcn.0050d3e4
mov dword [esi + 4], eax
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0xffffffff
mov dword [eax + 0xc], 0x5ef790
mov dword [eax], 1
jmp 0x532f09
mov dword [esp], str.mis_issued_dictDone_
call fcn.00508cd0
jmp 0x534c66
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.004e1280
mov dword [esp + 0xf0], eax
call fcn.0050d3e4
mov edx, dword [0x5ef7cc]
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 0x533156
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0xc]
cmp eax, 0x5ef77c
je 0x53abc2
cmp eax, 0x5ef790
je 0x53aba3
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.004de960
mov eax, dword [ebx + 0xc]
cmp eax, 0x5ef77c
je 0x53ab8a
cmp eax, 0x5ef790
je 0x53ab6f
lea eax, [esp + 0x120]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004de960
mov ebx, dword [esp + 0x7c]
mov al, byte [ebx]
cmp al, 0x2b
je 0x53ab40
cmp al, 0x2c
je 0x53ab11
cmp al, 0x2a
je 0x53aae2
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 0x53aac5
mov dword [esp], ebx
mov dword [esp + 4], esi
call fcn.004de90c
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x53345a
mov dword [esp], edi
call fcn.004dd854
mov dword [esp + 0x80], esi
jmp 0x53701c
mov dword [esp], eax
call fcn.004dd854
jmp 0x537008
call sub.msvcrt.dll_strcmp
test eax, eax
setne al
movzx eax, al
jmp 0x535d00
lea ecx, [esp + 0x104]
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.004ddcd8
mov edx, dword [esp + 0x104]
jmp 0x538138
lea ebx, [esp + 0x160]
mov dword [esp], ebx
call fcn.0053d71c
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.0058abc4
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x53a1c6
mov ecx, dword [esp + 0x148]
cmp dword [esp + 0x168], ecx
je 0x53a1c6
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.0053dad4
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.0058ab14
mov dword [esp], ebx
call fcn.0052532c
mov ebx, dword [esp + 0xa8]
mov dword [esp], ebx
call fcn.0052532c
mov edi, dword [esp + 0x90]
mov dword [esp], edi
call fcn.0052532c
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jle 0x53b5dd
mov dword [esp], esi
call fcn.004defd0
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x53345a
fld qword [ecx + 0x10]
fxam
wait
fnstsw ax
fstp st(0)
and eax, 0x4500
cmp ax, 0x100
je 0x53bee7
mov dword [esp + 0x104], 4
mov edx, 4
mov eax, dword [esp + 0xa0]
add eax, 0x10
mov dword [esp + 0x100], eax
jmp 0x536cd6
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.004f3d9c
mov dword [esp + 0xf0], eax
test eax, eax
je 0x53b5f6
mov dword [esp + 0x98], 1
jmp 0x534a23
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x53a605
mov eax, dword [eax + 4]
test eax, eax
je 0x53a605
mov dword [esp], ebx
call fcn.004dd854
jmp 0x5384eb
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + 4]
test eax, eax
je 0x53a309
cmp eax, dword [0x5ef7cc]
je 0x53a309
mov dword [esp], eax
call fcn.004ee144
mov eax, dword [esp + 0xbc]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050d50c
mov dword [esp + 0x98], 1
jmp 0x532c54
mov dword [esp + 0x104], 1
mov eax, ecx
add eax, 0x10
mov dword [esp + 0x100], eax
mov edx, 1
jmp 0x536cdf
mov dword [esp + 0x104], 2
mov eax, dword [esp + 0xa0]
add eax, 0x10
mov dword [esp + 0x100], eax
mov edx, 2
jmp 0x536cdf
cmp edi, 3
je 0x539788
cmp edx, 3
je 0x539788
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0xc]
cmp eax, 0x5ef77c
je 0x53c99a
cmp eax, 0x5ef790
je 0x53c97b
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.004de960
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 0xc]
cmp eax, 0x5ef77c
je 0x53c962
cmp eax, 0x5ef790
je 0x53c940
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.004de960
mov ebx, dword [esp + 0x7c]
mov al, byte [ebx]
cmp al, 0x36
je 0x53c852
cmp al, 0x38
je 0x53c7b2
cmp al, 0x35
je 0x53c74a
xor ecx, ecx
xor ebx, ebx
mov edx, dword [esp + 0x70]
cmp dword [edx], 1
jle 0x53c72d
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.004de90c
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x53345a
mov dword [esp + 0x98], 1
jmp 0x5348b8
call fcn.0050d3e4
mov edi, eax
mov dword [eax], 0
mov eax, dword [0x5ef7cc]
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 0x5350e4
mov eax, dword [ebx + 4]
test eax, eax
jne 0x535b22
jmp 0x535be7
call fcn.0050d3e4
mov esi, eax
mov dword [eax], 0
mov eax, dword [0x5ef7cc]
mov dword [esi + 4], eax
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esp + 0x98], 1
jmp 0x5388e2
mov eax, dword [eax + 4]
test eax, eax
je 0x53a558
cmp dword [esp + 0x70], eax
je 0x53a558
mov dword [esp], eax
call fcn.004ee144
mov eax, dword [esi + 4]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050d50c
jmp 0x534ecb
mov eax, dword [ebx + 4]
test eax, eax
jne 0x536e2c
jmp 0x5334f9
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 4]
test eax, eax
je 0x53a5ae
cmp eax, dword [0x5ef7cc]
je 0x53a5a3
mov dword [esp], eax
fstp qword [esp + 0x50]
call fcn.004ee144
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 0x53a5cd
mov eax, dword [eax + 4]
test eax, eax
je 0x53a5cd
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], 0x5ef7a4
inc dword [esp + 0x7c]
jmp 0x539728
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.00508cd0
mov eax, dword [esp + 0x50]
jmp 0x538140
mov eax, dword [ebx + 4]
test eax, eax
je 0x53a61c
cmp eax, dword [0x5ef7cc]
je 0x53a61c
mov dword [esp], eax
call fcn.004ee144
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050d50c
jmp 0x5384eb
xor ecx, ecx
jmp 0x5377eb
call fcn.004de46c
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.005192c0
mov ebx, 1
jmp 0x53511f
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.0058b51c
jmp case.0x5397fc.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.0058ab14
jmp case.0x5397fc.332
mov dword [esp], eax
call fcn.004dd854
jmp 0x5386d6
mov eax, dword [esi + 4]
test eax, eax
je 0x53a6d1
cmp eax, dword [0x5ef7cc]
je 0x53a6d1
mov dword [esp], eax
call fcn.004ee144
mov dword [esi + 8], 0xffffffff
mov dword [esp], esi
call fcn.0050d50c
jmp 0x533af8
mov ebx, dword [esp + 0x140]
test ebx, ebx
jne 0x53a156
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
call fcn.0052532c
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
call fcn.0052532c
mov dword [esp], esi
call fcn.0052532c
jmp 0x532be7
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.0058a800
jmp case.0x5397fc.332
mov dword [esp], str.mis_issued_dictFirst_
call fcn.00508cd0
jmp 0x534ecb
mov edx, dword [eax + 4]
test edx, edx
je 0x53a772
cmp edx, dword [0x5ef7cc]
je 0x53a772
mov dword [esp], edx
mov dword [esp + 0x50], eax
call fcn.004ee144
mov eax, dword [esp + 0x50]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050d50c
jmp 0x535149
mov eax, 2
jmp 0x537624
cmp dword [esp + 0x140], 1
jle 0x53aaa0
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.exponent_too_large
call fcn.004eb494
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e1100
mov edi, dword [esp + 0xa8]
mov dword [esp], edi
call fcn.0052532c
mov edx, dword [esp + 0x90]
mov dword [esp], edx
call fcn.0052532c
mov dword [esp], esi
call fcn.0052532c
jmp 0x532c54
mov ebx, dword [esp + 0x7c]
movsx eax, byte [ebx + 6]
jmp 0x537624
mov eax, dword [esp + 0x100]
test eax, eax
je 0x53a9be
cmp dword [eax], 1
jle 0x53a968
mov dword [esp], eax
call fcn.004dd9c0
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.004dfccc
mov dword [esp + 0x90], eax
test eax, eax
mov eax, dword [esp + 0x100]
je 0x534fe9
mov ecx, dword [eax]
dec ecx
mov dword [eax], ecx
test ecx, ecx
jle 0x53aa3e
mov eax, dword [esp + 0x70]
test eax, eax
je 0x533af8
jmp 0x53891d
mov eax, dword [esp + 0x100]
test eax, eax
je 0x53aa59
cmp dword [eax], 1
jle 0x53a89e
mov dword [esp], eax
call fcn.004dd9c0
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.004ebefc
mov eax, dword [esp + 0x100]
jmp 0x534fe9
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.004f3d9c
mov dword [esp + 0xf0], eax
mov ecx, dword [esi]
dec ecx
mov dword [esi], ecx
test ecx, ecx
jle 0x53a99c
mov dword [esp + 0x98], 1
test eax, eax
jne 0x53503c
jmp 0x532c54
add ebx, 6
mov dword [esp + 0x7c], ebx
jmp 0x538c6d
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x53a9e1
mov eax, dword [eax + 4]
test eax, eax
je 0x53a9e1
mov dword [esp], ebx
call fcn.004dd854
jmp 0x535032
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.004dfccc
mov dword [esp + 0x90], eax
test eax, eax
jne 0x53a86a
jmp 0x534fe2
mov eax, dword [esi + 0xc]
test eax, eax
je 0x53aa0c
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x53aa0c
mov dword [esp], esi
call fcn.004dd854
mov eax, dword [esp + 0xf0]
jmp 0x53a91d
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
mov dword [esp], 1
call fcn.004dfaf4
mov dword [esp + 0x100], eax
jmp 0x534fe9
mov eax, dword [ebx + 4]
test eax, eax
je 0x53a9f8
cmp eax, dword [0x5ef7cc]
je 0x53a9f8
mov dword [esp], eax
call fcn.004ee144
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050d50c
jmp 0x535032
mov eax, dword [esi + 4]
test eax, eax
je 0x53aa23
cmp eax, dword [0x5ef7cc]
je 0x53aa23
mov dword [esp], eax
call fcn.004ee144
mov dword [esi + 8], 0xffffffff
mov dword [esp], esi
call fcn.0050d50c
mov eax, dword [esp + 0xf0]
jmp 0x53a91d
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x53aa6e
mov edx, dword [ecx + 4]
test edx, edx
je 0x53aa6e
mov dword [esp], eax
call fcn.004dd854
jmp 0x53a86a
mov edx, dword [esp + 0x80]
mov eax, dword [edx]
mov dword [esp + 0x100], eax
jmp 0x534fe9
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x53aa8c
cmp ecx, dword [0x5ef7cc]
je 0x53aa8c
mov dword [esp], ecx
call fcn.004ee144
mov eax, dword [esp + 0x100]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050d50c
jmp 0x53a86a
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.0058c1b0
jmp case.0x5397fc.332
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004de848
inc dword [esp + 0x7c]
jmp 0x539728
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 0x53a0c9
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 0x53a0c9
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 0x53a0c9
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x120], eax
mov ebx, eax
sar ebx, 0x1f
mov dword [esp + 0x124], ebx
jmp 0x53a095
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
jmp 0x53a095
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 0x53a061
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], edx
jmp 0x53a061
mov eax, dword [ebx + 4]
test eax, eax
je 0x53abf2
cmp eax, dword [0x5ef7cc]
je 0x53abf2
mov dword [esp], eax
call fcn.004ee144
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050d50c
mov ebx, 1
jmp 0x535110
mov eax, dword [esp + 0x104]
jmp 0x539c11
mov edx, dword [edi + 4]
test edx, edx
jne 0x535ba6
jmp case.0x532e3b.75
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x539adf
mov dword [esp + 4], 0
mov dword [esp], ebx
mov dword [esp + 0x50], eax
call fcn.004f3844
mov ecx, dword [esp + 0xfc]
mov esi, dword [ecx]
mov eax, dword [esp + 0x50]
jmp 0x533d2e
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004decbc
inc dword [esp + 0x7c]
jmp 0x539728
cmp ecx, 1
je 0x53ae39
cmp ecx, 2
je 0x53ae24
mov dword [esp + 4], edx
mov dword [esp], edx
mov dword [esp + 0x40], edx
call fcn.0053de10
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], edx
call fcn.0053dad4
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0053de10
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0053dad4
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058be7c
mov dword [esp + 4], ebx
mov dword [esp], ebx
call fcn.0053de10
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.0053dad4
jmp 0x533421
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.004de848
jmp 0x536a95
mov edx, dword [esp + 0xac]
xor edx, dword [esp + 0x34]
jns 0x536a1d
jmp 0x539d5e
mov eax, dword [esp + 0x104]
jmp 0x536312
mov ebx, dword [esp + 0x190]
mov ecx, dword [ebx + 0x218]
test ecx, ecx
je 0x532d0b
jmp 0x5336d4
mov ecx, dword [esp + 0xa0]
xor ecx, eax
js 0x539dc2
mov dword [esp + 0x70], eax
mov esi, eax
sar esi, 0x1f
mov dword [esp + 0x74], esi
mov eax, dword [ebx]
cmp eax, 1
jle 0x53adc2
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 0x539d74
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x539e79
mov dword [esp + 0xf0], ebx
mov eax, dword [ebx + 4]
test eax, eax
je 0x53ade7
cmp eax, dword [0x5ef7cc]
je 0x53ade0
mov dword [esp], eax
call fcn.004ee144
mov dword [ebx + 4], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x53adfa
mov eax, dword [eax + 4]
test eax, eax
je 0x53adfa
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], 0x5ef77c
jmp 0x536a95
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.0058c4ec
jmp 0x533421
mov dword [esp + 4], edi
mov dword [esp], edi
mov dword [esp + 0x40], edx
call fcn.0053de10
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0053dad4
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058c6d4
mov dword [esp + 8], ebx
mov dword [esp + 4], ebx
mov dword [esp], edi
jmp 0x53ace4
mov edx, dword [esp + 0xfc]
mov edx, dword [edx]
cmp eax, 2
je 0x53aef9
jg 0x53aecd
dec eax
jne 0x539c3a
mov eax, dword [esp + 0x100]
cmp edx, dword [eax]
jl 0x53b21a
setg al
movzx eax, al
mov edi, eax
jmp 0x539c3c
cmp eax, 3
je 0x53af36
cmp eax, 4
jne 0x539c3a
mov eax, dword [esp + 0x100]
fld qword [eax]
mov dword [esp + 0xe8], edx
fild dword [esp + 0xe8]
fxch st(1)
jmp 0x539c9c
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 0x53b21a
jg 0x53af1e
cmp ecx, esi
jb 0x53b21a
mov eax, 1
cmp ebx, edi
jg 0x53af2f
jl 0x53af2d
cmp ecx, esi
ja 0x53af2f
xor eax, eax
mov edi, eax
jmp 0x539c3c
lea ebx, [esp + 0x160]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004dec0c
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0053dde0
xor edx, edx
inc eax
sete dl
mov edi, edx
lea edi, [edi + edi - 1]
mov dword [esp], ebx
call fcn.0052532c
jmp 0x539c3c
xor eax, eax
dec edi
setne al
jmp 0x538d7a
xor eax, eax
dec edi
sete al
jmp 0x538d7a
xor eax, eax
inc edi
sete al
jmp 0x538d7a
xor eax, eax
test edi, edi
setne al
jmp 0x538d7a
xor eax, eax
test edi, edi
sete al
jmp 0x538d7a
xor eax, eax
inc edi
setne al
jmp 0x538d7a
mov edx, dword [esp + 0xfc]
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
cmp eax, 2
je 0x53b12e
jg 0x53b004
dec eax
jne 0x539c3a
mov eax, dword [esp + 0x100]
mov esi, dword [eax]
mov edi, esi
sar edi, 0x1f
jmp 0x53af0c
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x539c07
cmp eax, 3
je 0x53b187
cmp eax, 4
jne 0x539c3a
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 0x539c92
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 0x539c96
fstp st(0)
fld dword [0x629218]
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x53b177
fld dword [0x62921c]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x53b214
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 0x53af0c
mov eax, dword [esp + 0x100]
mov esi, dword [eax]
mov edi, dword [eax + 4]
jmp 0x53af0c
fld qword [0x629208]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x53b165
fld qword [0x629210]
fucomp st(1)
fnstsw ax
test ah, 0x45
jne 0x53b3b1
fldz
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
je 0x53b17d
jmp 0x53b21a
fstp st(0)
jmp 0x53b17d
fstp st(0)
mov edi, 1
jmp 0x539c3c
lea ebx, [esp + 0x160]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004dec0c
jmp 0x53b1a6
fstp st(0)
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0053dde0
inc eax
sete al
movzx eax, al
lea edi, [eax + eax - 1]
mov dword [esp], ebx
call fcn.0052532c
jmp 0x539c3c
mov dword [esp + 0x104], 5
mov eax, 5
jmp 0x539b55
mov eax, dword [edi + 4]
test eax, eax
je 0x53b1fa
cmp eax, dword [0x5ef7cc]
je 0x53b1fa
mov dword [esp], eax
call fcn.004ee144
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050d50c
jmp 0x533af8
fstp st(0)
fstp st(0)
jmp 0x53b21a
fstp st(0)
jmp 0x53b21a
fstp st(0)
mov edi, 0xffffffff
jmp 0x539c3c
cmp eax, 3
je 0x53b13f
cmp eax, 4
jne 0x539c38
mov eax, dword [esp + 0x100]
fld qword [eax]
jmp 0x539c9c
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 0x539c9c
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 0x539c9a
fstp st(1)
fld dword [0x629218]
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x53b218
fld dword [0x62921c]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x53b17b
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 0x53af0c
lea esi, [esp + 0x150]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004dec0c
mov eax, dword [esp + 0x104]
cmp eax, 3
je 0x53b55d
jg 0x53b450
dec eax
jge 0x53b392
jmp 0x539c3a
fstp st(0)
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.0053dde0
mov edi, eax
mov dword [esp], esi
call fcn.0052532c
jmp 0x539c3c
lea ebx, [esp + 0x160]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0
fstp qword [esp + 0x40]
call fcn.004dec0c
fld qword [0x629220]
fld qword [esp + 0x40]
fxch st(1)
fucomp st(1)
fnstsw ax
test ah, 0x45
jne 0x53b3fc
fld dword [0x629228]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x53b1a4
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 0x53b57a
fstp st(0)
mov dword [esp], ebx
call fcn.00527eec
mov dword [esp], ebx
fstp qword [esp + 0x50]
call fcn.0052532c
fld qword [esp + 0x50]
fld qword [esp + 0x40]
fxch st(1)
jmp 0x539c9c
cmp eax, 4
jne 0x539c3a
mov eax, dword [esp + 0x100]
fld qword [eax]
fld qword [0x629208]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x53b484
fld qword [0x629210]
fucomp st(1)
fnstsw ax
test ah, 0x45
jne 0x53b49f
fldz
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
jne 0x53b515
mov edi, 0xffffffff
jmp 0x53b3a4
fld qword [0x629220]
fucomp st(1)
fnstsw ax
test ah, 0x45
jne 0x53b4c5
fld dword [0x629228]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x53b390
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 0x53b51f
fstp st(0)
mov dword [esp], esi
call fcn.00527eec
mov dword [esp], esi
fstp qword [esp + 0x40]
call fcn.0052532c
fld qword [esp + 0x50]
fld qword [esp + 0x40]
fxch st(1)
jmp 0x539c9c
mov edi, 1
jmp 0x53b3a4
lea ebx, [esp + 0x160]
mov dword [esp + 0xc], ebx
fstp qword [esp + 4]
mov dword [esp], 0
call fcn.00527d84
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0058bf28
mov edi, eax
mov dword [esp], esi
call fcn.0052532c
mov dword [esp], ebx
call fcn.0052532c
jmp 0x539c3c
lea ebx, [esp + 0x160]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004dec0c
jmp 0x53b53a
lea esi, [esp + 0x150]
mov dword [esp + 0xc], esi
fstp qword [esp + 4]
mov dword [esp], 0
call fcn.00527d84
jmp 0x53b53a
fld qword [esp + 0x108]
fldz
fxch st(1)
fucom st(1)
fnstsw ax
and ah, 0x45
fld qword [esp + 0x110]
cmp ah, 0x40
jne 0x53b5c8
fxch st(2)
fucomp st(2)
fnstsw ax
test ah, 0x45
je 0x53cfae
fxch st(1)
jmp 0x53b5cc
fstp st(2)
fxch st(1)
fstp qword [esp + 8]
fstp qword [esp]
call sub.msvcrt.dll_pow
jmp 0x5392cf
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004decbc
inc dword [esp + 0x7c]
jmp 0x539728
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x533520
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 0x533520
mov eax, dword [edx + 0xc]
test eax, eax
je 0x53b69d
mov eax, dword [eax + 4]
test eax, eax
je 0x53b69d
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004dd854
mov dword [esp + 0x98], 1
jmp 0x532c54
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 4]
test eax, eax
je 0x53b6b8
cmp eax, dword [0x5ef7cc]
je 0x53b6b8
mov dword [esp], eax
call fcn.004ee144
mov eax, dword [esp + 0x70]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050d50c
mov dword [esp + 0x98], 1
jmp 0x532c54
mov eax, dword [esp + 0xfc]
mov eax, dword [eax]
mov dword [esp + 0x90], eax
test edx, edx
jne 0x53b7c0
mov esi, dword [esp + 0x90]
test esi, esi
je 0x536d49
cmp dword [esp + 0x90], 1
je 0x53baaa
cmp dword [esp + 0x90], 0xffffffff
je 0x53b7eb
cmp dword [esp + 0x104], 1
je 0x53b75f
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.exponent_too_large
call fcn.004eb494
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e1100
jmp 0x532c54
xor ecx, ecx
xor dl, dl
xor ebx, ebx
jmp 0x536d38
cmp dword [esp + 0x90], 2
je 0x53b959
cmp dword [esp + 0x90], 0xfffffffe
je 0x53b90f
cmp ebx, 8
jg 0x53b88f
mov eax, dword [ebx*4 + 0x628d30]
cmp dword [esp + 0x90], eax
jg 0x53b88f
neg eax
cmp dword [esp + 0x90], eax
jl 0x53b88f
mov edi, dword [esp + 0x90]
imul edi, edi
sub ebx, 3
cmp ebx, 5
ja case.default.0x53b7b9
jmp dword [ebx*4 + 0x628b50]
mov edx, dword [esp + 0x90]
test edx, edx
je 0x53cfb2
cmp dword [esp + 0x90], 1
je 0x53baaa
cmp dword [esp + 0x90], 0xffffffff
jne 0x536d49
test ecx, ecx
jne 0x536ee8
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 8]
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
jmp 0x536f14
imul edi, dword [esp + 0x90]
imul edi, edi
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jle 0x53b876
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov dword [eax + 0x10], edi
mov dword [eax + 0xc], 0x5ef790
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x53345a
imul edi, edi
imul edi, edi
jmp case.default.0x53b7b9
imul edi, dword [esp + 0x90]
imul edi, edi
imul edi, dword [esp + 0x90]
jmp case.default.0x53b7b9
imul edi, edi
imul edi, dword [esp + 0x90]
jmp case.default.0x53b7b9
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004de528
inc dword [esp + 0x7c]
jmp 0x539728
mov eax, dword [esp + 0x90]
sub eax, 3
cmp eax, 7
ja 0x53ba02
cmp ebx, 0x29
jg 0x53ba02
mov di, word [eax + eax + 0x628d54]
lea edi, [edi + ebx - 9]
mov esi, dword [esp + 0x90]
cmp di, word [esi + esi + 0x628d50]
jae 0x53ba02
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jle 0x53b9df
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
movzx edi, di
mov edx, dword [edi*4 + 0x628d80]
mov dword [eax + 0x10], edx
mov dword [eax + 0xc], 0x5ef790
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x53345a
cmp ecx, 1
sbb esi, esi
and esi, 2
dec esi
cmp ebx, 0x1e
jbe 0x53b97f
cmp ebx, 0x3e
ja 0x539788
mov edi, esi
sar edi, 0x1f
mov cl, bl
shld edi, esi, cl
shl esi, cl
test cl, 0x20
je 0x53b93b
mov edi, esi
xor esi, esi
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.004de90c
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x53345a
cmp ebx, 0x1e
jbe 0x53b9af
cmp ebx, 0x3e
ja 0x539788
mov cl, bl
xor eax, eax
xor edx, edx
test cl, 0x20
sete al
setne dl
shl eax, cl
shl edx, cl
jmp 0x539983
call fcn.0050d3e4
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], 0x5ef790
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x53345a
call fcn.0050d3e4
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], 0x5ef790
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x53345a
movzx edi, di
mov eax, dword [edi*4 + 0x628d80]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004de528
inc dword [esp + 0x7c]
jmp 0x539728
mov edx, 0xfffffffd
sub edx, dword [esp + 0x90]
js 0x53ce2b
mov eax, 0xfffffffe
sub eax, dword [esp + 0x90]
cmp eax, 8
jg 0x53ce2b
cmp ebx, 0x29
jg 0x53ce2b
mov dx, word [edx + edx + 0x628d54]
lea edx, [edx + ebx - 9]
cmp dx, word [eax + eax + 0x628d54]
jae 0x53ce2b
movzx edx, dx
mov ebx, dword [edx*4 + 0x628d80]
test ecx, ecx
je 0x53ba5c
neg ebx
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jle 0x53ba91
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], 0x5ef790
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x53345a
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004de528
inc dword [esp + 0x7c]
jmp 0x539728
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 8]
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x53345a
cmp dword [esp + 0x104], 1
jne 0x53b728
mov dword [esp + 0x90], 0
cmp edi, 2
jne 0x539788
mov eax, dword [esp + 0xfc]
mov esi, dword [eax]
mov edi, dword [eax + 4]
cmp ebx, 0x10
jg 0x53bb4a
mov eax, dword [ebx*8 + 0x628e10]
mov edx, dword [ebx*8 + 0x628e14]
cmp edi, edx
jg 0x53bb4a
jl 0x53bb11
cmp esi, eax
ja 0x53bb4a
neg eax
adc edx, 0
neg edx
cmp edi, edx
jl 0x53bb4a
jg 0x53bb22
cmp esi, eax
jb 0x53bb4a
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.0x53bb43
jmp dword [ebx*4 + 0x628b68]
mov eax, esi
mov edx, edi
add eax, 0xfffffffd
adc edx, 0xffffffff
cmp edx, 0
ja 0x53be09
cmp eax, 0xa
ja 0x53be09
cmp ebx, 0x5c
jg 0x53be09
mov dx, word [eax + eax + 0x628e98]
lea edx, [edx + ebx - 0x11]
lea eax, [esi - 2]
cmp dx, word [eax + eax + 0x628e98]
jae 0x53be09
mov ecx, dword [esp + 0x70]
movzx edx, dx
cmp dword [ecx], 1
mov eax, dword [edx*8 + 0x628ec0]
mov edx, dword [edx*8 + 0x628ec4]
jg 0x539983
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004de848
inc dword [esp + 0x7c]
jmp 0x539728
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.004de90c
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x53345a
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.0x53bb43
mov ecx, dword [esp + 0x74]
jmp 0x53bbfa
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.0x53bb43
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.0x53bb43
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 0x53bbe0
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 0x53bc8f
mov ecx, dword [esp + 0x74]
jmp 0x53bd01
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 0x53bc55
mov ecx, dword [esp + 0x74]
imul ecx, dword [esp + 0x70]
shl ecx, 1
mov eax, dword [esp + 0x70]
mul eax
jmp 0x53bbf2
mov ecx, dword [esp + 0x74]
jmp 0x53bd34
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 0x53bbf2
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 0x53bc65
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 0x53bd58
mov eax, 0xfffffffd
mov edx, 0xffffffff
sub eax, esi
sbb edx, edi
test edx, edx
js 0x539788
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 0x539788
jl 0x53be61
cmp dword [esp + 0x90], 0xb
ja 0x539788
cmp ebx, 0x5c
jg 0x539788
mov ax, word [eax + eax + 0x628e98]
lea eax, [eax + ebx - 0x11]
mov esi, dword [esp + 0x90]
cmp ax, word [esi + esi + 0x628e98]
jae 0x539788
movzx eax, ax
mov edx, dword [eax*8 + 0x628ec4]
mov eax, dword [eax*8 + 0x628ec0]
test ecx, ecx
je 0x53bea7
neg eax
adc edx, 0
neg edx
mov ecx, dword [esp + 0x70]
cmp dword [ecx], 1
jg 0x539983
jmp 0x53bbaa
mov edx, dword [eax + 4]
test edx, edx
je 0x53bed3
cmp edx, dword [0x5ef7cc]
je 0x53bed3
mov dword [esp], edx
call fcn.004ee144
mov eax, dword [edi + 4]
mov dword [eax + 8], 0xffffffff
mov dword [esp], eax
call fcn.0050d50c
jmp 0x534a1c
mov dword [esp + 0x104], 5
mov edx, 5
jmp 0x53a23c
mov dword [esp + 0x70], 1
jmp 0x534fc0
mov eax, dword [esp + 0x100]
mov ebx, dword [eax]
test ebx, ebx
je 0x53baaa
cmp ebx, 1
je 0x53b886
mov edx, ebx
shr edx, 0x1f
mov ecx, ebx
and ecx, 1
jmp 0x536d38
mov eax, dword [edi + 4]
test eax, eax
je 0x53bf49
cmp eax, dword [0x5ef7cc]
je 0x53bf49
mov dword [esp], eax
call fcn.004ee144
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050d50c
mov eax, dword [esp + 0xf0]
jmp 0x538fe3
cmp esi, eax
jle 0x53bf6a
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 0x535c4f
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.004dec0c
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0053dde0
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.0053d640
xor ecx, ecx
mov edi, dword [esp + 0x160]
test edi, edi
setne cl
mov dword [esp], ebx
mov dword [esp + 0x3c], ecx
call fcn.0052532c
mov edi, dword [esp + 0xf8]
xor ebx, ebx
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
jmp 0x536d38
mov eax, dword [esp + 0x100]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
shr edx, 0x1f
and ecx, 1
xor ebx, ebx
jmp 0x536d38
mov dword [esp + 4], 1
add eax, edx
mov dword [esp], eax
call fcn.004eb494
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
jmp 0x535a75
mov dword [esp + 4], 1
add edx, edi
mov dword [esp], edx
call fcn.004e941c
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
jmp 0x535a75
cmp ecx, 1
je 0x53c15b
cmp ecx, 2
je 0x53c146
mov dword [esp + 4], edx
mov dword [esp], edx
mov dword [esp + 0x40], edx
call fcn.0053de10
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], edx
call fcn.0053dad4
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0053de10
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0053dad4
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058c4ec
jmp 0x53ace9
cmp ecx, 1
je 0x53c1ed
cmp ecx, 2
je 0x53c1d8
mov dword [esp + 4], edx
mov dword [esp], edx
mov dword [esp + 0x40], edx
call fcn.0053de10
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], edx
call fcn.0053dad4
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0053de10
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0053dad4
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058c6d4
jmp 0x533421
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.0058be7c
jmp 0x533421
mov dword [esp + 4], edi
mov dword [esp], edi
mov dword [esp + 0x40], edx
call fcn.0053de10
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0053dad4
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058c6d4
mov dword [esp + 8], ebx
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058be7c
jmp 0x533421
mov ecx, 1
mov edi, esi
mov edx, dword [esp + 0x90]
jmp 0x5333dd
call fcn.0053dde0
xor ecx, ecx
inc eax
setne cl
mov edi, dword [esp + 0x90]
mov edx, esi
jmp 0x5333dd
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.0058c6d4
jmp 0x533421
mov dword [esp + 4], edi
mov dword [esp], edi
mov dword [esp + 0x40], edx
call fcn.0053de10
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0053dad4
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0058c6d4
jmp 0x53ace9
mov eax, dword [esp + 0xfc]
mov eax, dword [eax]
test eax, eax
setg al
movzx eax, al
test eax, eax
je 0x536ee8
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 4]
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
jmp 0x536f14
mov dword [esp], ecx
call fcn.004dda84
mov edx, dword [esp + 0x104]
jmp 0x539228
mov dword [esp], edx
call fcn.004dda84
jmp 0x539441
fld qword [esp + 0x108]
fdiv qword [esp + 0x110]
jmp 0x5392cf
fld qword [esp + 0x108]
fmul qword [esp + 0x110]
jmp 0x5392cf
fld qword [esp + 0x108]
fsub qword [esp + 0x110]
jmp 0x5392cf
fld qword [esp + 0x108]
fadd qword [esp + 0x110]
jmp 0x5392cf
lea ebx, [esp + 0x160]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004dec0c
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0053dde0
dec eax
sete al
movzx eax, al
mov dword [esp], ebx
mov dword [esp + 0x50], eax
call fcn.0052532c
mov eax, dword [esp + 0x50]
jmp 0x53c23b
mov edx, dword [esp + 0xfc]
mov eax, 1
cmp dword [edx + 4], 0
jg 0x53c23b
jl 0x53c331
cmp dword [edx], 0
ja 0x53c23b
xor eax, eax
jmp 0x53c23b
mov edx, dword [esp + 0x100]
mov edx, dword [edx]
mov dword [esp + 0x70], edx
cmp eax, 1
je 0x53c45c
cmp eax, 2
je 0x53c43c
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.004dec0c
lea esi, [esp + 0x150]
mov dword [esp], esi
call fcn.0053d71c
mov ebx, dword [esp + 0x7c]
cmp byte [ebx], 0x33
je 0x53c41f
lea ebx, [esp + 0x160]
mov dword [esp], ebx
call fcn.0053d71c
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.0058b2a4
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0053dde0
inc eax
jne 0x53c3ea
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.0053dad4
mov dword [esp], ebx
call fcn.0052532c
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
call fcn.0052532c
cmp dword [edi], 1
jg 0x53a1f9
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004decbc
inc dword [esp + 0x7c]
jmp 0x539728
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.0058a8b8
jmp 0x53c3f2
mov eax, dword [esp + 0xfc]
mov edx, dword [eax + 4]
mov eax, dword [eax]
cmp dword [esp + 0x70], 0x3f
jbe 0x53c495
test edx, edx
jns 0x53c243
jmp 0x536ee8
mov eax, dword [esp + 0xfc]
mov ebx, dword [eax]
cmp edx, 0x1f
jbe 0x53c4c3
test ebx, ebx
jns 0x53c243
jmp 0x536ee8
cmp dword [esp + 0x104], 1
je 0x53c4f6
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x6285a0
jmp 0x53b737
mov cl, byte [esp + 0x70]
shrd eax, edx, cl
sar edx, cl
test cl, 0x20
je 0x53c4a8
mov eax, edx
sar edx, 0x1f
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004de90c
mov dword [esp + 0xf0], eax
mov edx, dword [eax]
inc edx
jmp 0x536f14
call fcn.0050d3e4
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], 0x5ef790
mov edx, 1
jmp 0x536f14
mov edx, dword [esp + 0x100]
mov edx, dword [edx]
mov dword [esp + 0x70], edx
cmp eax, 1
je 0x53c6c2
cmp eax, 3
je 0x53c357
cmp dword [esp + 0x70], 0x3f
ja 0x53c357
mov eax, dword [edi + 0xc]
cmp eax, 0x5ef77c
je 0x53c6a9
cmp eax, 0x5ef790
je 0x53c692
lea eax, [esp + 0x120]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.004de960
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x124]
cmp edx, 0
jle 0x53c66c
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 0x53c597
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 0x53c357
mov cl, byte [esp + 0x70]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
je 0x539983
mov edx, eax
xor eax, eax
jmp 0x539983
mov edx, dword [esp + 0xfc]
mov edx, dword [edx]
test edx, edx
jne 0x536eb4
jmp 0x536d49
mov eax, dword [esp + 0x100]
mov ebx, dword [eax]
shr ebx, 0x1f
test ebx, ebx
je 0x536ea4
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.negative_shift_argument
jmp 0x53b737
lea esi, [esp + 0x160]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004dec0c
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.0053dde0
xor ebx, ebx
inc eax
sete bl
mov dword [esp], esi
call fcn.0052532c
jmp 0x53c606
mov eax, dword [esp + 0x100]
mov ebx, dword [eax + 4]
shr ebx, 0x1f
jmp 0x53c606
jl 0x53c677
cmp eax, 0
ja 0x53c56b
mov ebx, eax
not ebx
mov dword [esp + 0xa0], ebx
mov esi, edx
not esi
mov dword [esp + 0xa8], esi
jmp 0x53c579
mov eax, dword [edi + 0x10]
cdq
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
jmp 0x53c562
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
jmp 0x53c562
cmp edx, 0x1f
ja 0x53c515
mov eax, dword [esp + 0xfc]
mov ebx, dword [eax]
cmp ebx, 0
je 0x53c515
mov edx, ebx
jg 0x53c6e3
not edx
mov ecx, 0x1f
sub ecx, dword [esp + 0x70]
mov eax, 0xffffffff
shl eax, cl
test edx, eax
jne 0x53c515
call fcn.0050d3e4
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], 0x5ef790
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x53345a
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call fcn.004de848
inc dword [esp + 0x7c]
jmp 0x539728
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 0x53c794
cmp dword [esp + 0x104], 2
jne 0x53a47f
mov edx, ebx
xor edx, edi
jns 0x53a47f
mov eax, dword [esp + 0x94]
xor eax, edi
jns 0x539788
jmp 0x53a47f
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x90], ecx
mov esi, dword [esp + 0x124]
or ecx, esi
je 0x532be7
mov ebx, dword [esp + 0x118]
mov dword [esp + 0xa8], ebx
mov edi, dword [esp + 0x11c]
lea eax, [edi - 0x80000000]
or eax, ebx
je 0x53c92b
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.005d98d4
mov ecx, eax
mov ebx, edx
test edx, edx
js 0x53c8e6
mov eax, edx
or eax, ecx
jne 0x53a47f
test edi, edi
js 0x53c8c4
or edi, dword [esp + 0xa8]
je 0x53a47f
test esi, esi
jns 0x53a47f
add ecx, 0xffffffff
adc ebx, 0xffffffff
jmp 0x53a47f
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 0x53c8a6
cmp dword [esp + 0x104], 2
jne 0x53a47f
mov eax, ebx
xor eax, edi
jns 0x53a47f
mov edx, dword [esp + 0x94]
xor edx, edi
js 0x539788
jmp 0x53a47f
cmp esi, 0
jg 0x53c847
jl 0x53a47f
cmp dword [esp + 0x90], 0
ja 0x53c847
jmp 0x53a47f
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 0x53c847
jmp 0x53a47f
mov eax, dword [esp + 0x90]
and eax, esi
inc eax
jne 0x53c7f2
jmp 0x539788
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 0x53a45d
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
jmp 0x53a45d
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 0x53a41b
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], edx
jmp 0x53a41b
lea esi, [esp + 0x150]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004dec0c
mov al, 1
cmp dword [esp + 0x74], 0
jle 0x53cb46
mov ebx, dword [esp + 0x158]
test ebx, ebx
sete dl
cmp al, dl
je 0x53cb35
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.0052a3ac
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0058ab14
mov dword [esp], ebx
call fcn.0052532c
jmp 0x53a1f9
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.004debf0
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.004debf0
lea esi, [esp + 0x150]
mov dword [esp], esi
call fcn.0053d71c
lea ebx, [esp + 0x160]
mov dword [esp], ebx
call fcn.0053d71c
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.0058abc4
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x53caf5
mov ecx, dword [esp + 0x148]
cmp dword [esp + 0x168], ecx
je 0x53caf5
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.0053dad4
mov dword [esp + 8], ebx
mov edx, dword [esp + 0x90]
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.0058ab14
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.0058a680
mov dword [esp], ebx
call fcn.0052532c
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
call fcn.0052532c
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
call fcn.0052532c
cmp dword [edi], 1
jg 0x53a1f9
jmp 0x53c40a
mov dword [esp], esi
call fcn.0052532c
inc dword [esp + 0x7c]
jmp 0x539728
jl 0x53cb53
cmp dword [esp + 0x70], 0
ja 0x53c9db
xor eax, eax
jmp 0x53c9db
mov edx, dword [esp + 0xfc]
mov esi, dword [edx]
test esi, esi
je 0x536d49
cmp eax, 1
je 0x53cc53
cmp eax, 2
jne 0x53cbda
mov eax, dword [esp + 0x100]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov bl, 1
cmp edx, 0
jle 0x53cbcf
test esi, esi
setg cl
cmp bl, cl
je 0x53b886
mov edi, esi
sar edi, 0x1f
add esi, eax
adc edi, edx
jmp 0x53b93b
mov edx, dword [esp + 0x100]
mov ecx, dword [edx]
test ecx, ecx
je 0x532be7
cmp ecx, 1
je 0x536d49
cmp ecx, 0xffffffff
jne 0x5398bb
jmp 0x536d49
jl 0x53cbd6
cmp eax, 0
ja 0x53cb8c
xor ebx, ebx
jmp 0x53cb8c
lea edi, [esp + 0x150]
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004dec0c
test esi, esi
setg al
mov edx, dword [esp + 0x158]
test edx, edx
sete dl
cmp al, dl
je 0x53cc97
mov dword [esp + 4], esi
lea ebx, [esp + 0x160]
mov dword [esp], ebx
call fcn.0052a2bc
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0058ab14
mov dword [esp], ebx
call fcn.0052532c
mov dword [esp], edi
call fcn.004defd0
mov dword [esp + 0xf0], eax
inc dword [eax]
inc dword [esp + 0x7c]
jmp 0x53345a
mov eax, esi
cdq
idiv ecx
cmp eax, 0
jl 0x53ccb4
jne 0x53ccad
test esi, esi
js 0x53cca8
test ecx, ecx
js 0x53ccac
xor edx, edx
sub esi, edx
call fcn.0050d3e4
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], 0x5ef790
mov dword [eax], 1
inc dword [esp + 0x7c]
jmp 0x53345a
mov dword [esp], edi
call fcn.0052532c
inc dword [esp + 0x7c]
jmp 0x539728
test ecx, ecx
jle 0x53cc67
dec eax
mov edx, ecx
imul edx, eax
jmp 0x53cc69
mov edx, eax
imul edx, ecx
cmp edx, esi
jne 0x53ccac
jmp 0x53cc69
mov eax, dword [esp + 0x74]
test eax, eax
js 0x53ccf0
mov edx, dword [esp + 0x74]
or edx, dword [esp + 0x70]
je 0x53ccd5
test ecx, ecx
js 0x53ccf5
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
jmp 0x53996d
cmp ecx, 0
jle 0x53cd41
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 0x53996d
jl 0x53ccd5
cmp ebx, 0
ja 0x53ccf5
jmp 0x53ccd5
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x53cdd5
mov edi, dword [eax + 4]
test edi, edi
je 0x53cdd5
mov dword [esp], ebx
call fcn.004dd854
jmp 0x534ca3
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 0x53ccf5
jmp 0x53996d
mov eax, dword [edi + 0xc]
test eax, eax
je 0x53ce00
mov eax, dword [eax + 4]
test eax, eax
je 0x53ce00
mov dword [esp], edi
call fcn.004dd854
jmp 0x534c96
mov eax, dword [ebx + 4]
test eax, eax
je 0x53cdec
cmp eax, dword [0x5ef7cc]
je 0x53cdec
mov dword [esp], eax
call fcn.004ee144
mov dword [ebx + 8], 0xffffffff
mov dword [esp], ebx
call fcn.0050d50c
jmp 0x534ca3
mov eax, dword [edi + 4]
test eax, eax
je 0x53ce17
cmp eax, dword [0x5ef7cc]
je 0x53ce17
mov dword [esp], eax
call fcn.004ee144
mov dword [edi + 8], 0xffffffff
mov dword [esp], edi
call fcn.0050d50c
jmp 0x534c96
mov eax, dword [esp + 0x90]
cdq
mov esi, eax
mov edi, edx
jmp 0x53baf4
or ebx, edx
jmp 0x5396cc
and ebx, edx
jmp 0x5396cc
xor ebx, edx
jmp 0x5396cc
dec edx
jne 0x539788
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0xc]
cmp eax, 0x5ef77c
je 0x53cf61
cmp eax, 0x5ef790
je 0x53cf42
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.004de960
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 0xc]
cmp eax, 0x5ef77c
je 0x53cf2c
cmp eax, 0x5ef790
je 0x53cf11
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.004de960
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 0x539983
jmp 0x53bbaa
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 0x10]
cdq
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
jmp 0x53cee0
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
jmp 0x53cee0
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 0x53ce94
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], edx
jmp 0x53ce94
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.005327dc
mov dword [esp + 0x98], 1
jmp 0x532c54
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.004eb494
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
call fcn.004e1100
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.004e1940
mov dword [esp + 0x98], 1
jmp 0x532c54