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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3f4
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x110]
xor ecx, ecx
mov edx, dword [esi + 0x40]
push edi
mov edi, dword [esi + 0x48]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x18], ecx
push ecx
mov ecx, dword [esi + 0x44]
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], edi
lea ecx, [ecx + edx + 0x28]
push ecx
push eax
call fcn.004ac740
mov edx, dword [esi + 0x40]
sub eax, 4
mov dword [esp + 0xd4], eax
mov dword [esp + 0x68], eax
lea eax, [eax + edx*4 + 4]
mov edx, dword [ebx + 0x110]
add esp, 0xc
mov dword [esp + 0x258], eax
mov edx, dword [edx]
lea ecx, [eax + 0x24]
mov dword [esp + 0x44], edx
mov edx, dword [esi + 0x14]
and edx, 1
mov dword [esp + 0x54], ecx
or edx, 2
mov dword [esp + 0x14], ecx
mov dword [eax], edx
mov edx, dword [ebx + 0x284]
test edx, edx
je 0x4ad39e
mov edx, dword [edx + 4]
inc edx
jmp 0x4ad3a3
mov edx, 1
mov dword [eax + 4], edx
mov edx, dword [ebx + 0x60]
mov dword [eax + 0x10], edx
mov edx, dword [ebx + 0x284]
mov dword [eax + 0x14], edx
xor edx, edx
mov dword [eax + 0xc], edx
mov dword [eax + 8], edx
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], edx
mov dword [eax + 0x20], edx
mov dword [ecx], edx
mov ebx, dword [ebx + 0x64]
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x28]
mov dword [esp + 0x268], eax
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x194]
mov edx, eax
and dl, 0x3f
inc eax
test dl, dl
mov dword [esp + 0x194], eax
jne 0x4ad4b5
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x314]
cmp dword [eax], 0
je 0x4ad434
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
push eax
push esi
mov dword [edx + 0x10], ecx
call fcn.004ac140
mov ecx, 1
add esp, 8
cmp eax, ecx
mov dword [esp + 0x3c], ecx
jne 0x4ad434
mov dword [esp + 0x18], ecx
jmp 0x4b5f7c
mov eax, dword [esi + 0x210]
test eax, eax
je 0x4ad4b5
mov ecx, dword [esi + 0x214]
inc ecx
mov dword [esi + 0x214], ecx
mov ebx, dword [esi + 0x210]
test bl, 1
je 0x4ad46e
mov ecx, dword [esi + 0x224]
cmp ecx, 1
je 0x4ad48b
mov eax, dword [esi + 0x214]
cdq
idiv ecx
test edx, edx
je 0x4ad48b
test bl, 2
je 0x4ad4b5
mov ecx, dword [esi + 0x234]
cmp ecx, 1
je 0x4ad48b
mov eax, dword [esi + 0x214]
cdq
idiv ecx
test edx, edx
jne 0x4ad4b5
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
push esi
mov dword [edx + 0x10], ecx
call fcn.00460790
mov ecx, 1
add esp, 4
cmp eax, ecx
mov dword [esp + 0x3c], ecx
jne 0x4ad4b5
mov dword [esp + 0x18], ecx
jmp 0x4b5f7c
mov cl, byte [edi]
cmp cl, 0xa
je case.0x4ad4db.10
cmp cl, 1
je case.0x4ad4db.1
mov eax, ecx
and eax, 0xff
cmp eax, 0x83
ja case.default.0x4ad4db
jmp dword [eax*4 + 0x4b6430]
movsx eax, byte [edi + 1]
xor ecx, ecx
xor edx, edx
mov cl, byte [edi + 2]
mov dl, byte [edi + 3]
shl eax, 8
or eax, ecx
xor ecx, ecx
mov cl, byte [edi + 4]
mov ebx, dword [esp + 0x14]
shl eax, 8
or eax, edx
xor edx, edx
shl eax, 8
mov dl, byte [edi + 7]
or eax, ecx
xor ecx, ecx
mov esi, dword [ebp + 8]
mov ch, byte [edi + 5]
mov cl, byte [edi + 6]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [edi + 8]
shl ecx, 8
or ecx, edx
mov edx, dword [ebx]
push edx
push ecx
push eax
push esi
call fcn.0044f450
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4ad549
add edi, 9
mov dword [esp + 0x10], edi
jmp 0x4b6297
mov eax, dword [ebx - 4]
push eax
push esi
call fcn.0044ed70
mov al, byte [edi]
add esp, 8
cmp al, 0x7d
jne 0x4ad56a
mov eax, dword [esi + 0x100]
and al, 0xfb
mov dword [esi + 0x100], eax
mov esi, 2
mov eax, dword [esp + 0x18]
cmp eax, 4
je 0x4ad581
cmp eax, 3
jne 0x4b5f75
mov ecx, dword [ebp + 0xc]
push ecx
push 0
push edi
call fcn.004b6bd0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x4b631f
cmp dword [ebx], 1
je 0x4b60d3
mov edx, esi
dec esi
test edx, edx
je 0x4b420b
lea edi, [esi + 1]
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
sub eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b4204
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b41c0
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b41c0
push esi
call fcn.0044c610
add esp, 4
jmp 0x4b4204
mov esi, dword [esp + 0x14]
mov ebx, dword [ebp + 8]
mov ecx, dword [esi]
sub esi, 4
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], esi
mov edx, dword [esi]
push edx
push ebx
call fcn.0044fe50
mov dword [esp + 0x20], eax
mov eax, dword [esi]
add esp, 8
mov edx, dword [eax]
dec edx
mov dword [eax], edx
mov eax, dword [esi]
cmp dword [eax], 0
jg 0x4ad62c
push eax
call fcn.0044c610
add esp, 4
mov eax, dword [esp + 0xc]
mov dword [esi], eax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4ad644
inc edi
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov ecx, dword [esp + 0xc]
push ecx
push ebx
call fcn.0044ed70
add esp, 8
mov esi, 1
jmp 0x4ad56f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jbe 0x4b6318
mov edx, dword [eax]
mov eax, dword [ebp + 8]
push edx
push eax
call fcn.0044ed70
add esp, 8
jmp 0x4b5f75
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x14]
xor edx, edx
add ecx, 4
mov dl, byte [edi + 1]
mov eax, dword [eax + 0x4c]
add edi, 2
mov dword [esp + 0x14], ecx
mov eax, dword [eax + edx*4]
mov dword [esp + 0x10], edi
mov dword [ecx], eax
mov edx, dword [eax]
inc edx
mov dword [eax], edx
mov al, byte [edi]
cmp al, 1
jne 0x4ad3db
mov edx, dword [ebp + 0xc]
mov esi, dword [edx + 0x4c]
xor eax, eax
mov al, byte [edi + 1]
add ecx, 4
add edi, 2
mov eax, dword [esi + eax*4]
mov dword [ecx], eax
mov ebx, dword [eax]
inc ebx
mov dword [eax], ebx
mov al, byte [edi]
cmp al, 1
je 0x4ad6b4
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
jmp 0x4ad3db
xor ecx, ecx
xor edx, edx
mov ch, byte [edi + 1]
mov dl, byte [edi + 3]
mov cl, byte [edi + 2]
xor eax, eax
mov al, byte [edi + 4]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp + 0xc]
shl ecx, 8
or ecx, eax
mov eax, dword [edx + 0x4c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], ecx
jmp 0x4b57f4
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
sub eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4ad787
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4ad742
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4ad742
push esi
call fcn.0044c610
add esp, 4
jmp 0x4ad787
mov eax, dword [esi + 4]
test eax, eax
je 0x4ad75a
cmp eax, dword [0x52b448]
je 0x4ad75a
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov ecx, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], ecx
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
mov al, byte [edi + 1]
inc edi
cmp al, 0x69
mov dword [esp + 0x10], edi
jne 0x4ad3db
xor edx, edx
mov esi, dword [ebp + 8]
mov dh, byte [edi + 5]
xor eax, eax
mov dl, byte [edi + 6]
mov al, byte [edi + 7]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov cl, byte [edi + 8]
shl edx, 8
or edx, ecx
mov ecx, dword [esi + 0xc0]
add ecx, edx
test eax, eax
mov dword [esi + 0xc0], ecx
je 0x4ad7fc
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0xf0]
mov edx, dword [eax + 4]
cmp edx, ecx
jne 0x4ad7ee
mov edx, dword [esp + 0x268]
mov ecx, dword [eax + 0xc]
cmp ecx, dword [edx + 0xe4]
je 0x4ad7f4
test byte [eax + 0x14], 1
je 0x4ad808
mov dword [esp + 0x3c], 0
add edi, 9
mov dword [esp + 0x10], edi
jmp 0x4ad3db
lea ecx, [esp + 0x274]
push ecx
push eax
push edi
call fcn.004b6a00
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x20]
push 0
mov dword [edx + 0x10], ecx
mov edx, dword [esp + 0x284]
push edx
push eax
push esi
call fcn.004403d0
add esp, 0x1c
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x3c], 1
je 0x4ad84d
xor esi, esi
jmp 0x4ad56f
xor ebx, ebx
xor eax, eax
mov bh, byte [edi + 1]
mov al, byte [edi + 3]
mov bl, byte [edi + 2]
xor ecx, ecx
mov cl, byte [edi + 4]
push esi
shl ebx, 8
or ebx, eax
shl ebx, 8
or ebx, ecx
call fcn.0044ee30
push 0x54330c
mov dword [esp + 0x14], eax
call fcn.0047c8a0
mov esi, dword [0x542664]
add esp, 8
test esi, esi
jne 0x4ad895
call fcn.0044c5e0
mov esi, dword [0x542664]
mov edx, dword [esi + 0x10]
push 0x54330c
mov dword [0x542664], edx
call fcn.0047c8f0
xor eax, eax
add esp, 4
mov dword [esi], eax
mov ecx, dword [0x52b448]
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov edx, dword [esi]
inc edx
add edi, ebx
mov dword [esi], edx
mov edx, dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 0x10], edi
mov dword [edx + 0x1e4], esi
mov dword [esp + 0x24], ebx
jmp 0x4b4f6a
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], eax
mov dword [eax], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4ad3db
xor eax, eax
xor ecx, ecx
mov ah, byte [edi + 1]
mov cl, byte [edi + 3]
mov al, byte [edi + 2]
xor edx, edx
mov dl, byte [edi + 4]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [esp + 0x14]
mov edx, eax
sub edx, ecx
mov ecx, dword [edx]
jmp 0x4b57f0
xor eax, eax
xor ecx, ecx
mov ah, byte [edi + 1]
mov cl, byte [edi + 3]
mov al, byte [edi + 2]
xor edx, edx
mov dl, byte [edi + 4]
shl eax, 8
or eax, ecx
mov ecx, dword [esp + 0x14]
shl eax, 8
or eax, edx
shl eax, 2
mov edx, eax
mov eax, ecx
sub eax, edx
add eax, 4
cmp eax, ecx
jae 0x4b5803
mov esi, dword [ecx]
mov edx, dword [eax]
mov dword [eax], esi
mov dword [ecx], edx
add eax, 4
sub ecx, 4
cmp eax, ecx
jb 0x4ad967
add edi, 5
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov ebx, dword [esp + 0x14]
xor eax, eax
mov al, byte [edi + 1]
mov ecx, 2
sub ecx, eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], eax
lea esi, [ebx + ecx*4]
cmp esi, ebx
mov dword [esp + 0x34], esi
ja 0x4ad9f2
mov eax, dword [esi]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4ad9c3
mov edx, dword [eax + 8]
mov dword [esp + 0x4c], edx
mov eax, dword [esi]
mov eax, dword [eax + 4]
jmp 0x4ad9d1
lea ecx, [esp + 0x4c]
push ecx
push eax
call fcn.0044c880
add esp, 8
test eax, eax
je 0x4ad9e3
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x1c]
add eax, edx
mov dword [esp + 0x1c], eax
add esi, 4
cmp esi, ebx
jbe 0x4ad9ac
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4ada09
mov eax, dword [esp + 0x28]
add edi, 2
mov dword [esp + 0x10], edi
lea ebx, [eax - 1]
mov dword [esp + 0x24], ebx
jmp 0x4ae9a7
mov ecx, dword [esp + 0x28]
lea edx, [ecx*4]
sub ebx, edx
lea eax, [ebx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4ada36
mov ecx, dword [eax + 8]
mov dword [esp + 0x4c], ecx
mov esi, dword [eax + 4]
jmp 0x4ada4a
lea edx, [esp + 0x4c]
push edx
push eax
call fcn.0044c880
mov esi, eax
mov eax, dword [esp + 0x14]
add esp, 8
cmp esi, dword [0x52b448]
je 0x4adac8
cmp dword [eax], 1
jg 0x4adac8
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4ada6f
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x4ada6f
push eax
call ecx
mov eax, dword [esp + 0x10]
add esp, 4
mov ebx, dword [esp + 0x1c]
mov dword [eax + 0xc], 0
mov eax, dword [esp + 0x4c]
lea ecx, [eax + ebx + 1]
push ecx
push esi
call fcn.00450070
mov edx, dword [esp + 0x14]
add esp, 8
mov dword [edx + 4], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xc]
add eax, ebx
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4adab4
push ecx
call fcn.0044c840
add esp, 4
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x1c], esi
lea ebx, [eax + edx]
jmp 0x4adb57
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
lea ecx, [eax + esi + 1]
push ecx
call fcn.0044ffd0
push 0x54330c
mov ebx, eax
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 8
test eax, eax
jne 0x4adafc
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov edx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], edx
call fcn.0047c8f0
mov ecx, dword [esp + 0x10]
xor eax, eax
add esp, 4
mov dword [ecx], eax
mov edx, dword [esp + 0xc]
mov ecx, dword [0x52b448]
mov dword [edx + 4], ecx
mov edx, dword [esp + 0xc]
mov dword [edx + 8], eax
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0xc]
mov dword [edx + 4], ebx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x6c]
add eax, esi
mov dword [esp + 0x1c], edx
mov dword [ecx + 8], eax
mov esi, edx
cmp esi, dword [esp + 0x14]
ja 0x4adbb9
mov eax, dword [esi]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4adb74
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], eax
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
jmp 0x4adb82
lea edx, [esp + 0x4c]
push edx
push eax
call fcn.0044c880
add esp, 8
test eax, eax
je 0x4adbaa
mov ecx, dword [esp + 0x4c]
mov esi, eax
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
add ebx, eax
mov eax, dword [esp + 0x14]
add esi, 4
cmp esi, eax
mov dword [esp + 0x1c], esi
jbe 0x4adb5d
mov byte [ebx], 0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x28]
add edi, 2
mov ecx, dword [eax]
mov dword [esp + 0x10], edi
inc ecx
mov dword [esp + 0x24], ebx
mov dword [eax], ecx
jmp 0x4b4f6a
push 0x54330c
call fcn.0047c8a0
mov esi, dword [0x542664]
add esp, 4
test esi, esi
jne 0x4adbfb
call fcn.0044c5e0
mov esi, dword [0x542664]
mov ecx, dword [esi + 0x10]
lea ebx, [esi + 0x10]
push 0x54330c
mov dword [0x542664], ecx
call fcn.0047c8f0
xor eax, eax
mov ecx, dword [esp + 0x54]
mov dword [esi], eax
mov edx, dword [0x52b448]
mov dword [esi + 4], edx
mov edx, dword [esp + 0x58]
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x18]
add esp, 4
sub eax, edx
mov dword [esp + 0x50], esi
sar eax, 2
inc edi
mov dword [ebx], eax
mov dword [esi + 0x14], ecx
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [esp + 0x34], eax
cmp dword [eax + 0xc], 0x52b2a0
jne 0x4adc7d
mov edx, dword [eax + 0x10]
mov ebx, dword [ebp + 8]
add edx, 0x10
mov dword [esp + 0x21c], edx
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x144], ecx
jmp 0x4adca2
mov ebx, dword [ebp + 8]
lea edx, [esp + 0x21c]
lea ecx, [esp + 0x144]
push edx
push ecx
push eax
push ebx
call fcn.0044b0b0
add esp, 0x10
test eax, eax
jne 0x4b5f62
movsx edx, byte [edi + 1]
xor eax, eax
xor ecx, ecx
mov al, byte [edi + 2]
mov cl, byte [edi + 3]
shl edx, 8
or edx, eax
xor eax, eax
mov al, byte [edi + 4]
sub esi, 4
shl edx, 8
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 8
or edx, eax
mov eax, dword [ecx + 0x44]
mov ecx, dword [esp + 0x144]
sub eax, edx
mov edx, dword [esp + 0x44]
add eax, ecx
push 1
push eax
mov dword [edx + 0x10], esi
mov eax, dword [ebx + 0x110]
push eax
mov dword [esp + 0x20], esi
call fcn.004ac740
mov edx, dword [esp + 0xd4]
mov ecx, 0xfffffffc
sub ecx, edx
add esp, 0xc
add eax, ecx
sar eax, 2
je 0x4add3c
shl eax, 2
mov ecx, dword [esp + 0x5c]
add edx, eax
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x54]
add edx, eax
add ecx, eax
mov dword [esp + 0x54], edx
mov edx, dword [ebx + 0x110]
add esi, eax
mov dword [esp + 0x5c], ecx
mov eax, dword [edx]
mov dword [esp + 0x14], esi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x144]
xor ecx, ecx
test eax, eax
jle 0x4add6d
mov edx, dword [esp + 0x21c]
add esi, 4
mov eax, dword [edx + ecx*4]
mov dword [esi], eax
mov ebx, dword [eax]
inc ebx
inc ecx
mov dword [eax], ebx
mov eax, dword [esp + 0x144]
cmp ecx, eax
jl 0x4add49
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jg 0x4b5803
push eax
call fcn.0044c610
add esp, 4
add edi, 5
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
sub esi, ecx
sar esi, 2
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x14]
sub esi, edx
dec ecx
mov dword [esp + 0x50], eax
mov eax, ecx
mov dword [ebx], ecx
test eax, eax
jg 0x4ade1b
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4addd6
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4addd6
push ebx
call fcn.0044c610
add esp, 4
jmp 0x4ade1b
mov eax, dword [ebx + 4]
test eax, eax
je 0x4addee
cmp eax, dword [0x52b448]
je 0x4addee
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [ebx + 8], 0xffffffff
call fcn.0047c8a0
mov ecx, dword [0x542664]
push 0x54330c
mov dword [ebx + 0x10], ecx
mov dword [0x542664], ebx
call fcn.0047c8f0
add esp, 8
test esi, esi
je 0x4ade2c
mov dword [esp + 0x1c], 1
jmp 0x4ae036
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
xor esi, esi
add esp, 4
cmp eax, esi
jne 0x4ade4e
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov edx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], edx
call fcn.0047c8f0
mov eax, dword [esp + 0x10]
add esp, 4
mov dword [eax], esi
mov ecx, dword [esp + 0xc]
mov edx, dword [0x52b448]
mov dword [ecx + 4], edx
mov eax, dword [esp + 0xc]
mov dword [eax + 8], esi
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0xc], esi
mov edx, dword [esp + 0xc]
add eax, 4
mov dword [esp + 0x14], eax
mov dword [eax], edx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4ad3db
xor eax, eax
xor ecx, ecx
mov ah, byte [edi + 1]
mov cl, byte [edi + 3]
mov al, byte [edi + 2]
xor edx, edx
mov dl, byte [edi + 4]
mov dword [esp + 0x1c], 5
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov esi, eax
jmp 0x4ae036
xor eax, eax
mov dword [esp + 0x1c], 2
mov al, byte [edi + 1]
mov esi, eax
jmp 0x4ae036
xor ecx, ecx
mov cl, byte [edi + 1]
mov esi, ecx
test esi, esi
jl 0x4adefc
cmp esi, 0x19
jle 0x4adf0a
push esi
push str.TclExecuteByteCode:_unrecognized_builtin_function_code__d
call fcn.0047c670
add esp, 8
push 0x11
push str.::tcl::mathfunc::
call fcn.00450ff0
mov edx, dword [esi*8 + 0x5373a0]
mov edi, eax
push 0xffffffffffffffff
push edx
push edi
call fcn.00451830
mov esi, dword [esi*8 + 0x5373a4]
add esp, 0x14
test esi, esi
jne 0x4adf4e
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x14], eax
mov dword [eax], edi
mov eax, dword [edi]
inc eax
inc esi
mov dword [edi], eax
jmp 0x4ae02a
mov ecx, dword [esp + 0x14]
cmp esi, 1
jne 0x4adf80
mov eax, dword [ecx]
mov dword [ecx], edi
mov ebx, dword [edi]
add ecx, 4
inc ebx
mov dword [esp + 0x14], ecx
mov dword [edi], ebx
mov dword [ecx], eax
mov ecx, dword [eax]
test ecx, ecx
mov dword [eax], ecx
jg 0x4adfcf
push eax
call fcn.0044c610
add esp, 4
inc esi
jmp 0x4ae02a
mov ebx, dword [ecx]
mov eax, dword [ecx - 4]
sub ecx, 4
mov dword [ecx], edi
mov edx, dword [edi]
inc edx
add ecx, 4
mov dword [edi], edx
mov dword [ecx], eax
mov edi, dword [eax]
inc edi
add ecx, 4
mov dword [eax], edi
mov dword [esp + 0x14], ecx
mov dword [ecx], ebx
mov edi, dword [ebx]
inc edi
mov dword [ebx], edi
mov edx, dword [eax]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jg 0x4adfbb
push eax
call fcn.0044c610
add esp, 4
mov ecx, dword [ebx]
dec ecx
mov eax, ecx
mov dword [ebx], ecx
test eax, eax
jg 0x4adfcf
push ebx
call fcn.0044c610
add esp, 4
inc esi
jmp 0x4ae02a
mov ecx, dword [esp + 0x10]
xor eax, eax
push 0x11
push str.::tcl::mathfunc::
mov al, byte [ecx + 1]
mov esi, eax
mov eax, dword [esp + 0x1c]
lea edx, [esi*4]
sub eax, edx
add eax, 4
mov dword [esp + 0x3c], eax
mov edi, dword [eax]
call fcn.00450ff0
mov ebx, eax
push edi
push ebx
call fcn.004518b0
mov ecx, dword [edi]
add esp, 0x10
dec ecx
mov eax, ecx
mov dword [edi], ecx
test eax, eax
jg 0x4ae01f
push edi
call fcn.0044c610
add esp, 4
mov ecx, dword [esp + 0x34]
mov dword [ecx], ebx
mov eax, dword [ebx]
inc eax
mov dword [ebx], eax
mov edi, dword [esp + 0x10]
mov dword [esp + 0x1c], 2
mov eax, dword [esp + 0x258]
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x44]
lea ecx, [esi*4]
mov dword [eax + 0x1c], edi
mov dword [ebx + 0x284], eax
mov eax, dword [esp + 0x14]
push 0
mov dword [edx + 0x10], eax
sub eax, ecx
push 0xffffffffffffffff
add eax, 4
push 0xffffffffffffffff
push eax
push esi
push ebx
mov dword [esp + 0x1ac], 1
call fcn.0043fc80
mov edx, dword [ebx + 0x284]
add esp, 0x18
test eax, eax
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], 1
mov dword [ebx + 0x284], ecx
jne 0x4ad56f
mov eax, dword [esp + 0x1c]
cmp byte [eax + edi], 3
jne 0x4ae0bc
lea edi, [eax + edi + 1]
mov ebx, esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], ebx
jmp 0x4ae9a7
push ebx
call fcn.0044ee30
push 0x54330c
mov dword [esp + 0x14], eax
call fcn.0047c8a0
mov edi, dword [0x542664]
add esp, 8
test edi, edi
jne 0x4ae0e8
call fcn.0044c5e0
mov edi, dword [0x542664]
mov edx, dword [edi + 0x10]
push 0x54330c
mov dword [0x542664], edx
call fcn.0047c8f0
xor eax, eax
mov edx, dword [ebp + 8]
mov dword [edi], eax
mov ecx, dword [0x52b448]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x20]
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov eax, dword [edi]
add esp, 4
inc eax
mov ebx, esi
mov dword [edi], eax
mov eax, dword [esp + 0x10]
add ecx, eax
mov dword [edx + 0x1e4], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], ebx
jmp 0x4b4f66
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
mov ebx, dword [ebp + 8]
push 0
mov eax, dword [ecx]
push 0
push eax
push ebx
mov dword [edx + 0x10], ecx
call fcn.004acd90
add esp, 0x10
mov esi, 1
test eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], esi
jne 0x4ad56f
push ebx
call fcn.0044ee30
push 0x54330c
mov dword [esp + 0x14], eax
call fcn.0047c8a0
mov esi, dword [0x542664]
add esp, 8
test esi, esi
jne 0x4ae197
call fcn.0044c5e0
mov esi, dword [0x542664]
mov eax, dword [esi + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
xor eax, eax
add esp, 4
mov dword [esi], eax
mov ecx, dword [0x52b448]
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov ecx, dword [esi]
inc ecx
inc edi
mov dword [esi], ecx
mov dword [ebx + 0x1e4], esi
mov dword [esp + 0x10], edi
jmp 0x4b61d0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
mov eax, dword [ecx]
mov dword [edx + 0x10], ecx
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x25c]
push ecx
push eax
push edx
call fcn.004ac9d0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x3c], 1
jne 0x4b5f75
mov eax, dword [esp + 0x25c]
inc edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
jmp 0x4b61d0
mov ecx, dword [esp + 0x38]
xor eax, eax
mov al, byte [edi + 1]
mov dword [esp + 0x1c], eax
lea eax, [ecx + eax*8]
test byte [eax], 2
je 0x4ae23c
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x4ae234
test byte [eax], 0x13
jne 0x4ae270
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4ae270
mov eax, ecx
mov ecx, dword [esp + 0x14]
add ecx, 4
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], ecx
mov dword [ecx], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
add edi, 2
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov dword [esp + 0x20], 2
jmp 0x4ae2d2
xor eax, eax
xor edx, edx
mov ah, byte [edi + 1]
mov dl, byte [edi + 3]
mov al, byte [edi + 2]
xor ecx, ecx
mov cl, byte [edi + 4]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x38]
shl eax, 8
or eax, ecx
mov cl, byte [edx + eax*8]
mov dword [esp + 0x1c], eax
lea eax, [edx + eax*8]
test cl, 2
je 0x4ae2b1
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x4ae2a9
test byte [eax], 0x13
jne 0x4ae2ca
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4ae2ca
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], ecx
jmp 0x4b57f4
mov dword [esp + 0x20], 5
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0xb0], esi
mov dword [esp + 0x2c], esi
jmp 0x4ae46e
xor ebx, ebx
xor eax, eax
mov bh, byte [edi + 1]
mov al, byte [edi + 3]
mov bl, byte [edi + 2]
xor ecx, ecx
mov cl, byte [edi + 4]
mov dword [esp + 0x20], 5
shl ebx, 8
or ebx, eax
shl ebx, 8
or ebx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x4ae327
xor edx, edx
mov dword [esp + 0x20], 2
mov dl, byte [edi + 1]
mov dword [esp + 0x1c], edx
mov ebx, edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x2c], 0
mov esi, dword [eax]
lea eax, [ecx + ebx*8]
mov dword [esp + 0xb0], eax
test byte [eax], 2
je 0x4ae357
mov eax, dword [eax + 4]
mov dword [esp + 0xb0], eax
test byte [eax], 2
jne 0x4ae348
mov ecx, dword [eax]
test cl, 1
je 0x4ae3a6
test cl, 0x10
jne 0x4ae3a6
mov eax, dword [eax + 4]
push 0
push esi
push eax
call dword [eax + 0x30]
add esp, 0xc
test eax, eax
je 0x4ae39f
add eax, 0xfffffff4
test eax, eax
je 0x4ae39f
test byte [eax], 0x13
jne 0x4ae39f
mov eax, dword [eax + 4]
test eax, eax
je 0x4ae39f
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x20]
add edi, eax
mov dword [esp + 0x10], edi
jmp 0x4b61d0
mov eax, dword [esp + 0xb0]
mov edx, dword [ebp + 8]
push ebx
push eax
push 1
push 0
push str.read
push 0x200
push esi
push 0
push edx
call fcn.00446030
add esp, 0x24
test eax, eax
je 0x4b5f62
mov ebx, 1
mov dword [esp + 0x24], ebx
jmp 0x4ae46e
mov eax, dword [esp + 0x14]
mov ebx, 2
mov dword [esp + 0x24], ebx
mov esi, dword [eax]
mov eax, dword [eax - 4]
jmp 0x4ae400
mov eax, dword [esp + 0x14]
mov ebx, 1
mov dword [esp + 0x24], ebx
xor esi, esi
mov eax, dword [eax]
mov edx, dword [ebp + 8]
lea ecx, [esp + 0xb0]
push ecx
push 1
push 0
push str.read
push 0x200
push esi
push eax
push edx
mov dword [esp + 0x4c], eax
call fcn.00445890
add esp, 0x20
test eax, eax
je 0x4b5f62
test byte [eax], 0x13
jne 0x4ae45e
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4ae45e
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x4ae44c
test byte [edx], 0x10
jne 0x4ae45e
mov eax, ecx
inc edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
inc dword [eax]
jmp 0x4b4f6a
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 0xffffffff
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0xb4]
push 0x200
push esi
push edx
mov edx, dword [ebp + 8]
push ecx
push eax
push edx
call fcn.00446350
add esp, 0x1c
mov dword [esp + 0xc], eax
test eax, eax
mov dword [esp + 0x3c], 1
je 0x4b5f62
mov edx, dword [esp + 0x20]
mov ecx, dword [eax]
add edi, edx
inc ecx
mov dword [esp + 0x10], edi
mov dword [eax], ecx
jmp 0x4b4f6a
xor eax, eax
xor ecx, ecx
mov ah, byte [edi + 1]
mov cl, byte [edi + 3]
mov al, byte [edi + 2]
xor edx, edx
mov dl, byte [edi + 4]
mov dword [esp + 0x20], 5
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov esi, eax
jmp 0x4ae4fd
xor eax, eax
mov dword [esp + 0x20], 2
mov al, byte [edi + 1]
mov esi, eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov ecx, dword [eax]
mov edi, dword [eax - 4]
lea eax, [edx + esi*8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x94], eax
test byte [eax], 2
je 0x4ae52c
mov eax, dword [eax + 4]
mov dword [esp + 0x94], eax
test byte [eax], 2
jne 0x4ae51d
mov ecx, dword [eax]
test cl, 1
je 0x4ae586
test cl, 0x20
jne 0x4ae586
mov eax, dword [eax + 4]
push 0
push edi
push eax
call dword [eax + 0x30]
add esp, 0xc
test eax, eax
je 0x4ae57f
lea ebx, [eax - 0xc]
test ebx, ebx
je 0x4ae57f
test byte [ebx], 0x2b
jne 0x4ae57f
mov eax, dword [esp + 0x14]
lea esi, [eax - 4]
mov dword [esp + 0x14], esi
mov eax, dword [esi]
mov edx, dword [eax]
dec edx
mov dword [eax], edx
mov eax, dword [esi]
cmp dword [eax], 0
jg 0x4ae577
push eax
call fcn.0044c610
add esp, 4
mov ecx, dword [esp + 0x1c]
mov dword [esi], ecx
jmp 0x4ae5f2
mov eax, dword [esp + 0x94]
mov dword [esp + 0x24], 2
mov ebx, 0x200
jmp 0x4ae847
xor edx, edx
xor eax, eax
mov dh, byte [edi + 1]
mov al, byte [edi + 3]
mov dl, byte [edi + 2]
xor ecx, ecx
mov cl, byte [edi + 4]
mov dword [esp + 0x20], 5
shl edx, 8
or edx, eax
shl edx, 8
or edx, ecx
mov esi, edx
jmp 0x4ae5cf
xor edx, edx
mov dword [esp + 0x20], 2
mov dl, byte [edi + 1]
mov esi, edx
mov eax, dword [esp + 0x38]
lea ebx, [eax + esi*8]
mov al, byte [eax + esi*8]
test al, 2
je 0x4ae5e5
mov ebx, dword [ebx + 4]
test byte [ebx], 2
jne 0x4ae5dd
test byte [ebx], 0x2b
jne 0x4ae6a5
mov esi, dword [esp + 0x14]
mov edi, dword [ebx + 4]
test edi, edi
je 0x4ae662
mov ecx, dword [edi]
dec ecx
mov eax, ecx
mov dword [edi], ecx
test eax, eax
jg 0x4ae662
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4ae61d
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4ae61d
push edi
call fcn.0044c610
add esp, 4
jmp 0x4ae662
mov eax, dword [edi + 4]
test eax, eax
je 0x4ae635
cmp eax, dword [0x52b448]
je 0x4ae635
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [edi + 8], 0xffffffff
call fcn.0047c8a0
mov ecx, dword [0x542664]
push 0x54330c
mov dword [edi + 0x10], ecx
mov dword [0x542664], edi
call fcn.0047c8f0
add esp, 8
mov eax, dword [esi]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x10]
cmp byte [edx + eax], 3
jne 0x4ae68f
sub esi, 4
lea edx, [edx + eax + 1]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
mov edi, edx
jmp 0x4ad3db
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx]
inc esi
add edx, eax
mov dword [ecx], esi
mov dword [esp + 0x10], edx
mov edi, edx
jmp 0x4ad3db
mov ebx, 0x200
jmp 0x4ae912
mov eax, dword [esp + 0x14]
xor edi, edi
mov ebx, 0x21c
mov ecx, dword [eax]
mov dword [esp + 0x1c], ecx
jmp 0x4ae71d
mov eax, dword [esp + 0x14]
mov ebx, 0x21c
mov edx, dword [eax]
mov edi, dword [eax - 4]
mov dword [esp + 0x1c], edx
jmp 0x4ae71d
mov eax, dword [esp + 0x14]
xor edi, edi
mov ebx, 0x204
mov ecx, dword [eax]
mov dword [esp + 0x1c], ecx
jmp 0x4ae71d
mov eax, dword [esp + 0x14]
mov ebx, 0x204
mov edx, dword [eax]
mov edi, dword [eax - 4]
mov dword [esp + 0x1c], edx
jmp 0x4ae71d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edi, dword [eax - 4]
mov dword [esp + 0x1c], ecx
jmp 0x4ae718
mov edx, dword [esp + 0x14]
xor edi, edi
mov eax, dword [edx]
mov dword [esp + 0x1c], eax
mov ebx, 0x200
xor ecx, ecx
mov eax, dword [esp + 0x14]
test edi, edi
setne cl
lea edx, [ecx*4 + 4]
lea ecx, [esp + 0x94]
push ecx
sub eax, edx
mov edx, dword [ebp + 8]
push 1
mov eax, dword [eax]
push 1
push 0x5251bc
push 0x200
push edi
push eax
push edx
mov dword [esp + 0x4c], eax
call fcn.00445890
add esp, 0x20
test eax, eax
je 0x4b5f62
xor ecx, ecx
mov dword [esp + 0x20], 1
test edi, edi
setne cl
add ecx, 2
or esi, 0xffffffff
mov dword [esp + 0x24], ecx
jmp 0x4ae948
mov eax, dword [esp + 0x10]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x20], 5
mov dh, byte [eax + 1]
mov cl, byte [eax + 3]
mov dl, byte [eax + 2]
mov ebx, 0x21c
shl edx, 8
or edx, ecx
xor ecx, ecx
mov cl, byte [eax + 4]
shl edx, 8
or edx, ecx
mov esi, edx
jmp 0x4ae810
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x20], 2
mov ebx, 0x21c
mov dl, byte [eax + 1]
mov esi, edx
jmp 0x4ae810
mov eax, dword [esp + 0x10]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x20], 5
mov ch, byte [eax + 1]
mov dl, byte [eax + 3]
mov cl, byte [eax + 2]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
shl ecx, 8
or ecx, edx
mov esi, ecx
jmp 0x4ae80b
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x20], 2
mov al, byte [ecx + 1]
mov esi, eax
mov ebx, 0x204
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov edi, dword [eax - 4]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], edx
lea eax, [eax + esi*8]
mov dword [esp + 0x94], eax
test byte [eax], 2
je 0x4ae83f
mov eax, dword [eax + 4]
mov dword [esp + 0x94], eax
test byte [eax], 2
jne 0x4ae830
mov dword [esp + 0x24], 2
mov ecx, dword [ebp + 8]
push esi
push eax
push 1
push 1
push 0x5251bc
push 0x200
push edi
push 0
push ecx
mov dword [esp + 0x50], 0
call fcn.00446030
add esp, 0x24
test eax, eax
jne 0x4ae948
mov dword [esp + 0x18], 1
jmp 0x4b5f7c
mov eax, dword [esp + 0x10]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x20], 5
mov dh, byte [eax + 1]
mov cl, byte [eax + 3]
mov dl, byte [eax + 2]
mov ebx, 0x21c
shl edx, 8
or edx, ecx
xor ecx, ecx
mov cl, byte [eax + 4]
shl edx, 8
or edx, ecx
mov esi, edx
jmp 0x4ae912
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x20], 2
mov ebx, 0x21c
mov dl, byte [eax + 1]
mov esi, edx
jmp 0x4ae912
mov eax, dword [esp + 0x10]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x20], 5
mov ch, byte [eax + 1]
mov dl, byte [eax + 3]
mov cl, byte [eax + 2]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
shl ecx, 8
or ecx, edx
mov esi, ecx
jmp 0x4ae90d
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x20], 2
mov al, byte [ecx + 1]
mov esi, eax
mov ebx, 0x204
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
mov eax, dword [edx]
mov dword [esp + 0x1c], eax
lea eax, [ecx + esi*8]
mov cl, byte [ecx + esi*8]
test cl, 2
je 0x4ae933
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x4ae92b
xor edi, edi
mov dword [esp + 0x24], 1
mov dword [esp + 0x94], edi
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
push esi
push ebx
mov dword [ecx + 0x10], edx
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0xa0]
push edi
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00446650
add esp, 0x20
mov dword [esp + 0xc], eax
test eax, eax
mov dword [esp + 0x3c], 1
je 0x4b5f62
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
cmp byte [edx + ecx], 3
jne 0x4aea13
lea ecx, [edx + ecx + 1]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x10], ecx
mov edi, dword [esp + 0x10]
mov eax, ebx
sub eax, 0
je 0x4ad3db
dec eax
je 0x4b6297
dec eax
je 0x4b00af
sub ebx, 2
mov edx, ebx
dec ebx
test edx, edx
mov dword [esp + 0x24], ebx
je 0x4b00af
inc ebx
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x14]
mov esi, dword [ebx]
sub ebx, 4
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b507a
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b5036
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b5036
push esi
call fcn.0044c610
add esp, 4
jmp 0x4b507a
mov ebx, dword [esp + 0x24]
add edx, ecx
mov ecx, dword [eax]
mov dword [esp + 0x10], edx
inc ecx
mov dword [eax], ecx
jmp 0x4b4f66
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
xor ebx, ebx
mov esi, dword [ecx]
mov bl, byte [edx + 1]
sub ecx, 4
sub eax, 0x18
mov dword [esp + 0x14], ecx
je 0x4aea5e
sub eax, 2
je 0x4aea51
mov dword [esp + 0x20], 1
jmp 0x4aea88
mov dword [esp + 0x20], 2
jmp 0x4aeb33
mov dword [esp + 0x20], 2
jmp 0x4af026
movsx eax, byte [edi + 1]
push eax
call fcn.0044d110
mov ecx, dword [esp + 0x18]
mov esi, eax
add esp, 4
mov dword [esp + 0x20], 2
inc dword [esi]
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x20
je 0x4aeaa2
cmp al, 0x1b
je 0x4aeaa2
mov eax, dword [ecx]
mov dword [esp + 0x1c], 0
jmp 0x4aeaab
mov edx, dword [ecx]
mov eax, dword [ecx - 4]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x100]
push ecx
push 1
push 1
push str.read
push 0x200
push edx
mov dword [esp + 0x40], eax
push eax
mov eax, dword [ebp + 8]
or ebx, 0xffffffff
push eax
call fcn.00445890
mov edi, eax
add esp, 0x20
test edi, edi
je 0x4aeaf5
mov edx, dword [esp + 0x1c]
xor ecx, ecx
test edx, edx
setne cl
inc ecx
mov dword [esp + 0x24], ecx
jmp 0x4af051
mov edx, dword [ebp + 8]
push 0xffffffffffffffff
push str._n_____reading_value_of_variable_to_increment_
push edx
call fcn.00441790
add esp, 0xc
jmp 0x4aeb98
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov bl, byte [eax + 1]
movsx eax, byte [eax + 2]
push eax
call fcn.0044d110
mov ecx, dword [esp + 0x18]
mov esi, eax
add esp, 4
mov dword [esp + 0x20], 3
inc dword [esi]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], 0
lea eax, [ecx + ebx*8]
mov dword [esp + 0x24], 1
mov dword [esp + 0x100], eax
test byte [eax], 2
je 0x4aeb6b
mov eax, dword [eax + 4]
mov dword [esp + 0x100], eax
test byte [eax], 2
jne 0x4aeb5c
mov edx, dword [esp + 0x1c]
push ebx
push eax
mov eax, dword [ebp + 8]
push 1
push 1
push str.read
push 0x200
push edx
push 0
push eax
call fcn.00446030
mov edi, eax
add esp, 0x24
test edi, edi
jne 0x4af051
mov ecx, dword [esi]
mov dword [esp + 0x18], 1
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b5f7c
push esi
call fcn.0044c610
add esp, 4
jmp 0x4b5f7c
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
xor ebx, ebx
mov dword [esp + 0x20], 3
mov bl, byte [eax + 1]
mov dword [esp + 0x24], 0
movsx ecx, byte [eax + 2]
mov al, byte [edx + ebx*8]
lea edi, [edx + ebx*8]
test al, 2
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], edi
je 0x4aebfc
mov edi, dword [edi + 4]
test byte [edi], 2
jne 0x4aebf0
mov dword [esp + 0x28], edi
test byte [edi], 0x33
jne 0x4aefcc
mov esi, dword [edi + 4]
test esi, esi
je 0x4aefcc
mov eax, dword [esi + 0xc]
cmp eax, 0x52b498
jne 0x4aec34
lea edx, [esi + 0x10]
mov dword [esp + 0x138], 1
mov dword [esp + 0x164], edx
jmp 0x4aece7
cmp eax, 0x52b4b0
jne 0x4aec55
lea edx, [esi + 0x10]
mov dword [esp + 0x138], 2
mov dword [esp + 0x164], edx
jmp 0x4aee72
cmp eax, 0x52b480
jne 0x4aec8c
fld qword [esi + 0x10]
lea ebx, [esi + 0x10]
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll__isnan]
add esp, 8
mov edx, ebx
neg eax
sbb eax, eax
mov dword [esp + 0x164], edx
neg eax
add eax, 4
mov dword [esp + 0x138], eax
jmp 0x4aecde
test eax, eax
jne 0x4aec9b
mov eax, dword [esi + 4]
test eax, eax
je 0x4aef26
mov eax, dword [esi + 4]
test eax, eax
je 0x4aecad
mov eax, dword [esi + 8]
test eax, eax
je 0x4aef26
lea eax, [esp + 0x138]
lea ecx, [esp + 0x164]
push eax
push ecx
push esi
push 0
call fcn.0044e2c0
add esp, 0x10
test eax, eax
jne 0x4aef26
mov eax, dword [esp + 0x138]
mov edx, dword [esp + 0x164]
cmp eax, 1
jne 0x4aee69
mov edx, dword [edx]
mov eax, dword [esp + 0x1c]
lea ebx, [edx + eax]
mov ecx, ebx
xor ecx, edx
jge 0x4aedb0
mov ecx, edx
xor ecx, eax
jl 0x4aedb0
mov eax, edx
cdq
mov ebx, eax
mov eax, dword [esi]
mov ecx, edx
cmp eax, 1
mov dword [esp + 0x38c], ecx
jle 0x4aed5a
dec eax
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
cdq
add eax, ebx
adc edx, ecx
push edx
push eax
call fcn.0044d670
add esp, 8
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov edx, dword [esp + 0xc]
mov dword [edi + 4], edx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
cmp byte [ecx + eax], 3
jne 0x4af139
lea ecx, [ecx + eax + 1]
jmp 0x4ae99b
mov dword [esp + 0xc], esi
mov eax, dword [esi + 4]
test eax, eax
je 0x4aed7d
cmp eax, dword [0x52b448]
je 0x4aed76
push eax
call fcn.00450140
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4aed91
mov eax, dword [eax + 4]
test eax, eax
je 0x4aed91
push esi
call eax
add esp, 4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38c]
cdq
add eax, ebx
adc edx, ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
mov dword [esi + 0xc], 0x52b4b0
jmp 0x4aed3f
mov eax, dword [esi]
cmp eax, 1
jle 0x4aee23
dec eax
push 0x54330c
mov dword [esi], eax
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4aedda
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
mov ecx, dword [esp + 0x10]
add esp, 4
mov dword [ecx], 0
mov edx, dword [esp + 0xc]
mov dword [edx + 4], 0
mov eax, dword [esp + 0xc]
mov dword [eax + 0x10], ebx
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], 0x52b498
mov eax, dword [esp + 0xc]
jmp 0x4aed33
mov dword [esp + 0xc], esi
mov eax, dword [esi + 4]
test eax, eax
je 0x4aee46
cmp eax, dword [0x52b448]
je 0x4aee3f
push eax
call fcn.00450140
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4aee5a
mov eax, dword [eax + 4]
test eax, eax
je 0x4aee5a
push esi
call eax
add esp, 4
mov dword [esi + 0x10], ebx
mov dword [esi + 0xc], 0x52b498
jmp 0x4aed3f
cmp eax, 2
jne 0x4aef26
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
cdq
mov edi, eax
mov eax, ecx
mov dword [esp + 0x240], edx
mov dword [esp + 0x23c], edi
add eax, edi
mov edi, dword [esp + 0x240]
mov edx, ebx
adc edx, edi
mov edi, eax
xor edi, ecx
mov dword [esp + 0x330], edi
mov edi, edx
xor edi, ebx
mov dword [esp + 0x334], edi
jg 0x4aeee1
jl 0x4aeec0
mov edi, dword [esp + 0x330]
test edi, edi
jae 0x4aeee1
mov edi, dword [esp + 0x23c]
xor ecx, edi
mov edi, dword [esp + 0x240]
xor ebx, edi
mov dword [esp + 0xb8], ebx
jg 0x4aef22
jl 0x4aeee1
test ecx, ecx
jae 0x4aef22
mov ecx, dword [esi]
cmp ecx, 1
jle 0x4aef0e
dec ecx
push edx
push eax
mov dword [esi], ecx
call fcn.0044d670
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
mov dword [ecx + 4], eax
jmp 0x4aed3f
push edx
push eax
push esi
mov dword [esp + 0x18], esi
call fcn.0044d700
add esp, 0xc
jmp 0x4aed3f
mov edi, dword [esp + 0x28]
mov eax, dword [esi]
cmp eax, 1
jle 0x4aef4b
dec eax
push esi
mov dword [esi], eax
call fcn.0044c740
mov dword [esp + 0x10], eax
mov ecx, dword [eax]
add esp, 4
inc ecx
mov dword [eax], ecx
mov edx, dword [esp + 0xc]
mov dword [edi + 4], edx
jmp 0x4aef4f
mov dword [esp + 0xc], esi
push 0x54330c
call fcn.0047c8a0
mov esi, dword [0x542664]
add esp, 4
test esi, esi
jne 0x4aef71
call fcn.0044c5e0
mov esi, dword [0x542664]
mov eax, dword [esi + 0x10]
lea ebx, [esi + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp + 8]
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [ebx], ecx
mov dword [esi + 0xc], 0x52b498
mov edx, dword [esp + 0x10]
push esi
push edx
push eax
call fcn.004ace90
mov ecx, dword [esi]
add esp, 0x10
dec ecx
mov edi, eax
mov eax, ecx
mov dword [esp + 0x18], edi
test eax, eax
mov dword [esi], ecx
jg 0x4af0c2
jmp 0x4af0b9
push 0x54330c
call fcn.0047c8a0
mov esi, dword [0x542664]
add esp, 4
test esi, esi
jne 0x4aefee
call fcn.0044c5e0
mov esi, dword [0x542664]
mov ecx, dword [esi + 0x10]
lea edi, [esi + 0x10]
push 0x54330c
mov dword [0x542664], ecx
call fcn.0047c8f0
mov edx, dword [esp + 0x20]
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [edi], edx
mov dword [esi + 0xc], 0x52b498
mov eax, dword [esi]
add esp, 4
inc eax
mov dword [esi], eax
mov eax, dword [esp + 0x38]
lea edi, [eax + ebx*8]
mov al, byte [eax + ebx*8]
test al, 2
je 0x4af03c
mov edi, dword [edi + 4]
test byte [edi], 2
jne 0x4af034
xor eax, eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
test byte [edi], 0x33
jne 0x4af0cf
mov eax, dword [edi + 4]
test eax, eax
je 0x4af0cf
mov ecx, dword [esp + 0x100]
test ecx, ecx
je 0x4af06d
test byte [ecx], 0x30
jne 0x4af0cf
mov ecx, dword [eax]
cmp ecx, 1
jle 0x4af092
dec ecx
push eax
mov dword [eax], ecx
call fcn.0044c740
mov dword [esp + 0x10], eax
mov ecx, dword [eax]
add esp, 4
inc ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0xc]
mov dword [edi + 4], ecx
jmp 0x4af096
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0xc]
mov eax, dword [ebp + 8]
push esi
push edx
push eax
call fcn.004ace90
mov ecx, dword [esi]
add esp, 0xc
dec ecx
mov edi, eax
mov eax, ecx
mov dword [esp + 0x18], edi
test eax, eax
mov dword [esi], ecx
jg 0x4af0c2
push esi
call fcn.0044c610
add esp, 4
test edi, edi
je 0x4aed3f
jmp 0x4b5f75
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
push ebx
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x104]
push 0x200
push esi
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push edi
push eax
call fcn.00446ab0
mov dword [esp + 0x2c], eax
mov ecx, dword [esi]
add esp, 0x20
dec ecx
mov eax, ecx
mov dword [esp + 0x3c], 1
test eax, eax
mov dword [esi], ecx
jg 0x4af120
push esi
call fcn.0044c610
add esp, 4
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4aed3f
mov dword [esp + 0x18], 1
jmp 0x4b5f7c
add ecx, eax
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x10], ecx
inc dword [eax]
jmp 0x4b4f66
xor eax, eax
xor edx, edx
mov ah, byte [edi + 1]
mov dl, byte [edi + 3]
mov al, byte [edi + 2]
xor ecx, ecx
mov cl, byte [edi + 4]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x38]
shl eax, 8
or eax, ecx
mov cl, byte [edx + eax*8]
test cl, 2
lea esi, [edx + eax*8]
je 0x4af181
mov esi, dword [esi + 4]
test byte [esi], 2
jne 0x4af179
test byte [esi], 0x10
je 0x4af1da
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [ebp + 8]
push 0
push 0x10
push 0
push 0
push esi
push 0
push eax
mov dword [edx + 0x10], ecx
call fcn.0047bb20
mov eax, dword [esi + 4]
add esp, 0x20
test eax, eax
mov dword [esp + 0x3c], 1
jne 0x4af1da
push 0
push esi
call fcn.004456d0
add esp, 8
xor eax, eax
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + eax*4 + 4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], ecx
jmp 0x4b57f4
test esi, esi
je 0x4af1c3
mov eax, dword [esi + 4]
test eax, eax
je 0x4af1c3
mov eax, 1
jmp 0x4af1c5
xor eax, eax
xor edx, edx
mov ah, byte [edi + 1]
mov dl, byte [edi + 3]
mov al, byte [edi + 2]
xor ecx, ecx
mov cl, byte [edi + 4]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x14]
shl eax, 8
mov ebx, dword [edx]
or eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
lea eax, [ecx + eax*8]
mov dword [esp + 0x7c], eax
test byte [eax], 2
je 0x4af22e
mov eax, dword [eax + 4]
mov dword [esp + 0x7c], eax
test byte [eax], 2
jne 0x4af222
mov ecx, dword [eax]
test cl, 1
je 0x4af267
test cl, 0x10
jne 0x4af267
mov eax, dword [eax + 4]
push 0
push ebx
push eax
call dword [eax + 0x30]
add esp, 0xc
test eax, eax
je 0x4af2eb
lea esi, [eax - 0xc]
test esi, esi
je 0x4af2eb
test byte [esi], 0x10
je 0x4af30a
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x30]
push edx
push eax
mov eax, dword [ebp + 8]
push 1
push 0
push str.access
push 0
push ebx
push 0
push eax
call fcn.00446030
mov esi, eax
add esp, 0x24
test esi, esi
je 0x4af2eb
test byte [esi], 0x10
jne 0x4af29f
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4af2da
test byte [eax], 0x10
je 0x4af2da
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
push eax
push 0
push 0x10
mov dword [ecx + 0x10], edx
mov ecx, dword [esp + 0x88]
mov edx, dword [ebp + 8]
push ebx
push 0
push esi
push ecx
push edx
call fcn.0047bb20
mov eax, dword [esp + 0x9c]
add esp, 0x20
mov dword [esp + 0x3c], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4af30a
push eax
push esi
call fcn.004456d0
add esp, 8
xor eax, eax
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
add edi, 5
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4b61d0
mov eax, dword [esi + 4]
test eax, eax
je 0x4af2eb
mov eax, 1
jmp 0x4af2ed
mov eax, dword [esp + 0x14]
mov ebx, 2
mov dword [esp + 0x24], ebx
mov edx, dword [eax]
mov eax, dword [eax - 4]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
jmp 0x4af34f
mov ecx, dword [esp + 0x14]
mov ebx, 1
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0
mov edx, dword [ecx]
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x7c]
push eax
mov eax, dword [ebp + 8]
push 1
push 0
push str.access
push 0
push ecx
push edx
push eax
call fcn.00445890
mov esi, eax
add esp, 0x20
test esi, esi
je 0x4af3dd
test byte [esi], 0x10
jne 0x4af38d
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4af3cc
test byte [eax], 0x10
je 0x4af3cc
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
push 0xffffffffffffffff
mov dword [ecx + 0x10], edx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x80]
push 0
push 0x10
push eax
mov eax, dword [ebp + 8]
push ecx
push esi
push edx
push eax
call fcn.0047bb20
mov eax, dword [esp + 0x9c]
add esp, 0x20
mov dword [esp + 0x3c], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4af3f7
push eax
push esi
call fcn.004456d0
add esp, 8
xor eax, eax
mov ecx, dword [esp + 0x40]
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0xc], eax
inc dword [eax]
jmp 0x4b4f6a
mov eax, 1
jmp 0x4af3df
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x264]
push edx
mov edx, dword [ebp + 8]
mov ecx, dword [eax - 4]
push ecx
push edx
call fcn.00477c70
add esp, 0xc
cmp eax, 0xffffffff
je 0x4b5f62
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x264]
lea edx, [esp + 0xbc]
mov eax, dword [ebx + 0x64]
push edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
push 1
push 1
mov dword [ebx + 0x64], ecx
mov ecx, dword [eax]
push str.access
push 0x200
push 0
push ecx
push ebx
call fcn.00445890
mov edx, dword [esp + 0x54]
mov esi, eax
add esp, 0x20
mov dword [ebx + 0x64], edx
test esi, esi
je 0x4b5f62
mov dword [esp + 0x18], 0
jmp 0x4af540
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xbc]
push eax
mov eax, dword [ebp + 8]
mov edx, dword [ecx]
push 1
push 1
push str.access
push 0x202
push 0
push edx
push eax
call fcn.00445890
mov esi, eax
add esp, 0x20
test esi, esi
je 0x4b5f62
mov eax, dword [esi]
test al, 0x80
jne 0x4af4c3
or al, 0x80
mov dword [esi], eax
mov eax, dword [esi + 8]
inc eax
mov dword [esi + 8], eax
mov dword [esp + 0x18], 0
jmp 0x4af540
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x294]
push ecx
mov ecx, dword [ebp + 8]
mov eax, dword [edx - 4]
push eax
push ecx
call fcn.00472230
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b5f62
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x294]
mov eax, dword [ecx + 0x64]
mov ebx, dword [eax]
mov dword [eax], edx
mov edx, dword [esp + 0x14]
lea eax, [esp + 0xbc]
push eax
push 1
mov eax, dword [edx]
push 1
push str.access
push 0x202
push 0
push eax
push ecx
call fcn.00445890
mov ecx, dword [ebp + 8]
mov esi, eax
add esp, 0x20
mov edx, dword [ecx + 0x64]
test esi, esi
mov dword [edx], ebx
je 0x4b5f62
movsx eax, byte [edi + 1]
xor ecx, ecx
xor edx, edx
mov cl, byte [edi + 2]
mov dl, byte [edi + 3]
shl eax, 8
or eax, ecx
xor ecx, ecx
mov cl, byte [edi + 4]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x38]
shl eax, 8
or eax, ecx
lea ecx, [edx + eax*8]
cmp ecx, esi
mov dword [esp + 0xbc], ecx
je 0x4af5e2
mov ebx, dword [ecx]
test ebx, 0x870
jne 0x4af5e2
mov edx, dword [ecx + 4]
test edx, edx
je 0x4af5b7
test bl, 2
je 0x4af5e2
test edx, edx
je 0x4af5b7
cmp edx, esi
je 0x4af600
test byte [edx], 4
je 0x4af5b7
mov ecx, dword [edx + 8]
dec ecx
mov dword [edx + 8], ecx
mov eax, dword [edx + 4]
test eax, eax
jne 0x4af5b0
push 0
push edx
call fcn.004456d0
add esp, 8
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx]
and al, 0xfe
or al, 2
mov dword [ecx], eax
mov ecx, dword [esp + 0xbc]
mov dword [ecx + 4], esi
mov al, byte [esi]
test al, 4
je 0x4af600
mov eax, dword [esi + 8]
inc eax
add edi, 5
mov dword [esi + 8], eax
mov dword [esp + 0x10], edi
jmp 0x4b6297
mov edx, dword [ebp + 8]
push eax
push 0
push 0
push esi
push edx
call fcn.00448960
add esp, 0x14
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b5f75
add edi, 5
mov dword [esp + 0x10], edi
jmp 0x4b6297
movsx ecx, byte [edi + 1]
xor edx, edx
xor eax, eax
mov dl, byte [edi + 2]
mov al, byte [edi + 3]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [edi + 4]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, edx
add edi, ecx
mov dword [esp + 0x10], edi
jmp 0x4ad3db
movsx eax, byte [edi + 1]
xor ecx, ecx
xor edx, edx
mov cl, byte [edi + 2]
mov dl, byte [edi + 3]
shl eax, 8
or eax, ecx
xor ecx, ecx
mov cl, byte [edi + 4]
mov dword [esp + 0x170], 5
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov dword [esp + 0x16c], eax
jmp 0x4af6cc
movsx edx, byte [edi + 1]
xor eax, eax
xor ecx, ecx
mov al, byte [edi + 2]
mov cl, byte [edi + 3]
shl edx, 8
or edx, eax
xor eax, eax
mov al, byte [edi + 4]
mov dword [esp + 0x16c], 5
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
jmp 0x4af6c5
movsx ecx, byte [edi + 1]
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], 2
jmp 0x4af6cc
movsx edx, byte [edi + 1]
mov dword [esp + 0x16c], 2
mov dword [esp + 0x170], edx
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x52b498
je 0x4af71d
cmp ecx, 0x52b468
je 0x4af71d
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x224]
push ecx
push eax
push edx
call fcn.0044c9f0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b5f75
mov edx, dword [esp + 0x224]
add edi, dword [esp + edx*4 + 0x16c]
mov dword [esp + 0x10], edi
jmp 0x4b6297
mov edx, dword [eax + 0x10]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0x224], ecx
mov dword [esp + 0x18], 0
jmp 0x4af706
movsx eax, byte [edi + 1]
xor ecx, ecx
xor edx, edx
mov cl, byte [edi + 2]
mov dl, byte [edi + 3]
shl eax, 8
or eax, ecx
xor ecx, ecx
mov cl, byte [edi + 4]
shl eax, 8
or eax, edx
mov edx, dword [ebp + 0xc]
shl eax, 8
or eax, ecx
mov ecx, dword [edx + 0x54]
mov edx, dword [esp + 0x14]
mov esi, dword [ecx + eax*8 + 4]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4af775
mov eax, ecx
jmp 0x4af77e
push eax
call fcn.0044c840
add esp, 4
push eax
push esi
call dword [esi + 0x2c]
add esp, 8
test eax, eax
je 0x4af600
add edi, dword [eax + 0xc]
mov dword [esp + 0x10], edi
jmp 0x4b6297
mov eax, dword [esp + 0x14]
mov esi, dword [eax - 4]
mov ebx, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, 0x52b498
je 0x4af7e2
cmp eax, 0x52b468
je 0x4af7e2
lea eax, [esp + 0x19c]
push eax
push esi
push 0
call fcn.0044c9f0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
je 0x4af7f3
mov edx, dword [ebp + 8]
push esi
push edi
push edx
call fcn.004b67f0
add esp, 0xc
jmp 0x4b5f75
mov eax, dword [esi + 0x10]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x19c], ecx
mov eax, dword [ebx + 0xc]
cmp eax, 0x52b498
je 0x4af832
cmp eax, 0x52b468
je 0x4af832
lea eax, [esp + 0x1ec]
push eax
push ebx
push 0
call fcn.0044c9f0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
je 0x4af84d
mov ecx, dword [ebp + 8]
push ebx
push edi
push ecx
call fcn.004b67f0
add esp, 0xc
jmp 0x4b5f75
mov ecx, dword [ebx + 0x10]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x18], 0
jmp 0x4af854
mov eax, dword [esp + 0x1ec]
mov cl, byte [edi]
cmp cl, 0x28
mov ecx, dword [esp + 0x19c]
jne 0x4af886
test ecx, ecx
jne 0x4af86a
test eax, eax
je 0x4af8aa
mov edx, dword [esp + 0x40]
mov eax, 1
mov eax, dword [edx + eax*4 + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
test ecx, ecx
je 0x4af8aa
test eax, eax
je 0x4af8aa
mov edx, dword [esp + 0x40]
mov eax, 1
mov eax, dword [edx + eax*4 + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
mov edx, dword [esp + 0x40]
xor eax, eax
mov eax, dword [edx + eax*4 + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
xor ebx, ebx
xor eax, eax
mov bh, byte [edi + 1]
mov al, byte [edi + 3]
mov bl, byte [edi + 2]
xor ecx, ecx
mov cl, byte [edi + 4]
shl ebx, 8
or ebx, eax
mov eax, dword [esp + 0x14]
shl ebx, 8
or ebx, ecx
lea edx, [ebx*4]
sub eax, edx
add eax, 4
push eax
push ebx
call fcn.0044ae10
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 8
add edi, 5
inc ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], ebx
mov dword [eax], ecx
jmp 0x4b4f6a
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
cmp dword [eax + 0xc], 0x52b2a0
jne 0x4af938
mov edx, dword [eax + 0x10]
mov dword [esp + 0x18], 0
mov eax, dword [edx + 8]
mov dword [esp + 0x1f0], eax
jmp 0x4af959
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x1f0]
push ecx
push eax
push edx
call fcn.0044b390
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b5f75
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4af979
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
mov ecx, dword [esp + 0x10]
add esp, 4
mov dword [ecx], 0
mov edx, dword [esp + 0xc]
mov dword [edx + 4], 0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1f0]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0xc]
mov dword [edx + 0xc], 0x52b498
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4b61d0
mov eax, dword [esp + 0x14]
mov ebx, dword [eax - 4]
mov esi, dword [eax]
cmp dword [ebx + 0xc], 0x52b2a0
jne 0x4afa09
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x18], 0
add eax, 0x10
mov dword [esp + 0xfc], eax
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx + 8]
mov dword [esp + 0xc0], edx
jmp 0x4afa32
mov edx, dword [ebp + 8]
lea eax, [esp + 0xfc]
lea ecx, [esp + 0xc0]
push eax
push ecx
push ebx
push edx
call fcn.0044b0b0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4afb02
mov eax, dword [esi + 0xc]
cmp eax, 0x52b2a0
je 0x4afb02
cmp eax, 0x52b498
jne 0x4afa53
mov eax, dword [esi + 0x10]
mov dword [esp + 0x168], eax
jmp 0x4afa77
mov edx, dword [esp + 0xc0]
lea ecx, [esp + 0x168]
dec edx
push ecx
push edx
push esi
push 0
call fcn.0046e900
add esp, 0x10
test eax, eax
jne 0x4afb02
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4afadf
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4afa9b
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4afa9b
push esi
call fcn.0044c610
add esp, 4
jmp 0x4afadf
mov eax, dword [esi + 4]
test eax, eax
je 0x4afab3
cmp eax, dword [0x52b448]
je 0x4afab3
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov eax, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], eax
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x168]
add ecx, 0xfffffffc
mov ebx, 1
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xfc]
jmp 0x4afbc5
mov edx, dword [ebp + 8]
push esi
push ebx
push edx
call fcn.0044b7b0
add esp, 0xc
mov dword [esp + 0xc], eax
test eax, eax
je 0x4b5f62
inc edi
jmp 0x4b099c
movsx esi, byte [edi + 1]
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov cl, byte [edi + 2]
xor edx, edx
mov dl, byte [edi + 3]
mov eax, dword [eax]
shl esi, 8
or esi, ecx
xor ecx, ecx
mov cl, byte [edi + 4]
mov ebx, 5
shl esi, 8
or esi, edx
shl esi, 8
or esi, ecx
mov ecx, dword [eax + 0xc]
cmp ecx, 0x52b2a0
jne 0x4afb7e
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x18], 0
add ecx, 0x10
mov dword [esp + 0xfc], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0xc0], eax
jmp 0x4afbae
lea ecx, [esp + 0xfc]
lea edx, [esp + 0xc0]
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0044b0b0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b5f75
mov ecx, dword [esp + 0xfc]
cmp esi, 0xffffffff
jge 0x4afbbe
mov edx, dword [esp + 0xc0]
lea esi, [esi + edx + 1]
mov dword [esp + 0x168], esi
test esi, esi
jl 0x4afbe9
cmp esi, dword [esp + 0xc0]
jge 0x4afbe9
mov ecx, dword [ecx + esi*4]
mov dword [esp + 0xc], ecx
mov edx, dword [ecx]
inc edx
add edi, ebx
mov dword [ecx], edx
mov dword [esp + 0x10], edi
jmp 0x4b61d0
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
xor esi, esi
add esp, 4
cmp eax, esi
jne 0x4afc0b
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
mov ecx, dword [esp + 0x10]
add esp, 4
mov dword [ecx], esi
mov edx, dword [esp + 0xc]
mov eax, dword [0x52b448]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0xc]
mov dword [ecx + 8], esi
mov edx, dword [esp + 0xc]
mov dword [edx + 0xc], esi
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
inc edx
add edi, ebx
mov dword [ecx], edx
mov dword [esp + 0x10], edi
jmp 0x4b61d0
xor ebx, ebx
xor eax, eax
mov bh, byte [edi + 1]
mov al, byte [edi + 3]
mov bl, byte [edi + 2]
xor ecx, ecx
mov cl, byte [edi + 4]
shl ebx, 8
or ebx, eax
mov eax, dword [esp + 0x14]
shl ebx, 8
or ebx, ecx
lea ecx, [ebx - 1]
lea edx, [ecx*4]
sub eax, edx
lea edx, [eax + 4]
mov eax, dword [eax]
push edx
push ecx
mov ecx, dword [ebp + 8]
push eax
push ecx
call fcn.0044b8b0
add esp, 0x10
mov dword [esp + 0xc], eax
test eax, eax
je 0x4b5f62
add edi, 5
mov dword [esp + 0x24], ebx
mov dword [esp + 0x10], edi
jmp 0x4b4f6a
mov ebx, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [edi + 1]
xor edx, edx
mov cl, byte [edi + 2]
mov dl, byte [edi + 3]
mov esi, dword [ebx]
xor eax, eax
mov al, byte [edi + 4]
sub ebx, 4
shl ecx, 8
or ecx, edx
mov edx, dword [esi]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x14], ebx
sub ecx, 2
dec edx
mov eax, edx
mov dword [esp + 0x30], ecx
test eax, eax
mov dword [esi], edx
jg 0x4afcfc
push esi
call fcn.0044c610
mov ecx, dword [esp + 0x34]
add esp, 4
mov eax, dword [ebx]
lea edx, [ecx*4]
sub ebx, edx
push eax
mov eax, dword [ebp + 8]
push ebx
push ecx
push esi
push eax
call fcn.0044bb30
add esp, 0x14
mov dword [esp + 0xc], eax
test eax, eax
je 0x4b5f62
mov ecx, dword [esp + 0x30]
add edi, 5
mov dword [esp + 0x10], edi
lea ebx, [ecx + 1]
mov dword [esp + 0x24], ebx
jmp 0x4b4f6a
mov ebx, dword [esp + 0x14]
mov esi, dword [ebx]
sub ebx, 4
mov dword [esp + 0x14], ebx
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4afd5b
push esi
call fcn.0044c610
add esp, 4
mov eax, dword [ebx]
mov ebx, dword [ebx - 4]
mov edx, dword [ebp + 8]
push eax
push ebx
push esi
push edx
call fcn.0044ba20
add esp, 0x10
mov dword [esp + 0xc], eax
test eax, eax
je 0x4b5f62
inc edi
jmp 0x4b099c
mov ebx, dword [esp + 0x10]
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x14]
movsx edi, byte [ebx + 1]
mov cl, byte [ebx + 2]
mov dl, byte [ebx + 3]
movsx esi, byte [ebx + 5]
shl edi, 8
or edi, ecx
xor ecx, ecx
mov cl, byte [ebx + 4]
mov eax, dword [eax]
shl edi, 8
or edi, edx
xor edx, edx
mov dl, byte [ebx + 6]
shl edi, 8
shl esi, 8
or edi, ecx
or esi, edx
xor ecx, ecx
xor edx, edx
mov cl, byte [ebx + 7]
mov dl, byte [ebx + 8]
shl esi, 8
or esi, ecx
mov ecx, dword [eax + 0xc]
shl esi, 8
or esi, edx
cmp ecx, 0x52b2a0
jne 0x4afdfe
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x18], 0
add ecx, 0x10
mov dword [esp + 0x220], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x208], eax
jmp 0x4afe39
lea ecx, [esp + 0x220]
lea edx, [esp + 0x208]
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0044b0b0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b5f75
mov ecx, dword [esp + 0x220]
mov eax, dword [esp + 0x208]
mov ebx, dword [esp + 0x10]
cmp byte [ebx + 9], 3
jne 0x4afe4d
add ebx, 0xa
mov dword [esp + 0x10], ebx
mov edi, ebx
jmp 0x4b6297
cmp edi, 0xffffffff
jge 0x4afe60
lea edi, [edi + eax + 1]
cmp edi, 0xffffffff
jge 0x4afe66
or edi, 0xffffffff
jmp 0x4afe66
cmp edi, eax
jle 0x4afe66
mov edi, eax
cmp esi, 0xffffffff
jge 0x4afe79
lea esi, [esi + eax + 1]
cmp esi, 0xffffffff
jge 0x4afe7f
or esi, 0xffffffff
jmp 0x4afe7f
cmp esi, eax
jle 0x4afe7f
mov esi, eax
cmp edi, esi
jg 0x4afeae
cmp edi, eax
jge 0x4afeae
test esi, esi
jl 0x4afeae
test edi, edi
jge 0x4afe91
xor edi, edi
cmp esi, eax
jl 0x4afe98
lea esi, [eax - 1]
sub esi, edi
lea ecx, [ecx + edi*4]
inc esi
push ecx
push esi
call fcn.0044ae10
add esp, 8
mov dword [esp + 0xc], eax
jmp 0x4aff0f
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
xor esi, esi
add esp, 4
cmp eax, esi
jne 0x4afed0
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov edx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], edx
call fcn.0047c8f0
mov eax, dword [esp + 0x10]
add esp, 4
mov dword [eax], esi
mov ecx, dword [esp + 0xc]
mov edx, dword [0x52b448]
mov dword [ecx + 4], edx
mov eax, dword [esp + 0xc]
mov dword [eax + 8], esi
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], esi
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
add ebx, 9
mov dword [eax], ecx
mov dword [esp + 0x10], ebx
mov edi, ebx
jmp 0x4b61d0
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
mov eax, dword [eax - 4]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4aff41
mov edx, dword [eax + 8]
mov dword [esp + 0x1dc], edx
mov eax, dword [eax + 4]
jmp 0x4aff52
lea ecx, [esp + 0x1dc]
push ecx
push eax
call fcn.0044c880
add esp, 8
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0x52b2a0
jne 0x4aff77
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x18], 0
mov eax, dword [edx + 8]
mov dword [esp + 0x198], eax
jmp 0x4aff98
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x198]
push ecx
push ebx
push edx
call fcn.0044b390
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b5f75
mov eax, dword [esp + 0x198]
xor esi, esi
cmp eax, esi
jle 0x4b0064
mov dword [esp + 0x28], esi
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x254]
push eax
push ecx
push ebx
push 0
call fcn.0044b310
mov eax, dword [esp + 0x264]
add esp, 0x10
test eax, eax
je 0x4afff9
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4affe6
mov edx, dword [eax + 8]
mov dword [esp + 0x218], edx
mov eax, dword [eax + 4]
jmp 0x4afffe
lea ecx, [esp + 0x218]
push ecx
push eax
call fcn.0044c880
add esp, 8
jmp 0x4afffe
mov eax, 0x542250
mov edx, dword [esp + 0x218]
mov ecx, dword [esp + 0x1dc]
cmp ecx, edx
jne 0x4b0048
mov esi, eax
mov eax, dword [esp + 0x30]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4b003a
test cl, cl
je 0x4b0036
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4b003a
add eax, 2
add esi, 2
test cl, cl
jne 0x4b0016
xor eax, eax
jmp 0x4b003f
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
sete cl
mov esi, ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x198]
inc eax
cmp eax, ecx
mov dword [esp + 0x28], eax
jge 0x4b0064
test esi, esi
je 0x4affad
cmp byte [edi], 0x6b
jne 0x4b0072
xor edx, edx
test esi, esi
sete dl
mov esi, edx
inc edi
xor eax, eax
mov dword [esp + 0x10], edi
mov al, byte [edi]
add eax, 0xffffffdc
cmp eax, 3
ja case.default.0x4b0087
jmp dword [eax*4 + 0x4b6640]
test esi, esi
jmp 0x4b1093
test esi, esi
jmp 0x4b10ad
test esi, esi
je 0x4b026b
mov eax, 5
add edi, eax
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
sub eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b6297
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b6252
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b6252
push esi
call fcn.0044c610
add esp, 4
jmp 0x4b6297
test esi, esi
je 0x4b00a4
movsx eax, byte [edi + 1]
xor edx, edx
xor ecx, ecx
mov dl, byte [edi + 2]
mov cl, byte [edi + 3]
shl eax, 8
or eax, edx
xor edx, edx
mov dl, byte [edi + 4]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x4b00a9
mov eax, dword [esp + 0x40]
mov eax, dword [eax + esi*4 + 4]
mov dword [esp + 0xc], eax
inc dword [eax]
jmp 0x4b09a0
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
mov eax, dword [eax - 4]
cmp eax, esi
jne 0x4b0141
xor eax, eax
cmp cl, 0x49
jmp 0x4b023b
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b0157
mov ecx, dword [eax + 8]
mov dword [esp + 0x1e8], ecx
mov ebx, dword [eax + 4]
jmp 0x4b016a
lea edx, [esp + 0x1e8]
push edx
push eax
call fcn.0044c880
add esp, 8
mov ebx, eax
mov eax, dword [esi + 4]
test eax, eax
je 0x4b0180
mov eax, dword [esi + 8]
mov dword [esp + 0x210], eax
mov eax, dword [esi + 4]
jmp 0x4b0191
lea ecx, [esp + 0x210]
push ecx
push esi
call fcn.0044c880
add esp, 8
mov edx, dword [esp + 0x210]
mov ecx, dword [esp + 0x1e8]
cmp ecx, edx
jne 0x4b0234
mov cl, byte [edi]
mov esi, eax
cmp cl, 0x4a
mov eax, ebx
jne 0x4b01f3
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4b01e3
test cl, cl
je 0x4b01d6
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4b01e3
add eax, 2
add esi, 2
test cl, cl
jne 0x4b01b2
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
jmp 0x4b023e
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
jmp 0x4b023e
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4b0224
test cl, cl
je 0x4b0217
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4b0224
add eax, 2
add esi, 2
test cl, cl
jne 0x4b01f3
xor eax, eax
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x4b023e
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x4b023e
mov cl, byte [edi]
xor eax, eax
cmp cl, 0x4a
sete al
inc edi
xor ecx, ecx
mov dword [esp + 0x10], edi
mov cl, byte [edi]
add ecx, 0xffffffdc
cmp ecx, 3
ja case.default.0x4b024f
jmp dword [ecx*4 + 0x4b6650]
test eax, eax
je 0x4b00f3
jmp 0x4b00a4
test eax, eax
je 0x4b00a4
movsx eax, byte [edi + 1]
xor ecx, ecx
xor edx, edx
mov cl, byte [edi + 2]
mov dl, byte [edi + 3]
shl eax, 8
or eax, ecx
xor ecx, ecx
mov cl, byte [edi + 4]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x4b00a9
mov edx, dword [esp + 0x40]
mov eax, dword [edx + eax*4 + 4]
mov dword [esp + 0xc], eax
inc dword [eax]
jmp 0x4b09a0
mov eax, dword [esp + 0x14]
xor esi, esi
mov dword [esp + 0x20], esi
mov ebx, dword [eax - 4]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], ebx
mov eax, dword [ebx + 0xc]
cmp eax, 0x52b498
jne 0x4b02f3
mov eax, 1
add ebx, 0x10
mov dword [esp + 0xf0], eax
mov dword [esp + 0x110], ebx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
cmp ecx, edx
jne 0x4b03a9
xor esi, esi
jmp case.default.0x4b0a8c
cmp eax, 0x52b4b0
jne 0x4b0301
mov eax, 2
jmp 0x4b02cb
cmp eax, 0x52b480
jne 0x4b033a
mov ecx, dword [esp + 0x2c]
sub esp, 8
fld qword [ecx + 0x10]
lea ebx, [ecx + 0x10]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll__isnan]
add esp, 8
mov dword [esp + 0x110], ebx
neg eax
sbb eax, eax
neg eax
add eax, 4
mov dword [esp + 0xf0], eax
jmp 0x4b038e
cmp eax, esi
jne 0x4b0347
cmp dword [ebx + 4], esi
je case.0x4ad4db.75
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b0359
mov eax, dword [ebx + 8]
test eax, eax
je case.0x4ad4db.75
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0xf0]
lea eax, [esp + 0x110]
push edx
push eax
push ecx
push 0
call fcn.0044e2c0
add esp, 0x10
test eax, eax
jne case.0x4ad4db.75
mov eax, dword [esp + 0xf0]
mov ebx, dword [esp + 0x110]
cmp eax, 5
jne 0x4b02dc
mov al, byte [edi]
xor edx, edx
cmp al, 0x2e
sete dl
mov dword [esp + 0x20], edx
jmp case.default.0x4b1022
mov ecx, dword [edx + 0xc]
cmp ecx, 0x52b498
jne 0x4b03d3
mov edx, dword [esp + 0x1c]
mov ecx, 1
add edx, 0x10
mov dword [esp + 0x108], ecx
mov dword [esp + 0xf8], edx
jmp 0x4b0a6b
cmp ecx, 0x52b4b0
jne 0x4b03fa
mov edx, dword [esp + 0x1c]
mov ecx, 2
add edx, 0x10
mov dword [esp + 0x108], ecx
mov dword [esp + 0xf8], edx
jmp 0x4b0a6b
cmp ecx, 0x52b480
jne 0x4b043b
mov eax, dword [esp + 0x1c]
sub esp, 8
fld qword [eax + 0x10]
lea ebx, [eax + 0x10]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll__isnan]
mov ecx, eax
add esp, 8
neg ecx
sbb ecx, ecx
mov edx, ebx
neg ecx
add ecx, 4
mov dword [esp + 0xf8], edx
mov dword [esp + 0x108], ecx
jmp 0x4b0a49
test ecx, ecx
jne 0x4b0446
mov eax, dword [edx + 4]
test eax, eax
je case.0x4ad4db.75
mov eax, dword [edx + 4]
test eax, eax
je 0x4b0454
mov eax, dword [edx + 8]
test eax, eax
je case.0x4ad4db.75
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x108]
lea edx, [esp + 0xf8]
push ecx
push edx
push eax
push 0
call fcn.0044e2c0
add esp, 0x10
test eax, eax
je 0x4b0a3b
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
mov esi, dword [eax - 4]
cmp esi, ebx
jne 0x4b049a
xor edx, edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x78], edx
jmp 0x4b05d8
mov eax, dword [esi + 0xc]
cmp eax, 0x52bc80
jne 0x4b04e3
cmp dword [ebx + 0xc], 0x52bc80
jne 0x4b04e3
lea ecx, [esp + 0x78]
push ecx
push esi
call fcn.004536e0
lea edx, [esp + 0xa0]
mov esi, eax
push edx
push ebx
call fcn.004536e0
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0xa8]
add esp, 0x10
cmp edx, ecx
jge 0x4b04df
mov ecx, edx
mov edi, eax
jmp 0x4b0531
cmp eax, 0x52ba80
jne 0x4b0567
cmp dword [ebx + 0xc], 0x52ba80
jne 0x4b0567
push esi
call fcn.004511b0
push ebx
mov dword [esp + 0x80], eax
call fcn.004511b0
mov edx, dword [esp + 0x80]
mov dword [esp + 0xa0], eax
mov ecx, dword [esi + 8]
add esp, 8
cmp edx, ecx
jne 0x4b0545
cmp eax, dword [ebx + 8]
jne 0x4b0545
cmp edx, eax
jge 0x4b0529
mov eax, edx
mov edi, dword [ebx + 4]
mov esi, dword [esi + 4]
mov ecx, eax
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4b053c
sbb eax, eax
sbb eax, 0xffffffff
mov edi, dword [esp + 0x10]
jmp 0x4b05d4
cmp edx, eax
jge 0x4b054b
mov eax, edx
push eax
push ebx
call fcn.00451280
add esp, 4
push eax
push esi
call fcn.00451280
add esp, 4
push eax
call fcn.0047d6e0
jmp 0x4b05ca
mov eax, dword [esi + 4]
test eax, eax
je 0x4b057a
mov eax, dword [esi + 8]
mov dword [esp + 0x78], eax
mov esi, dword [esi + 4]
jmp 0x4b058a
lea ecx, [esp + 0x78]
push ecx
push esi
call fcn.0044c880
add esp, 8
mov esi, eax
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b05a0
mov ecx, dword [ebx + 8]
mov dword [esp + 0x98], ecx
mov eax, dword [ebx + 4]
jmp 0x4b05b8
lea edx, [esp + 0x98]
push edx
push ebx
call fcn.0044c880
mov ecx, dword [esp + 0xa0]
add esp, 8
mov edx, dword [esp + 0x78]
cmp edx, ecx
jge 0x4b05c2
mov ecx, edx
push ecx
push eax
push esi
call fcn.0047d390
mov edx, dword [esp + 0x84]
add esp, 0xc
test eax, eax
jne 0x4b05e1
sub edx, dword [esp + 0x98]
mov eax, edx
mov cl, byte [edi]
cmp cl, 0x4b
je case.default.0x4b05f6
and ecx, 0xff
add ecx, 0xffffffd3
cmp ecx, 5
ja case.default.0x4b05f6
jmp dword [ecx*4 + 0x4b6660]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp case.default.0x4b05f6
xor edx, edx
test eax, eax
setne dl
jmp 0x4b0637
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp case.default.0x4b05f6
xor edx, edx
test eax, eax
setg dl
jmp 0x4b0637
xor ecx, ecx
test eax, eax
setle cl
mov eax, ecx
jmp case.default.0x4b05f6
xor edx, edx
test eax, eax
setge dl
mov eax, edx
test eax, eax
jge 0x4b065c
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b1ce7
jmp 0x4b1cdd
xor edx, edx
test eax, eax
mov eax, dword [esp + 0x40]
setg dl
mov eax, dword [eax + edx*4 + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
cmp dword [eax + 0xc], 0x52bc80
jne 0x4b069c
lea edx, [esp + 0x204]
push edx
push eax
call fcn.004536e0
add esp, 8
jmp 0x4b06ac
push eax
call fcn.004511b0
add esp, 4
mov dword [esp + 0x204], eax
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b06cc
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
mov ecx, dword [esp + 0x10]
add esp, 4
mov dword [ecx], 0
mov edx, dword [esp + 0xc]
mov dword [edx + 4], 0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x204]
jmp 0x4af9b2
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], 0
mov esi, dword [eax - 4]
mov ebx, dword [eax]
cmp dword [esi + 0xc], 0x52bc80
jne 0x4b0742
lea eax, [esp + 0x15c]
push eax
push esi
call fcn.004536e0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x164]
add esp, 8
jmp 0x4b0752
push esi
call fcn.004511b0
add esp, 4
mov dword [esp + 0x15c], eax
cmp dword [ebx + 0xc], 0x52b498
jne 0x4b076f
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x18], 0
mov dword [esp + 0x20c], ecx
jmp 0x4b07a0
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x20c]
dec eax
push ecx
push eax
push ebx
push edx
call fcn.0046e900
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b5f75
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x20c]
xor ebx, ebx
cmp ecx, ebx
jl 0x4b0844
cmp ecx, eax
jge 0x4b0844
cmp dword [esi + 0xc], 0x52bc80
jne 0x4b07db
mov eax, dword [esp + 0x30]
push 1
add ecx, eax
push ecx
call fcn.004535d0
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
mov dword [eax], ecx
inc edi
jmp 0x4b099c
mov edx, dword [esi + 4]
cmp edx, ebx
je 0x4b0803
cmp eax, dword [esi + 8]
jne 0x4b0803
add edx, ecx
push 1
push edx
call fcn.00450ff0
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
mov dword [eax], ecx
inc edi
jmp 0x4b099c
push ecx
push esi
call fcn.00451230
lea ecx, [esp + 0x240]
and eax, 0xffff
push ecx
push eax
call fcn.0047cb90
lea edx, [esp + 0x248]
push eax
push edx
mov dword [esp + 0x174], eax
call fcn.00450ff0
mov dword [esp + 0x24], eax
mov ecx, dword [eax]
add esp, 0x18
inc ecx
mov dword [eax], ecx
inc edi
jmp 0x4b099c
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
cmp eax, ebx
jne 0x4b0864
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
mov ecx, dword [esp + 0x10]
add esp, 4
mov dword [ecx], ebx
mov edx, dword [esp + 0xc]
mov eax, dword [0x52b448]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0xc]
mov dword [ecx + 8], ebx
mov edx, dword [esp + 0xc]
mov dword [edx + 0xc], ebx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
mov eax, dword [esp + 0x14]
movsx ecx, byte [edi + 1]
mov esi, dword [eax]
mov ebx, dword [eax - 4]
mov dword [esp + 0x30], ecx
mov eax, dword [esi + 0xc]
cmp eax, 0x52ba80
je 0x4b094b
cmp dword [ebx + 0xc], 0x52ba80
je 0x4b094b
cmp eax, 0x52bc80
jne 0x4b0918
test ecx, ecx
jne 0x4b0918
lea eax, [esp + 0x270]
push eax
push esi
call fcn.004536e0
lea ecx, [esp + 0x2a4]
mov esi, eax
push ecx
push ebx
call fcn.004536e0
mov edx, dword [esp + 0x2ac]
push 0
push edx
push eax
mov eax, dword [esp + 0x28c]
push eax
push esi
call fcn.0046df10
jmp 0x4b0985
mov eax, dword [ebx + 4]
test eax, eax
jne 0x4b0928
push ebx
call fcn.0044c840
add esp, 4
mov ebx, eax
mov eax, dword [esi + 4]
test eax, eax
jne 0x4b093a
push esi
call fcn.0044c840
add esp, 4
mov ecx, dword [esp + 0x30]
push ecx
push ebx
push eax
call fcn.0046dad0
add esp, 0xc
jmp 0x4b0988
lea edx, [esp + 0x290]
push edx
push esi
call fcn.004512c0
mov esi, eax
lea eax, [esp + 0x268]
push eax
push ebx
call fcn.004512c0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x270]
push ecx
push edx
push eax
mov eax, dword [esp + 0x2ac]
push eax
push esi
call fcn.0047dcf0
add esp, 0x24
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
add edi, 2
mov dword [eax], ecx
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
sub eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b61d0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b618b
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b618b
push esi
call fcn.0044c610
add esp, 4
jmp 0x4b61d0
mov eax, dword [esp + 0x14]
mov esi, dword [ebp + 8]
movsx ecx, byte [edi + 1]
mov ebx, dword [eax]
mov eax, dword [eax - 4]
push ecx
push eax
push esi
call fcn.004700e0
add esp, 0xc
test eax, eax
je 0x4b0a14
push 0
push 0
push 0
push ebx
push eax
push esi
call fcn.0046fff0
add esp, 0x18
test eax, eax
jge 0x4b0a2e
push esi
call fcn.0044ee30
add esp, 4
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], 1
jmp 0x4b5f7c
mov edx, dword [esp + 0x40]
mov eax, dword [edx + eax*4 + 4]
jmp 0x4b0990
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0xf8]
cmp ecx, 5
jne 0x4b0a5d
mov cl, byte [edi]
xor eax, eax
cmp cl, 0x2e
sete al
jmp 0x4b1071
mov eax, dword [esp + 0xf0]
mov ebx, dword [esp + 0x110]
dec eax
cmp eax, 3
ja case.default.0x4b0a8c
jmp dword [eax*4 + 0x4b6678]
mov eax, dword [ebx]
dec ecx
cmp ecx, 3
mov dword [esp + 0x34], eax
ja case.default.0x4b0a8c
jmp dword [ecx*4 + 0x4b6688]
mov edx, dword [edx]
cmp eax, edx
jge 0x4b0c75
or esi, 0xffffffff
jmp case.default.0x4b0a8c
mov esi, dword [edx]
mov ebx, dword [edx + 4]
cdq
jmp 0x4b0d2e
fild dword [esp + 0x34]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
fstp qword [esp + 0x88]
jmp 0x4b0f81
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x1a4]
push eax
push ecx
push 0
call fcn.0044df80
lea edx, [esp + 0x1b0]
push 0
push edx
call fcn.004c0780
mov esi, eax
lea eax, [esp + 0x1b8]
inc esi
push eax
neg esi
sbb esi, esi
and esi, 0xfffffffe
inc esi
call fcn.004c03f0
add esp, 0x18
jmp case.default.0x4b0a8c
mov eax, dword [ebx]
dec ecx
mov dword [esp + 0x120], eax
mov eax, dword [ebx + 4]
cmp ecx, 3
mov dword [esp + 0x124], eax
ja case.default.0x4b0a8c
jmp dword [ecx*4 + 0x4b6698]
mov esi, dword [edx]
mov ebx, dword [edx + 4]
jmp 0x4b0d3c
mov eax, dword [edx]
cdq
mov esi, eax
mov ebx, edx
jmp 0x4b0d3c
fild qword [esp + 0x120]
mov esi, dword [edx]
mov ebx, dword [edx + 4]
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebx
fstp qword [esp + 0x88]
fld qword [esp + 0x88]
call sub.MSVCRT.dll__ftol
cmp dword [esp + 0x120], eax
jne 0x4b0b87
cmp dword [esp + 0x124], edx
je 0x4b0f81
lea ecx, [esp + 0x288]
push ecx
push ebx
push esi
call dword [sym.imp.MSVCRT.dll_modf]
fcomp qword [0x51b150]
add esp, 0xc
fnstsw ax
test ah, 0x40
je 0x4b0f81
fld qword [esp + 0x70]
fcomp qword [0x520138]
fnstsw ax
test ah, 1
je 0x4b0bc6
mov esi, 1
jmp case.default.0x4b0a8c
fld qword [esp + 0x70]
fcomp qword [0x520130]
fnstsw ax
test ah, 0x41
jne 0x4b0bdf
or esi, 0xffffffff
jmp case.default.0x4b0a8c
fld qword [esp + 0x70]
call sub.MSVCRT.dll__ftol
mov esi, eax
mov ebx, edx
jmp 0x4b0d3c
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x1a4]
push edx
push eax
push 0
call fcn.0044df80
lea ecx, [esp + 0x1b0]
push 0
push ecx
call fcn.004c0780
mov esi, eax
lea edx, [esp + 0x1b8]
inc esi
push edx
neg esi
sbb esi, esi
and esi, 0xfffffffe
inc esi
call fcn.004c03f0
add esp, 0x18
jmp case.default.0x4b0a8c
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
dec ecx
mov dword [esp + 0x88], eax
cmp ecx, 3
mov dword [esp + 0x8c], ebx
ja case.default.0x4b0a8c
jmp dword [ecx*4 + 0x4b66a8]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
jmp 0x4b0f81
fild dword [edx]
fstp qword [esp + 0x70]
jmp 0x4b0f81
xor ecx, ecx
cmp eax, edx
setg cl
mov esi, ecx
jmp case.default.0x4b0a8c
mov esi, dword [edx]
mov ebx, dword [edx + 4]
mov dword [esp + 0x360], esi
mov dword [esp + 0x364], ebx
fild qword [esp + 0x360]
fstp qword [esp + 0x70]
fld qword [esp + 0x70]
call sub.MSVCRT.dll__ftol
cmp esi, eax
jne 0x4b0cb6
cmp ebx, edx
je 0x4b0f81
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
lea edx, [esp + 0x288]
push edx
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_modf]
fcomp qword [0x51b150]
add esp, 0xc
fnstsw ax
test ah, 0x40
je 0x4b0f81
fld qword [esp + 0x88]
fcomp qword [0x520138]
fnstsw ax
test ah, 1
je 0x4b0d04
or esi, 0xffffffff
jmp case.default.0x4b0a8c
fld qword [esp + 0x88]
fcomp qword [0x520130]
fnstsw ax
test ah, 0x41
jne 0x4b0d22
mov esi, 1
jmp case.default.0x4b0a8c
fld qword [esp + 0x88]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
mov eax, dword [esp + 0x124]
cmp eax, ebx
jg 0x4b0d71
jl 0x4b0d52
cmp dword [esp + 0x120], esi
jae 0x4b0d5a
or esi, 0xffffffff
jmp case.default.0x4b0a8c
cmp eax, ebx
jl 0x4b02ec
jg 0x4b0d71
cmp dword [esp + 0x120], esi
jbe 0x4b02ec
mov esi, 1
jmp case.default.0x4b0a8c
mov esi, dword [esp + 0x88]
push ebx
push esi
call dword [sym.imp.MSVCRT.dll__finite]
add esp, 8
test eax, eax
jne 0x4b0db3
fld qword [esp + 0x88]
fcomp qword [0x51b150]
fnstsw ax
test ah, 0x41
jne 0x4b0f93
mov esi, 1
jmp case.default.0x4b0a8c
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x1a4]
push edx
push eax
push 0
call fcn.0044df80
fld qword [esp + 0x94]
fcomp qword [0x51f5a8]
add esp, 0xc
fnstsw ax
test ah, 1
je 0x4b0e21
fld qword [esp + 0x88]
fcomp qword [0x51f5a0]
fnstsw ax
test ah, 0x41
jne 0x4b0e21
lea ecx, [esp + 0x1a4]
push 0
push ecx
call fcn.004c0780
mov esi, eax
lea edx, [esp + 0x1ac]
inc esi
push edx
neg esi
sbb esi, esi
and esi, 0xfffffffe
inc esi
call fcn.004c03f0
add esp, 0xc
jmp case.default.0x4b0a8c
lea eax, [esp + 0x288]
push eax
push ebx
push esi
call dword [sym.imp.MSVCRT.dll_modf]
fcomp qword [0x51b150]
add esp, 0xc
fnstsw ax
test ah, 0x40
jne 0x4b0e5e
lea ecx, [esp + 0x1a4]
push ecx
call fcn.004bfc30
fstp qword [esp + 0x74]
lea edx, [esp + 0x1a8]
jmp 0x4b0f78
lea eax, [esp + 0x228]
push eax
push ebx
push esi
push 0
call fcn.004bfb30
add esp, 0x10
jmp 0x4b0fe2
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x228]
push ecx
push edx
push 0
call fcn.0044df80
mov eax, dword [esp + 0x114]
add esp, 0xc
dec eax
cmp eax, 3
ja case.default.0x4b0a8c
jmp dword [eax*4 + 0x4b66b8]
mov eax, dword [esp + 0xf8]
mov ebx, dword [eax + 4]
mov esi, dword [eax]
push ebx
push esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], ebx
call dword [sym.imp.MSVCRT.dll__finite]
fld qword [esp + 0x78]
add esp, 8
test eax, eax
jne 0x4b0ef9
fcomp qword [0x51b150]
fnstsw ax
test ah, 0x41
jne 0x4b0edf
or esi, 0xffffffff
jmp 0x4b0ee4
mov esi, 1
lea eax, [esp + 0x228]
push eax
call fcn.004c03f0
add esp, 4
jmp case.default.0x4b0a8c
fcomp qword [0x51f5a8]
fnstsw ax
test ah, 1
je 0x4b0f3d
fld qword [esp + 0x70]
fcomp qword [0x51f5a0]
fnstsw ax
test ah, 0x41
jne 0x4b0f3d
lea ecx, [esp + 0x228]
push 0
push ecx
call fcn.004c0780
lea edx, [esp + 0x230]
mov esi, eax
push edx
call fcn.004c03f0
add esp, 0xc
jmp case.default.0x4b0a8c
lea eax, [esp + 0x288]
push eax
push ebx
push esi
call dword [sym.imp.MSVCRT.dll_modf]
fcomp qword [0x51b150]
add esp, 0xc
fnstsw ax
test ah, 0x40
jne 0x4b0fb5
lea ecx, [esp + 0x228]
push ecx
call fcn.004bfc30
fstp qword [esp + 0x8c]
lea edx, [esp + 0x22c]
push edx
call fcn.004c03f0
add esp, 8
fld qword [esp + 0x88]
fcomp qword [esp + 0x70]
fnstsw ax
test ah, 1
je 0x4b0f98
or esi, 0xffffffff
jmp case.default.0x4b0a8c
fld qword [esp + 0x88]
fcomp qword [esp + 0x70]
fnstsw ax
test ah, 0x41
jne 0x4b02ec
mov esi, 1
jmp case.default.0x4b0a8c
lea eax, [esp + 0x1a4]
push eax
push ebx
push esi
push 0
call fcn.004bfb30
add esp, 0x10
jmp 0x4b0fe2
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x1a4]
push ecx
push edx
push 0
call fcn.0044df80
add esp, 0xc
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x228]
push eax
push ecx
call fcn.004dce60
lea edx, [esp + 0x230]
mov esi, eax
push edx
call fcn.004c03f0
lea eax, [esp + 0x1b0]
push eax
call fcn.004c03f0
add esp, 0x10
xor eax, eax
mov al, byte [edi]
add eax, 0xffffffd3
cmp eax, 5
ja case.default.0x4b1022
jmp dword [eax*4 + 0x4b66c8]
xor ecx, ecx
test esi, esi
sete cl
mov dword [esp + 0x20], ecx
jmp case.default.0x4b1022
xor edx, edx
test esi, esi
setne dl
mov dword [esp + 0x20], edx
jmp case.default.0x4b1022
xor eax, eax
cmp esi, 0xffffffff
sete al
jmp 0x4b1071
xor ecx, ecx
cmp esi, 1
sete cl
mov dword [esp + 0x20], ecx
jmp case.default.0x4b1022
xor edx, edx
cmp esi, 1
setne dl
mov dword [esp + 0x20], edx
jmp case.default.0x4b1022
xor eax, eax
cmp esi, 0xffffffff
setne al
mov dword [esp + 0x20], eax
inc edi
xor eax, eax
mov dword [esp + 0x10], edi
mov al, byte [edi]
add eax, 0xffffffdc
cmp eax, 3
ja case.default.0x4b1086
jmp dword [eax*4 + 0x4b66e0]
mov eax, dword [esp + 0x20]
test eax, eax
mov eax, 2
jne 0x4b00a9
movsx eax, byte [edi + 1]
jmp 0x4b00a9
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4b10b8
movsx eax, byte [edi + 1]
jmp 0x4b00a9
mov eax, 2
jmp 0x4b00a9
mov eax, dword [esp + 0x20]
test eax, eax
jmp 0x4b009e
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4b00a4
movsx eax, byte [edi + 1]
xor edx, edx
xor ecx, ecx
mov dl, byte [edi + 2]
mov cl, byte [edi + 3]
shl eax, 8
or eax, edx
xor edx, edx
mov dl, byte [edi + 4]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x4b00a9
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esp + 0xc], eax
inc dword [eax]
jmp 0x4b09a0
mov eax, dword [esp + 0x14]
mov esi, dword [eax - 4]
mov ebx, dword [eax]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
mov eax, dword [esi + 0xc]
cmp eax, 0x52b498
jne 0x4b114d
mov ecx, 1
add esi, 0x10
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x84], esi
jmp 0x4b1216
cmp eax, 0x52b4b0
jne 0x4b116f
mov ecx, 2
add esi, 0x10
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x84], esi
jmp 0x4b120f
cmp eax, 0x52b480
jne 0x4b11b2
mov edx, dword [esp + 0x20]
sub esp, 8
fld qword [edx + 0x10]
lea ebx, [edx + 0x10]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll__isnan]
mov ecx, eax
add esp, 8
neg ecx
mov esi, dword [esp + 0x20]
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x1c]
sbb ecx, ecx
neg ecx
add ecx, 4
mov dword [esp + 0xd0], ecx
jmp 0x4b11fd
test eax, eax
jne 0x4b11c1
mov eax, dword [esi + 4]
test eax, eax
je 0x4b3957
mov eax, dword [esi + 4]
test eax, eax
je 0x4b11d3
mov eax, dword [esi + 8]
test eax, eax
je 0x4b3957
lea eax, [esp + 0xd0]
lea ecx, [esp + 0x84]
push eax
push ecx
push esi
push 0
call fcn.0044e2c0
add esp, 0x10
test eax, eax
jne 0x4b3957
mov ecx, dword [esp + 0xd0]
cmp ecx, 4
je 0x4b3957
cmp ecx, 5
je 0x4b3957
mov esi, dword [esp + 0x84]
mov eax, dword [ebx + 0xc]
cmp eax, 0x52b498
jne 0x4b1227
mov eax, 1
jmp 0x4b1233
cmp eax, 0x52b4b0
jne 0x4b1251
mov eax, 2
lea edx, [ebx + 0x10]
mov dword [esp + 0xf4], eax
mov dword [esp + 0x104], edx
mov dword [esp + 0x18], 0
jmp 0x4b130e
cmp eax, 0x52b480
jne 0x4b1298
mov edx, dword [esp + 0x1c]
sub esp, 8
fld qword [edx + 0x10]
lea ebx, [edx + 0x10]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll__isnan]
add esp, 8
mov edx, ebx
neg eax
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x104], edx
sbb eax, eax
mov dword [esp + 0x18], 0
neg eax
add eax, 4
mov dword [esp + 0xf4], eax
jmp 0x4b12ee
test eax, eax
jne 0x4b12a7
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b393c
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b12b9
mov eax, dword [ebx + 8]
test eax, eax
je 0x4b393c
lea eax, [esp + 0xf4]
lea ecx, [esp + 0x104]
push eax
push ecx
push ebx
push 0
call fcn.0044e2c0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b393c
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0x104]
cmp eax, 4
je 0x4b393c
cmp eax, 5
je 0x4b393c
mov ecx, dword [esp + 0xd0]
mov esi, dword [esp + 0x84]
cmp byte [edi], 0x39
jne 0x4b1826
xor ebx, ebx
cmp eax, 1
jne 0x4b1347
mov ebx, dword [edx]
test ebx, ebx
je 0x4b5f32
cmp ebx, eax
je 0x4b1331
cmp ebx, 0xffffffff
jne 0x4b1347
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
cmp ecx, 1
jne 0x4b14fc
mov esi, dword [esi]
test esi, esi
jne 0x4b136c
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
cmp eax, 1
jne 0x4b140f
mov eax, esi
cdq
idiv ebx
test eax, eax
jl 0x4b1390
jne 0x4b139a
test esi, esi
jge 0x4b138a
test ebx, ebx
jg 0x4b1390
test esi, esi
jle 0x4b139a
test ebx, ebx
jge 0x4b139a
mov ecx, ebx
imul ecx, eax
cmp ecx, esi
je 0x4b139a
dec eax
imul ebx, eax
push 0x54330c
sub esi, ebx
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b13bf
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov edx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], edx
call fcn.0047c8f0
mov eax, dword [esp + 0x10]
add esp, 4
mov dword [eax], 0
mov ecx, dword [esp + 0xc]
mov dword [ecx + 4], 0
mov edx, dword [esp + 0xc]
mov dword [edx + 0x10], esi
mov eax, dword [esp + 0xc]
mov dword [eax + 0xc], 0x52b498
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
cmp eax, 2
jne 0x4b145b
mov ecx, dword [edx + 4]
mov ebx, dword [edx]
test ecx, ecx
jl 0x4b142a
jg 0x4b1423
test ebx, ebx
jbe 0x4b142a
mov eax, 1
jmp 0x4b142c
xor eax, eax
xor edx, edx
test esi, esi
setg dl
xor edx, eax
je 0x4b29bc
mov eax, esi
cdq
add eax, ebx
adc edx, ecx
push edx
push eax
call fcn.0044d670
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
mov dword [eax], ecx
inc edi
jmp 0x4b099c
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x310]
push eax
push ecx
push 0
call fcn.0044df80
mov ebx, dword [esp + 0x324]
add esp, 0xc
xor edx, edx
test esi, esi
setg dl
xor eax, eax
test ebx, ebx
sete al
xor edx, eax
je 0x4b14e2
lea ecx, [esp + 0x3e0]
push esi
push ecx
call fcn.004a4da0
lea edx, [esp + 0x318]
lea eax, [esp + 0x3e8]
push edx
lea ecx, [esp + 0x31c]
push eax
push ecx
call fcn.004dcfb0
lea edx, [esp + 0x3f4]
push edx
call fcn.004c03f0
lea eax, [esp + 0x328]
push eax
call fcn.0044dcb0
mov dword [esp + 0x28], eax
mov ecx, dword [eax]
add esp, 0x1c
inc ecx
mov dword [eax], ecx
inc edi
jmp 0x4b099c
lea ecx, [esp + 0x310]
push ecx
call fcn.004c03f0
add esp, 4
inc edi
mov dword [esp + 0x10], edi
jmp 0x4b6297
cmp ecx, 2
jne 0x4b16fa
mov edx, dword [esp + 0x84]
mov esi, dword [esi]
cmp eax, 3
mov ebx, dword [edx + 4]
je 0x4b164c
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x130]
push eax
push ecx
push 0
call fcn.0044d7d0
mov edx, dword [esp + 0x140]
mov eax, dword [esp + 0x13c]
add esp, 0xc
push edx
push eax
push ebx
push esi
call fcn.004e3fb0
test edx, edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], edx
jl 0x4b15ba
jg 0x4b1560
test eax, eax
jb 0x4b15ba
mov ecx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
or ecx, eax
jne 0x4b160a
test ebx, ebx
jg 0x4b15a2
jl 0x4b1580
test esi, esi
jae 0x4b1598
mov eax, dword [esp + 0x134]
test eax, eax
jg 0x4b15ba
jl 0x4b1598
mov eax, dword [esp + 0x130]
test eax, eax
ja 0x4b15ba
test ebx, ebx
jl 0x4b160a
jg 0x4b15a2
test esi, esi
jbe 0x4b160a
mov eax, dword [esp + 0x134]
test eax, eax
jg 0x4b160a
jl 0x4b15ba
mov eax, dword [esp + 0x130]
test eax, eax
jae 0x4b160a
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0xd8]
push edx
mov edx, dword [esp + 0xd8]
push eax
push ecx
push edx
call fcn.004e4060
cmp eax, esi
jne 0x4b15e7
cmp edx, ebx
je 0x4b160a
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
or eax, 0xffffffff
add edx, eax
adc ecx, eax
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0xd8]
push eax
mov eax, dword [esp + 0xd8]
push ecx
push edx
push eax
call fcn.004e4060
sub esi, eax
sbb ebx, edx
push ebx
push esi
call fcn.0044d670
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
mov dword [eax], ecx
inc edi
jmp 0x4b099c
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x320]
push ecx
push edx
push 0
call fcn.0044df80
add esp, 0xc
test ebx, ebx
jl 0x4b1674
jg 0x4b166d
test esi, esi
jbe 0x4b1674
mov eax, 1
jmp 0x4b1676
xor eax, eax
mov edx, dword [esp + 0x328]
xor ecx, ecx
test edx, edx
sete cl
xor ecx, eax
je 0x4b16e0
push ebx
lea edx, [esp + 0x3b4]
push esi
push edx
call fcn.004a4e00
lea eax, [esp + 0x32c]
lea ecx, [esp + 0x3bc]
push eax
lea edx, [esp + 0x330]
push ecx
push edx
call fcn.004dcfb0
lea eax, [esp + 0x3c8]
push eax
call fcn.004c03f0
lea ecx, [esp + 0x33c]
push ecx
call fcn.0044dcb0
mov dword [esp + 0x2c], eax
mov ecx, dword [eax]
add esp, 0x20
inc ecx
mov dword [eax], ecx
inc edi
jmp 0x4b099c
lea edx, [esp + 0x320]
push edx
call fcn.004c03f0
add esp, 4
inc edi
mov dword [esp + 0x10], edi
jmp 0x4b6297
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x3c0]
push eax
push esi
push 0
call fcn.0044dd30
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x384]
push ecx
push edx
push 0
call fcn.0044dd30
lea eax, [esp + 0x2d8]
push eax
call fcn.004c06f0
lea ecx, [esp + 0x294]
push ecx
call fcn.004c06f0
lea edx, [esp + 0x298]
lea eax, [esp + 0x2e0]
push edx
lea ecx, [esp + 0x39c]
push eax
lea edx, [esp + 0x3e8]
push ecx
push edx
call fcn.004dc840
mov eax, dword [esp + 0x2a8]
add esp, 0x30
test eax, eax
je 0x4b17b8
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x380]
cmp eax, ecx
je 0x4b17b8
lea ecx, [esp + 0x2c0]
lea edx, [esp + 0x2c0]
push ecx
push 1
push edx
call fcn.004c1700
lea eax, [esp + 0x284]
lea ecx, [esp + 0x384]
push eax
lea edx, [esp + 0x288]
push ecx
push edx
call fcn.004dcfb0
add esp, 0x18
lea eax, [esp + 0x2c0]
lea ecx, [esp + 0x278]
push eax
push ecx
call fcn.004dcd90
lea edx, [esp + 0x280]
push edx
call fcn.004c03f0
lea eax, [esp + 0x3cc]
push eax
call fcn.004c03f0
lea ecx, [esp + 0x388]
push ecx
call fcn.004c03f0
mov eax, dword [esi]
add esp, 0x14
cmp eax, 1
jle 0x4b180b
lea edx, [esp + 0x2c0]
push edx
jmp 0x4b390a
lea eax, [esp + 0x2c0]
push eax
push esi
call fcn.0044dfa0
add esp, 8
inc edi
mov dword [esp + 0x10], edi
jmp 0x4b6297
mov ebx, eax
dec ebx
je 0x4b1897
dec ebx
je 0x4b1887
dec ebx
jne 0x4b18d1
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x3d0]
push ecx
push edx
push 0
call fcn.0044df80
lea eax, [esp + 0x3dc]
push 0
push eax
call fcn.004c0780
xor ebx, ebx
lea ecx, [esp + 0x3e4]
cmp eax, 0xffffffff
push ecx
sete bl
call fcn.004c03f0
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0x10c]
mov edx, dword [esp + 0x11c]
add esp, 0x18
jmp 0x4b18a0
mov ebx, dword [edx + 4]
test ebx, ebx
jl 0x4b18a4
jg 0x4b18d1
cmp dword [edx], 0
jb 0x4b18a4
jmp 0x4b18d1
mov esi, dword [edx]
xor ebx, ebx
test esi, esi
setl bl
test ebx, ebx
je 0x4b18ca
push 0xffffffffffffffff
push str.negative_shift_argument
call fcn.00450ff0
mov edx, dword [ebp + 8]
push eax
push edx
call fcn.0044ed70
add esp, 0x10
mov dword [esp + 0x18], 1
jmp 0x4b5f7c
mov esi, dword [esp + 0x84]
cmp ecx, 1
jne 0x4b18f1
cmp dword [esi], 0
jne 0x4b18f1
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
cmp byte [edi], 0x33
jne 0x4b1ade
cmp eax, 1
jne 0x4b1ab8
mov edx, dword [edx]
cmp edx, 0x7fffffff
jg 0x4b1ab8
cmp ecx, eax
mov ebx, edx
jne 0x4b19b7
cmp ebx, 0x20
jae 0x4b19c0
mov esi, dword [esi]
test esi, esi
je 0x4b19c0
mov eax, esi
jg 0x4b1934
not eax
mov ecx, 0x1f
or edx, 0xffffffff
sub ecx, ebx
shl edx, cl
test eax, edx
jne 0x4b19c0
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b1964
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
mov ecx, dword [esp + 0x10]
add esp, 4
mov dword [ecx], 0
mov edx, dword [esp + 0xc]
mov ecx, ebx
shl esi, cl
mov dword [edx + 4], 0
mov eax, dword [esp + 0xc]
mov dword [eax + 0x10], esi
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], 0x52b498
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
cmp ecx, 3
je 0x4b1d5a
cmp ebx, 0x40
jae 0x4b1d5a
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x52b4b0
jne 0x4b19ee
mov edx, dword [eax + 0x10]
mov dword [esp + 0xdc], edx
mov eax, dword [eax + 0x14]
mov dword [esp + 0xe0], eax
jmp 0x4b1a1d
cmp ecx, 0x52b498
jne 0x4b1a0a
mov eax, dword [eax + 0x10]
cdq
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edx
jmp 0x4b1a1d
lea ecx, [esp + 0xdc]
push ecx
push eax
push 0
call fcn.0044d7d0
add esp, 0xc
mov eax, dword [esp + 0xe0]
test eax, eax
jl 0x4b1a4c
jg 0x4b1a35
mov eax, dword [esp + 0xdc]
test eax, eax
jbe 0x4b1a4c
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0xdc]
mov dword [esp + 0x2e4], edx
jmp 0x4b1a65
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0xdc]
not eax
not esi
mov dword [esp + 0x2e4], eax
mov ecx, 0x3f
or eax, 0xffffffff
sub ecx, ebx
or edx, 0xffffffff
call fcn.004e3ed0
and eax, esi
mov esi, dword [esp + 0x2e4]
and edx, esi
or eax, edx
jne 0x4b1d5a
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov ecx, ebx
call fcn.004e3ed0
push edx
push eax
call fcn.0044d670
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
mov dword [eax], ecx
inc edi
jmp 0x4b099c
push 0xffffffffffffffff
push str.integer_value_too_large_to_represent
call fcn.00450ff0
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0044ed70
add esp, 0x10
mov dword [esp + 0x18], 1
jmp 0x4b5f7c
cmp eax, 1
jne 0x4b1af1
mov edx, dword [edx]
cmp edx, 0x7fffffff
jle 0x4b1b79
dec ecx
je 0x4b1b52
dec ecx
je 0x4b1b3b
dec ecx
jne 0x4b063d
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x3f0]
push ecx
push edx
push 0
call fcn.0044df80
lea eax, [esp + 0x3fc]
push 0
push eax
call fcn.004c0780
mov ebx, eax
lea ecx, [esp + 0x404]
dec ebx
push ecx
neg ebx
sbb ebx, ebx
inc ebx
call fcn.004c03f0
add esp, 0x18
jmp 0x4b1b5b
mov eax, dword [esi + 4]
test eax, eax
jg 0x4b1b63
jl 0x4b063d
cmp dword [esi], 0
ja 0x4b1b63
jmp 0x4b063d
mov eax, dword [esi]
xor ebx, ebx
test eax, eax
setg bl
test ebx, ebx
je 0x4b063d
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
cmp ecx, 1
mov ebx, edx
jne 0x4b1c90
mov esi, dword [esi]
cmp ebx, 0x20
jb 0x4b1c1d
test esi, esi
jl 0x4b1ba9
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b1bc9
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov ecx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], ecx
call fcn.0047c8f0
mov edx, dword [esp + 0x10]
add esp, 4
mov dword [edx], 0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 0
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x10], 0xffffffff
mov edx, dword [esp + 0xc]
mov dword [edx + 0xc], 0x52b498
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b1c3d
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
mov ecx, dword [esp + 0x10]
add esp, 4
mov dword [ecx], 0
mov edx, dword [esp + 0xc]
mov ecx, ebx
sar esi, cl
mov dword [edx + 4], 0
mov eax, dword [esp + 0xc]
mov dword [eax + 0x10], esi
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], 0x52b498
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
cmp ecx, 2
jne 0x4b1d5a
mov eax, dword [esi]
mov edx, dword [esi + 4]
cmp ebx, 0x40
jb 0x4b1d3a
test edx, edx
jl 0x4b1cc7
jg 0x4b1cb1
test eax, eax
jb 0x4b1cc7
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b1ce7
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
mov ecx, dword [esp + 0x10]
add esp, 4
mov dword [ecx], 0
mov edx, dword [esp + 0xc]
mov dword [edx + 4], 0
mov eax, dword [esp + 0xc]
mov dword [eax + 0x10], 0xffffffff
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], 0x52b498
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
mov ecx, ebx
call fcn.004e4190
push edx
push eax
call fcn.0044d670
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
mov dword [eax], ecx
inc edi
jmp 0x4b099c
mov esi, dword [esp + 0x20]
lea edx, [esp + 0x3a0]
push edx
push esi
push 0
call fcn.0044df80
lea eax, [esp + 0x2bc]
push eax
call fcn.004c06f0
mov al, byte [edi]
add esp, 0x10
cmp al, 0x33
jne 0x4b1d9f
lea ecx, [esp + 0x2b0]
lea edx, [esp + 0x3a0]
push ecx
push ebx
push edx
call fcn.004dbcf0
add esp, 0xc
jmp 0x4b1e0b
lea eax, [esp + 0x390]
push eax
call fcn.004c06f0
lea ecx, [esp + 0x394]
lea edx, [esp + 0x2b4]
push ecx
push edx
lea eax, [esp + 0x3ac]
push ebx
push eax
call fcn.004dc440
lea ecx, [esp + 0x3a4]
push 0
push ecx
call fcn.004c0780
add esp, 0x1c
cmp eax, 0xffffffff
jne 0x4b1dfb
lea edx, [esp + 0x2b0]
lea eax, [esp + 0x2b0]
push edx
push 1
push eax
call fcn.004c1700
add esp, 0xc
lea ecx, [esp + 0x390]
push ecx
call fcn.004c03f0
add esp, 4
lea edx, [esp + 0x3a0]
push edx
call fcn.004c03f0
mov eax, dword [esi]
add esp, 4
cmp eax, 1
jg 0x4b1e3d
lea eax, [esp + 0x2b0]
push eax
push esi
call fcn.0044dfa0
add esp, 8
inc edi
mov dword [esp + 0x10], edi
jmp 0x4b6297
lea ecx, [esp + 0x2b0]
push ecx
jmp 0x4b390a
mov eax, dword [esp + 0x14]
mov ebx, dword [eax - 4]
mov esi, dword [eax]
mov dword [esp + 0x34], ebx
mov eax, dword [ebx + 0xc]
cmp eax, 0x52b498
jne 0x4b1e7c
mov ecx, 1
lea edx, [ebx + 0x10]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x158], edx
jmp 0x4b1f32
cmp eax, 0x52b4b0
jne 0x4b1e9e
mov ecx, 2
lea eax, [ebx + 0x10]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x158], eax
jmp 0x4b1f32
cmp eax, 0x52b480
jne 0x4b1ed5
fld qword [ebx + 0x10]
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll__isnan]
mov ecx, eax
add esp, 8
neg ecx
sbb ecx, ecx
lea eax, [ebx + 0x10]
neg ecx
add ecx, 4
mov dword [esp + 0x158], eax
mov dword [esp + 0x10c], ecx
jmp 0x4b1f20
test eax, eax
jne 0x4b1ee4
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b393c
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b1ef6
mov eax, dword [ebx + 8]
test eax, eax
je 0x4b393c
lea ecx, [esp + 0x10c]
lea edx, [esp + 0x158]
push ecx
push edx
push ebx
push 0
call fcn.0044e2c0
add esp, 0x10
test eax, eax
jne 0x4b393c
mov ecx, dword [esp + 0x10c]
cmp ecx, 5
je 0x4b393c
cmp ecx, 4
je 0x4b393c
mov eax, dword [esi + 0xc]
cmp eax, 0x52b498
jne 0x4b1f43
mov eax, 1
jmp 0x4b1f4f
cmp eax, 0x52b4b0
jne 0x4b1f6d
mov eax, 2
lea edx, [esi + 0x10]
mov dword [esp + 0x140], eax
mov dword [esp + 0x148], edx
mov dword [esp + 0x18], 0
jmp 0x4b2016
cmp eax, 0x52b480
jne 0x4b1fae
fld qword [esi + 0x10]
lea ebx, [esi + 0x10]
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll__isnan]
add esp, 8
mov dword [esp + 0x148], ebx
neg eax
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x18], 0
sbb eax, eax
neg eax
add eax, 4
mov dword [esp + 0x140], eax
jmp 0x4b1ffd
test eax, eax
jne 0x4b1fbd
mov eax, dword [esi + 4]
test eax, eax
je 0x4b3c57
mov eax, dword [esi + 4]
test eax, eax
je 0x4b1fcf
mov eax, dword [esi + 8]
test eax, eax
je 0x4b3c57
lea eax, [esp + 0x140]
lea ecx, [esp + 0x148]
push eax
push ecx
push esi
push 0
call fcn.0044e2c0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b3c57
mov eax, dword [esp + 0x140]
cmp eax, 5
je 0x4b3c57
cmp eax, 4
je 0x4b3c57
mov ecx, dword [esp + 0x10c]
cmp ecx, 3
je 0x4b2024
cmp eax, 3
jne 0x4b23a7
lea edx, [esp + 0x368]
push edx
push ebx
push 0
call fcn.0044df80
lea eax, [esp + 0x344]
push eax
push esi
push 0
call fcn.0044df80
lea ecx, [esp + 0x380]
push 0
push ecx
call fcn.004c0780
add esp, 0x20
cmp eax, 0xffffffff
je 0x4b208a
lea edx, [esp + 0x338]
push 0
push edx
call fcn.004c0780
add esp, 8
xor ecx, ecx
cmp eax, 0xffffffff
lea edi, [esp + 0x368]
setne cl
inc ecx
lea esi, [esp + 0x338]
mov dword [esp + 0x2c], ecx
jmp 0x4b20b6
lea edx, [esp + 0x338]
push 0
push edx
lea edi, [esp + 0x340]
lea esi, [esp + 0x370]
call fcn.004c0780
add esp, 8
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov dword [esp + 0x2c], ecx
lea edx, [esp + 0x9c]
push edx
call fcn.004c06f0
mov ecx, dword [esp + 0x14]
xor eax, eax
add esp, 4
mov al, byte [ecx]
sub eax, 0x2a
je 0x4b225b
dec eax
je 0x4b21a7
dec eax
jne 0x4b234d
mov eax, dword [esp + 0x2c]
sub eax, 0
je 0x4b214c
dec eax
je 0x4b210f
dec eax
jne 0x4b234d
lea edx, [esp + 0x9c]
push edx
push esi
push edi
call fcn.004dcf00
add esp, 0xc
jmp 0x4b234d
push esi
push esi
call fcn.004c0740
push esi
push 1
push esi
call fcn.004c1700
lea eax, [esp + 0xb0]
push eax
push esi
push edi
call fcn.004db8b0
lea ecx, [esp + 0xbc]
lea edx, [esp + 0xbc]
push ecx
push edx
push edi
call fcn.004dcf00
add esp, 0x2c
jmp 0x4b234d
push edi
push edi
call fcn.004c0740
push edi
push 1
push edi
call fcn.004c1700
push esi
push esi
call fcn.004c0740
push esi
push 1
push esi
call fcn.004c1700
lea eax, [esp + 0xc4]
push eax
push esi
push edi
call fcn.004dbc60
lea ecx, [esp + 0xd0]
lea edx, [esp + 0xd0]
push ecx
push edx
call fcn.004c0740
lea eax, [esp + 0xd8]
lea ecx, [esp + 0xd8]
push eax
push 1
push ecx
jmp 0x4b2345
mov eax, dword [esp + 0x2c]
sub eax, 0
je 0x4b2224
dec eax
je 0x4b21d1
dec eax
jne 0x4b234d
lea edx, [esp + 0x9c]
push edx
push esi
push edi
call fcn.004db8b0
add esp, 0xc
jmp 0x4b234d
push esi
push esi
call fcn.004c0740
push esi
push 1
push esi
call fcn.004c1700
lea eax, [esp + 0xb0]
push eax
push esi
push edi
call fcn.004db8b0
lea ecx, [esp + 0xbc]
lea edx, [esp + 0xbc]
push ecx
push edx
call fcn.004c0740
lea eax, [esp + 0xc4]
lea ecx, [esp + 0xc4]
push eax
push 1
push ecx
call fcn.004c1700
add esp, 0x34
jmp 0x4b234d
push edi
push edi
call fcn.004c0740
push edi
push 1
push edi
call fcn.004c1700
push esi
push esi
call fcn.004c0740
push esi
push 1
push esi
call fcn.004c1700
lea edx, [esp + 0xc4]
push edx
push esi
push edi
call fcn.004db8b0
add esp, 0x34
jmp 0x4b234d
mov eax, dword [esp + 0x2c]
sub eax, 0
je 0x4b22ef
dec eax
je 0x4b2289
dec eax
jne 0x4b234d
lea eax, [esp + 0x9c]
push eax
push esi
push edi
call fcn.004dbc60
add esp, 0xc
jmp 0x4b234d
push esi
push esi
call fcn.004c0740
push esi
push 1
push esi
call fcn.004c1700
lea ecx, [esp + 0xb0]
push ecx
push esi
push edi
call fcn.004db8b0
lea edx, [esp + 0xbc]
lea eax, [esp + 0xbc]
push edx
push eax
push esi
call fcn.004dcf00
lea ecx, [esp + 0xc8]
lea edx, [esp + 0xc8]
push ecx
push edx
call fcn.004c0740
lea eax, [esp + 0xd0]
lea ecx, [esp + 0xd0]
push eax
push 1
push ecx
call fcn.004c1700
add esp, 0x40
jmp 0x4b234d
push edi
push edi
call fcn.004c0740
push edi
push 1
push edi
call fcn.004c1700
push esi
push esi
call fcn.004c0740
push esi
push 1
push esi
call fcn.004c1700
lea edx, [esp + 0xc4]
push edx
push esi
push edi
call fcn.004dcf00
lea eax, [esp + 0xd0]
lea ecx, [esp + 0xd0]
push eax
push ecx
call fcn.004c0740
lea edx, [esp + 0xd8]
lea eax, [esp + 0xd8]
push edx
push 1
push eax
call fcn.004c1700
add esp, 0x48
lea ecx, [esp + 0x368]
push ecx
call fcn.004c03f0
lea edx, [esp + 0x33c]
push edx
call fcn.004c03f0
mov eax, dword [ebx]
add esp, 8
cmp eax, 1
jle 0x4b2386
lea eax, [esp + 0x9c]
push eax
call fcn.0044dcb0
add esp, 4
jmp 0x4b369b
lea ecx, [esp + 0x9c]
push ecx
push ebx
call fcn.0044dfa0
mov eax, dword [esp + 0x18]
add esp, 8
inc eax
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x4b6297
cmp ecx, 2
je 0x4b23b5
cmp eax, 2
jne 0x4b24ce
mov eax, dword [ebx + 0xc]
cmp eax, 0x52b4b0
jne 0x4b23d5
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x128], edx
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x12c], eax
jmp 0x4b2403
cmp eax, 0x52b498
jne 0x4b23f0
mov eax, dword [ebx + 0x10]
cdq
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], edx
jmp 0x4b2403
lea ecx, [esp + 0x128]
push ecx
push ebx
push 0
call fcn.0044d7d0
add esp, 0xc
mov eax, dword [esi + 0xc]
cmp eax, 0x52b4b0
jne 0x4b2423
mov eax, dword [esi + 0x10]
mov dword [esp + 0x1b4], eax
mov edx, dword [esi + 0x14]
mov dword [esp + 0x1b8], edx
jmp 0x4b245f
cmp eax, 0x52b498
jne 0x4b243e
mov eax, dword [esi + 0x10]
cdq
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], edx
jmp 0x4b245f
lea edx, [esp + 0x1b4]
push edx
push esi
push 0
call fcn.0044d7d0
mov edx, dword [esp + 0x1c4]
mov eax, dword [esp + 0x1c0]
add esp, 0xc
xor ecx, ecx
mov cl, byte [edi]
sub ecx, 0x2a
je 0x4b249c
dec ecx
je 0x4b2488
dec ecx
je 0x4b2474
xor eax, eax
xor edx, edx
jmp 0x4b24ae
mov esi, dword [esp + 0x128]
mov ecx, dword [esp + 0x12c]
and eax, esi
and edx, ecx
jmp 0x4b24ae
mov esi, dword [esp + 0x128]
mov ecx, dword [esp + 0x12c]
xor eax, esi
xor edx, ecx
jmp 0x4b24ae
mov esi, dword [esp + 0x128]
mov ecx, dword [esp + 0x12c]
or eax, esi
or edx, ecx
mov ecx, dword [ebx]
push edx
cmp ecx, 1
push eax
jg 0x4b2eeb
push ebx
call fcn.0044d700
add esp, 0xc
inc edi
mov dword [esp + 0x10], edi
jmp 0x4b6297
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x148]
mov esi, dword [eax]
mov eax, dword [ecx]
xor ecx, ecx
mov cl, byte [edi]
sub ecx, 0x2a
je 0x4b24fb
dec ecx
je 0x4b24f7
dec ecx
je 0x4b24f3
xor esi, esi
jmp 0x4b24ff
and eax, esi
jmp 0x4b24fd
xor eax, esi
jmp 0x4b24fd
or eax, esi
mov esi, eax
cmp dword [ebx], 1
jle 0x4b2574
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b2524
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov edx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], edx
call fcn.0047c8f0
mov eax, dword [esp + 0x10]
add esp, 4
mov dword [eax], 0
mov ecx, dword [esp + 0xc]
mov dword [ecx + 4], 0
mov edx, dword [esp + 0xc]
mov dword [edx + 0x10], esi
mov eax, dword [esp + 0xc]
mov dword [eax + 0xc], 0x52b498
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b2593
cmp eax, dword [0x52b448]
je 0x4b258c
push eax
call fcn.00450140
add esp, 4
mov dword [ebx + 4], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4b25a7
mov eax, dword [eax + 4]
test eax, eax
je 0x4b25a7
push ebx
call eax
add esp, 4
inc edi
mov dword [ebx + 0x10], esi
mov dword [ebx + 0xc], 0x52b498
mov dword [esp + 0x10], edi
jmp 0x4b6297
mov eax, dword [esp + 0x14]
mov esi, dword [eax - 4]
mov ebx, dword [eax]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], esi
mov eax, dword [esi + 0xc]
cmp eax, 0x52b498
jne 0x4b25f1
mov ecx, 1
lea eax, [esi + 0x10]
mov dword [esp + 0x80], ecx
mov dword [esp + 0xcc], eax
jmp 0x4b26a2
cmp eax, 0x52b4b0
jne 0x4b2613
mov ecx, 2
lea edx, [esi + 0x10]
mov dword [esp + 0x80], ecx
mov dword [esp + 0xcc], edx
jmp 0x4b26a2
cmp eax, 0x52b480
jne 0x4b264e
fld qword [esi + 0x10]
lea ebx, [esi + 0x10]
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll__isnan]
mov ecx, eax
add esp, 8
neg ecx
sbb ecx, ecx
mov dword [esp + 0xcc], ebx
mov ebx, dword [esp + 0x1c]
neg ecx
add ecx, 4
mov dword [esp + 0x80], ecx
jmp 0x4b2699
test eax, eax
jne 0x4b265d
mov eax, dword [esi + 4]
test eax, eax
je 0x4b3957
mov eax, dword [esi + 4]
test eax, eax
je 0x4b266f
mov eax, dword [esi + 8]
test eax, eax
je 0x4b3957
lea eax, [esp + 0x80]
lea ecx, [esp + 0xcc]
push eax
push ecx
push esi
push 0
call fcn.0044e2c0
add esp, 0x10
test eax, eax
jne 0x4b3957
mov ecx, dword [esp + 0x80]
cmp ecx, 5
je 0x4b3957
mov eax, dword [ebx + 0xc]
cmp eax, 0x52b498
jne 0x4b26cc
mov edx, 1
lea eax, [ebx + 0x10]
mov dword [esp + 0x58], edx
mov dword [esp + 0xc4], eax
mov dword [esp + 0x18], 0
jmp 0x4b2791
cmp eax, 0x52b4b0
jne 0x4b26f2
lea edx, [ebx + 0x10]
mov dword [esp + 0x58], 2
mov dword [esp + 0xc4], edx
mov dword [esp + 0x18], 0
jmp 0x4b278d
cmp eax, 0x52b480
jne 0x4b2734
mov eax, dword [esp + 0x1c]
sub esp, 8
fld qword [eax + 0x10]
lea ebx, [eax + 0x10]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll__isnan]
add esp, 8
mov dword [esp + 0xc4], ebx
neg eax
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], 0
sbb eax, eax
neg eax
add eax, 4
mov dword [esp + 0x58], eax
jmp 0x4b277d
test eax, eax
jne 0x4b2743
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b393c
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b2755
mov eax, dword [ebx + 8]
test eax, eax
je 0x4b393c
lea ecx, [esp + 0x58]
lea edx, [esp + 0xc4]
push ecx
push edx
push ebx
push 0
call fcn.0044e2c0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b393c
mov eax, dword [esp + 0x58]
cmp eax, 5
je 0x4b393c
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x58]
cmp ecx, 4
je 0x4b279f
cmp edx, 4
jne 0x4b29c6
lea eax, [esp + 0x188]
push eax
push esi
push 0
call fcn.0044cf50
lea ecx, [esp + 0x184]
push ecx
push ebx
push 0
call fcn.0044cf50
xor eax, eax
add esp, 0x18
mov al, byte [edi]
add eax, 0xffffffcb
cmp eax, 0x2e
ja case.0x4b27da.58
xor edx, edx
mov dl, byte [eax + 0x4b6708]
jmp dword [edx*4 + 0x4b66f0]
fld qword [esp + 0x178]
fadd qword [esp + 0x188]
fstp qword [esp + 0x118]
jmp 0x4b28b3
fld qword [esp + 0x188]
fsub qword [esp + 0x178]
fstp qword [esp + 0x118]
jmp 0x4b28b3
fld qword [esp + 0x178]
fmul qword [esp + 0x188]
fstp qword [esp + 0x118]
jmp 0x4b28b3
fld qword [esp + 0x188]
fdiv qword [esp + 0x178]
fstp qword [esp + 0x118]
jmp 0x4b28b3
fld qword [esp + 0x188]
fcomp qword [0x51b150]
fnstsw ax
test ah, 0x40
je 0x4b2872
fld qword [esp + 0x178]
fcomp qword [0x51b150]
fnstsw ax
test ah, 1
jne 0x4b2c3d
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x18c]
push eax
mov eax, dword [esp + 0x18c]
push ecx
push edx
push eax
call sub.MSVCRT.dll_pow
fstp qword [esp + 0x128]
add esp, 0x10
jmp 0x4b28b3
xor eax, eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x11c]
mov ebx, dword [esp + 0x118]
push ecx
push ebx
call dword [sym.imp.MSVCRT.dll__isnan]
add esp, 8
test eax, eax
je 0x4b28f2
mov edx, dword [esp + 0x11c]
mov eax, dword [ebp + 8]
push edx
push ebx
push eax
call fcn.004b6c30
add esp, 0xc
mov dword [esp + 0x18], 1
jmp 0x4b5f7c
cmp dword [esi], 1
jle 0x4b2975
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b2917
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov ecx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], ecx
call fcn.0047c8f0
mov edx, dword [esp + 0x10]
add esp, 4
mov dword [edx], 0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x11c]
mov dword [ecx + 0x10], ebx
mov edx, dword [esp + 0xc]
mov dword [edx + 0x14], eax
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], 0x52b480
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
mov eax, dword [esi + 4]
test eax, eax
je 0x4b2994
cmp eax, dword [0x52b448]
je 0x4b298d
push eax
call fcn.00450140
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b29a8
mov eax, dword [eax + 4]
test eax, eax
je 0x4b29a8
push esi
call eax
add esp, 4
mov edx, dword [esp + 0x11c]
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], edx
mov dword [esi + 0xc], 0x52b480
inc edi
mov dword [esp + 0x10], edi
jmp 0x4b6297
mov al, byte [edi]
cmp al, 0x37
jne 0x4b2ac2
cmp ecx, 1
jne 0x4b2ac2
cmp edx, ecx
jne 0x4b2ac2
mov eax, dword [esi + 0xc]
cmp eax, 0x52b4b0
jne 0x4b2a01
mov eax, dword [esi + 0x10]
mov dword [esp + 0x1bc], eax
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x1c0], ecx
jmp 0x4b2a2f
cmp eax, 0x52b498
jne 0x4b2a1c
mov eax, dword [esi + 0x10]
cdq
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], edx
jmp 0x4b2a2f
lea edx, [esp + 0x1bc]
push edx
push esi
push 0
call fcn.0044d7d0
add esp, 0xc
mov eax, dword [ebx + 0xc]
cmp eax, 0x52b4b0
jne 0x4b2a4f
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x1c4], eax
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x1c8], ecx
jmp 0x4b2a7d
cmp eax, 0x52b498
jne 0x4b2a6a
mov eax, dword [ebx + 0x10]
cdq
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], edx
jmp 0x4b2a7d
lea edx, [esp + 0x1c4]
push edx
push ebx
push 0
call fcn.0044d7d0
add esp, 0xc
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1c8]
push eax
mov eax, dword [esp + 0x1c8]
push ecx
push edx
push eax
call fcn.004e4060
mov ecx, dword [esi]
push edx
cmp ecx, 1
push eax
jg 0x4b2eeb
push esi
call fcn.0044d700
add esp, 0xc
inc edi
mov dword [esp + 0x10], edi
jmp 0x4b6297
cmp al, 0x63
jne 0x4b33ec
mov eax, dword [esp + 0x58]
xor edx, edx
xor ebx, ebx
cmp eax, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
jne 0x4b2b19
mov ebx, dword [esp + 0xc4]
mov ebx, dword [ebx]
test ebx, ebx
mov dword [esp + 0x24], ebx
jne 0x4b2b0a
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 8]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
cmp ebx, 1
jne 0x4b2b19
inc edi
mov dword [esp + 0x10], edi
jmp 0x4b6297
dec eax
je 0x4b2beb
dec eax
je 0x4b2b9f
dec eax
jne 0x4b2ca5
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x2e8]
push edx
push eax
push 0
call fcn.0044df80
lea ecx, [esp + 0x2f4]
push 0
push ecx
call fcn.004c0780
xor edx, edx
cmp eax, 0xffffffff
lea eax, [esp + 0x2fc]
lea ecx, [esp + 0x2fc]
push eax
push 1
sete dl
push ecx
mov dword [esp + 0x4c], edx
call fcn.004c07b0
mov eax, dword [esp + 0x308]
xor edx, edx
test eax, eax
lea eax, [esp + 0x308]
setne dl
push eax
mov dword [esp + 0x44], edx
call fcn.004c03f0
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x4c]
add esp, 0x24
jmp 0x4b2bff
mov eax, dword [esp + 0xc4]
mov eax, dword [eax]
mov dword [esp + 0x358], eax
mov eax, dword [esp + 0xc4]
cmp dword [eax + 4], 0
jg 0x4b2bda
jl 0x4b2bc9
mov eax, dword [esp + 0x358]
test eax, eax
jae 0x4b2bda
mov eax, dword [esp + 0x358]
mov dword [esp + 0x2c], 1
jmp 0x4b2bf8
mov eax, dword [esp + 0x358]
mov dword [esp + 0x2c], 0
jmp 0x4b2bf8
xor eax, eax
test ebx, ebx
setl al
mov dword [esp + 0x2c], eax
mov eax, ebx
and eax, 1
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4b2ca5
cmp ecx, 1
jne 0x4b2c27
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx]
cmp eax, 0xffffffff
je 0x4b2c64
test eax, eax
je 0x4b2c3d
cmp eax, 1
je 0x4b2c8f
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
push 0xffffffffffffffff
push str.exponentiation_of_zero_by_negative_power
call fcn.00450ff0
mov esi, dword [ebp + 8]
push eax
push esi
call fcn.0044ed70
push 0
push str.exponentiation_of_zero_by_negative_power
push str.DOMAIN
jmp 0x4b5f54
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4b2af4
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b2d2b
jmp 0x4b2d21
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 8]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
cmp ecx, 1
jne 0x4b2ccc
mov edx, dword [esp + 0xcc]
mov edx, dword [edx]
cmp edx, 0xffffffff
mov dword [esp + 0x28], edx
je 0x4b2cff
test edx, edx
je 0x4b2c27
cmp edx, ecx
je 0x4b2af4
mov eax, dword [esp + 0x58]
cmp eax, 3
jne 0x4b2d7f
push 0xffffffffffffffff
push str.exponent_too_large
call fcn.00450ff0
mov edx, dword [ebp + 8]
push eax
push edx
call fcn.0044ed70
add esp, 0x10
mov dword [esp + 0x18], 1
jmp 0x4b5f7c
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4b2af4
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b2d2b
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov edx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], edx
call fcn.0047c8f0
mov eax, dword [esp + 0x10]
add esp, 4
mov dword [eax], 0
mov ecx, dword [esp + 0xc]
mov dword [ecx + 4], 0
mov edx, dword [esp + 0xc]
mov dword [edx + 0x10], 0xffffffff
mov eax, dword [esp + 0xc]
mov dword [eax + 0xc], 0x52b498
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
cmp ecx, 1
jne 0x4b31c3
cmp eax, ecx
jne 0x4b3120
cmp edx, 2
jne 0x4b2e2a
cmp ebx, 0x1f
jae 0x4b2dfa
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b2dbe
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
mov ecx, dword [esp + 0x10]
mov eax, 1
add esp, 4
mov dword [ecx], 0
mov edx, dword [esp + 0xc]
mov ecx, ebx
mov dword [edx + 4], 0
shl eax, cl
jmp 0x4b2ea3
cmp ebx, 0x3f
jae 0x4b2f02
mov ecx, ebx
mov eax, 1
xor edx, edx
call fcn.004e3ed0
push edx
push eax
call fcn.0044d670
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
mov dword [eax], ecx
inc edi
jmp 0x4b099c
cmp edx, 0xfffffffe
jne 0x4b2f02
mov eax, dword [esp + 0x20]
neg eax
sbb eax, eax
and al, dl
inc eax
cmp ebx, 0x1f
mov dword [esp + 0x30], eax
jae 0x4b2ec4
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b2e67
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
mov ecx, dword [esp + 0x10]
mov eax, 1
add esp, 4
mov dword [ecx], 0
mov edx, dword [esp + 0xc]
mov ecx, ebx
shl eax, cl
mov dword [edx + 4], 0
imul eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0xc]
mov dword [edx + 0xc], 0x52b498
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
jmp 0x4b099c
cmp ebx, 0x3f
jae 0x4b2f02
mov ecx, ebx
mov eax, 1
xor edx, edx
call fcn.004e3ed0
mov ecx, eax
mov eax, dword [esp + 0x30]
mov esi, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.004e4060
push edx
push eax
call fcn.0044d670
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
mov dword [eax], ecx
inc edi
jmp 0x4b099c
cmp ebx, 8
jg 0x4b2fdf
mov eax, dword [ebx*4 + 0x51fdf8]
cmp edx, eax
jg 0x4b2fdf
neg eax
cmp edx, eax
jl 0x4b2fdf
mov edi, edx
add ebx, 0xfffffffd
imul edi, edx
cmp ebx, 5
ja case.default.0x4b2f31
jmp dword [ebx*4 + 0x4b6738]
mov edx, edi
imul edi, edx
jmp case.default.0x4b2f31
imul edi, edx
mov ecx, edi
imul edi, ecx
jmp case.default.0x4b2f31
imul edi, edx
mov eax, edi
imul eax, edi
imul eax, edx
mov edi, eax
jmp case.default.0x4b2f31
mov eax, edi
imul eax, edi
mov ecx, eax
imul ecx, eax
mov edi, ecx
cmp dword [esi], 1
jle 0x4b2fd3
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b2f89
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov edx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], edx
call fcn.0047c8f0
mov eax, dword [esp + 0x10]
add esp, 4
mov dword [eax], 0
mov ecx, dword [esp + 0xc]
mov dword [ecx + 4], 0
mov edx, dword [esp + 0xc]
mov dword [edx + 0x10], edi
mov eax, dword [esp + 0xc]
mov dword [eax + 0xc], 0x52b498
mov eax, dword [esp + 0xc]
jmp 0x4b369f
push edi
push esi
call fcn.0044d320
jmp 0x4b2394
cmp edx, 3
jl 0x4b30a2
cmp edx, 8
jae 0x4b30a2
mov di, word [edx*2 + 0x51fe16]
add di, bx
sub edi, 9
cmp di, word [edx*2 + 0x51fe18]
jae 0x4b30a2
cmp dword [esi], 1
jle 0x4b3089
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b3032
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov ecx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], ecx
call fcn.0047c8f0
mov edx, dword [esp + 0x10]
add esp, 4
and edi, 0xffff
mov dword [edx], 0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 0
mov edx, dword [esp + 0xc]
mov ecx, dword [edi*4 + 0x51fe30]
mov dword [edx + 0x10], ecx
mov eax, dword [esp + 0xc]
mov dword [eax + 0xc], 0x52b498
mov eax, dword [esp + 0xc]
jmp 0x4b369f
and edi, 0xffff
mov ecx, dword [edi*4 + 0x51fe30]
push ecx
push esi
call fcn.0044d320
jmp 0x4b2394
mov eax, edx
neg eax
cmp eax, 3
jl 0x4b3120
cmp eax, 8
jae 0x4b3120
lea eax, [edx + edx + 6]
mov ecx, 0x51fe1c
sub ecx, eax
lea edx, [edx + edx + 4]
mov ax, word [ecx]
mov ecx, 0x51fe1c
add ax, bx
sub ecx, edx
sub eax, 9
cmp ax, word [ecx]
jae 0x4b3120
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4b30ec
and eax, 0xffff
mov edi, dword [eax*4 + 0x51fe30]
neg edi
jmp 0x4b30f8
and eax, 0xffff
mov edi, dword [eax*4 + 0x51fe30]
cmp dword [esi], 1
jle 0x4b2fd3
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b2f89
jmp 0x4b2f7f
mov eax, dword [esp + 0x28]
cdq
mov ebx, eax
mov eax, dword [esp + 0x58]
mov edi, edx
mov ecx, ebx
or ecx, edi
je 0x4b3346
mov edx, dword [esp + 0x24]
cmp eax, 1
jne 0x4b334a
cmp edx, 0x10
jg 0x4b334a
mov eax, dword [edx*8 + 0x542804]
mov ecx, dword [edx*8 + 0x542800]
cmp edi, eax
jg 0x4b334a
jl 0x4b316d
cmp ebx, ecx
ja 0x4b334a
neg ecx
adc eax, 0
neg eax
cmp edi, eax
jl 0x4b334a
jg 0x4b3186
cmp ebx, ecx
jb 0x4b334a
push edi
push ebx
push edi
push ebx
call fcn.004e4060
mov esi, edx
mov edx, dword [esp + 0x24]
mov ecx, eax
lea eax, [edx - 3]
cmp eax, 0xd
ja case.default.0x4b31a3
jmp dword [eax*4 + 0x4b6750]
mov eax, dword [esp + 0x28]
push esi
cdq
push ecx
push edx
push eax
call fcn.004e4060
mov esi, edx
mov ecx, eax
push esi
push ecx
jmp 0x4b3693
cmp ecx, 2
jne 0x4b31d9
mov ecx, dword [esp + 0xcc]
mov ebx, dword [ecx]
mov edi, dword [ecx + 4]
jmp 0x4b312d
xor ebx, ebx
xor edi, edi
mov eax, ebx
neg eax
adc edi, 0
neg edi
js 0x4b36d1
jg 0x4b31f7
cmp eax, 3
jb 0x4b36d1
test edi, edi
ja 0x4b36d1
jb 0x4b320a
cmp eax, 0xb
jae 0x4b36d1
lea eax, [ebx + ebx + 6]
mov ecx, 0x51feb4
sub ecx, eax
lea edx, [ebx + ebx + 4]
mov ax, word [ecx]
mov ecx, 0x51feb4
add ax, word [esp + 0x24]
sub ecx, edx
sub eax, 0x11
cmp ax, word [ecx]
jae 0x4b36d1
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4b33c6
and eax, 0xffff
mov ecx, dword [eax*8 + 0x51fed0]
mov eax, dword [eax*8 + 0x51fed4]
neg ecx
adc eax, 0
neg eax
jmp 0x4b33d9
push esi
push ecx
push esi
push ecx
call fcn.004e4060
mov esi, edx
mov ecx, eax
push esi
push ecx
jmp 0x4b3693
push esi
push ecx
push esi
push ecx
call fcn.004e4060
push edi
push ebx
push edx
push eax
call fcn.004e4060
mov esi, edx
mov ecx, eax
push esi
push ecx
jmp 0x4b3693
push edi
push ebx
push esi
push ecx
jmp 0x4b332d
push edi
push ebx
push esi
push ecx
jmp 0x4b32fe
push esi
push ecx
push esi
push ecx
jmp 0x4b332d
push esi
push ecx
push esi
push ecx
jmp 0x4b32fe
push esi
push ecx
push esi
push ecx
call fcn.004e4060
push edi
push ebx
jmp 0x4b332b
push esi
push ecx
push esi
push ecx
jmp 0x4b32f5
push edi
push ebx
jmp 0x4b3322
push edi
push ebx
push esi
push ecx
call fcn.004e4060
push edx
push eax
jmp 0x4b32fc
push edi
push ebx
push esi
push ecx
call fcn.004e4060
push edx
push eax
push edx
push eax
call fcn.004e4060
push edi
push ebx
jmp 0x4b332b
push edi
push ebx
push esi
push ecx
call fcn.004e4060
push edx
push eax
push edx
push eax
call fcn.004e4060
push edi
push ebx
push edx
push eax
call fcn.004e4060
push edx
push eax
push edx
push eax
call fcn.004e4060
push edi
push ebx
push edx
push eax
call fcn.004e4060
mov esi, edx
mov ecx, eax
push esi
push ecx
jmp 0x4b3693
push esi
push ecx
push esi
push ecx
call fcn.004e4060
push edx
push eax
push edx
push eax
call fcn.004e4060
push edx
push eax
push edx
push eax
call fcn.004e4060
mov ecx, eax
mov esi, edx
push esi
push ecx
jmp 0x4b3693
mov edx, dword [esp + 0x24]
test edi, edi
jl 0x4b31dd
jg 0x4b335d
cmp ebx, 3
jb 0x4b31dd
test edi, edi
ja 0x4b31dd
jb 0x4b3370
cmp ebx, 0xb
jae 0x4b31dd
mov ax, word [ebx*2 + 0x51feae]
add ax, dx
sub eax, 0x11
cmp ax, word [ebx*2 + 0x51feb0]
jae 0x4b31dd
cmp dword [esi], 1
jle 0x4b33ab
and eax, 0xffff
mov ecx, dword [eax*8 + 0x51fed4]
mov edx, dword [eax*8 + 0x51fed0]
push ecx
push edx
jmp 0x4b3693
and eax, 0xffff
mov ecx, dword [eax*8 + 0x51fed4]
mov edx, dword [eax*8 + 0x51fed0]
push ecx
push edx
push esi
jmp 0x4b36b5
and eax, 0xffff
mov ecx, dword [eax*8 + 0x51fed0]
mov eax, dword [eax*8 + 0x51fed4]
mov edx, dword [esi]
push eax
cmp edx, 1
push ecx
jg 0x4b3693
push esi
jmp 0x4b36b5
cmp al, 0x37
je 0x4b36d1
cmp ecx, 3
je 0x4b36d1
cmp edx, 3
je 0x4b36d1
mov eax, dword [esi + 0xc]
cmp eax, 0x52b4b0
jne 0x4b3420
mov edx, dword [esi + 0x10]
mov dword [esp + 0x60], edx
mov eax, dword [esi + 0x14]
mov dword [esp + 0x64], eax
jmp 0x4b344c
cmp eax, 0x52b498
jne 0x4b3435
mov eax, dword [esi + 0x10]
cdq
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp 0x4b344c
lea ecx, [esp + 0x60]
push ecx
push esi
push 0
call fcn.0044d7d0
mov ecx, dword [esp + 0x8c]
add esp, 0xc
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
cmp eax, 0x52b4b0
jne 0x4b3472
mov eax, edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0xe4], edx
mov ebx, dword [eax + 0x14]
mov dword [esp + 0xe8], ebx
jmp 0x4b34b8
cmp eax, 0x52b498
jne 0x4b3493
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
cdq
mov ebx, edx
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], ebx
jmp 0x4b34bf
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0xe4]
push ecx
push edx
push 0
call fcn.0044d7d0
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0xf4]
add esp, 0xc
mov eax, dword [esp + 0xe4]
mov edi, dword [esp + 0x10]
xor edx, edx
mov dl, byte [edi]
sub edx, 0x35
je 0x4b362e
dec edx
je 0x4b35be
sub edx, 2
je 0x4b34e5
xor esi, esi
xor edi, edi
jmp 0x4b3688
or eax, ebx
je 0x4b5f32
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x4b3511
cmp dword [esp + 0x64], 0x80000000
jne 0x4b3511
mov eax, dword [esp + 0xe4]
and eax, ebx
cmp eax, 0xffffffff
je 0x4b36d1
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
push ebx
push ecx
push edx
push eax
call fcn.004e3fb0
mov edi, edx
mov esi, eax
test edi, edi
jl 0x4b3593
jg 0x4b3537
test esi, esi
jb 0x4b3593
mov ecx, esi
or ecx, edi
jne 0x4b3688
mov eax, dword [esp + 0x64]
test eax, eax
jg 0x4b357a
jl 0x4b3553
mov ecx, dword [esp + 0x60]
test ecx, ecx
jae 0x4b3564
test ebx, ebx
jg 0x4b3593
jl 0x4b3564
mov ecx, dword [esp + 0xe4]
test ecx, ecx
ja 0x4b3593
test eax, eax
jl 0x4b3688
jg 0x4b357a
mov eax, dword [esp + 0x60]
test eax, eax
jbe 0x4b3688
test ebx, ebx
jg 0x4b3688
jl 0x4b3593
mov eax, dword [esp + 0xe4]
test eax, eax
jae 0x4b3688
mov edx, dword [esp + 0xe4]
push ebx
push edx
push edi
push esi
call fcn.004e4060
cmp eax, dword [esp + 0x60]
jne 0x4b35b3
cmp edx, dword [esp + 0x64]
je 0x4b3688
add esi, 0xffffffff
adc edi, 0xffffffff
jmp 0x4b3688
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
mov esi, edx
sub esi, eax
sbb edi, ebx
cmp ecx, 2
je 0x4b35dc
cmp dword [esp + 0x58], 2
jne 0x4b3688
mov ecx, esi
xor ecx, edx
mov edx, edi
mov dword [esp + 0x348], ecx
mov ecx, dword [esp + 0x64]
xor edx, ecx
mov dword [esp + 0x34c], edx
jg 0x4b3688
jl 0x4b3609
mov edx, dword [esp + 0x348]
test edx, edx
jae 0x4b3688
mov edx, dword [esp + 0x60]
not eax
not ebx
xor eax, edx
xor ebx, ecx
mov dword [esp + 0xb8], ebx
jg 0x4b36cd
jl 0x4b3688
test eax, eax
jae 0x4b36cd
jmp 0x4b3688
mov edx, dword [esp + 0x60]
mov esi, eax
add esi, edx
mov edi, ebx
adc edi, dword [esp + 0x64]
cmp ecx, 2
je 0x4b3648
cmp dword [esp + 0x58], 2
jne 0x4b3688
mov ecx, esi
xor ecx, edx
mov edx, edi
mov dword [esp + 0x2f8], ecx
mov ecx, dword [esp + 0x64]
xor edx, ecx
mov dword [esp + 0x2fc], edx
jg 0x4b3688
jl 0x4b3671
mov edx, dword [esp + 0x2f8]
test edx, edx
jae 0x4b3688
mov edx, dword [esp + 0x60]
xor eax, edx
xor ebx, ecx
mov dword [esp + 0xb8], ebx
jg 0x4b36cd
jl 0x4b3688
test eax, eax
jae 0x4b36cd
mov eax, dword [esp + 0x30]
push edi
push esi
cmp dword [eax], 1
jle 0x4b36b4
call fcn.0044d670
add esp, 8
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x4b09a0
push eax
call fcn.0044d700
mov eax, dword [esp + 0x1c]
add esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x4b6297
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x244]
push eax
push esi
push 0
call fcn.0044df80
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x1d8]
push ecx
push edx
push 0
call fcn.0044df80
lea eax, [esp + 0x20c]
push eax
call fcn.004c06f0
mov edi, dword [esp + 0x2c]
xor eax, eax
add esp, 0x1c
mov al, byte [edi]
add eax, 0xffffffcb
cmp eax, 0x2e
ja case.0x4b3721.58
xor ecx, ecx
mov cl, byte [eax + 0x4b67a0]
jmp dword [ecx*4 + 0x4b6788]
lea edx, [esp + 0x1f4]
lea eax, [esp + 0x1cc]
push edx
lea ecx, [esp + 0x248]
push eax
push ecx
call fcn.004dcfb0
jmp 0x4b38db
lea edx, [esp + 0x1f4]
lea eax, [esp + 0x1cc]
push edx
lea ecx, [esp + 0x248]
push eax
push ecx
call fcn.004dba00
jmp 0x4b38db
lea edx, [esp + 0x1f4]
lea eax, [esp + 0x1cc]
push edx
lea ecx, [esp + 0x248]
push eax
push ecx
call fcn.004dbf60
jmp 0x4b38db
mov eax, dword [esp + 0x1cc]
test eax, eax
jne 0x4b37c8
lea edx, [esp + 0x244]
push edx
call fcn.004c03f0
lea eax, [esp + 0x1d0]
push eax
call fcn.004c03f0
lea ecx, [esp + 0x1fc]
push ecx
call fcn.004c03f0
add esp, 0xc
jmp 0x4b5f32
lea edx, [esp + 0x2d0]
push edx
call fcn.004c06f0
lea eax, [esp + 0x2d4]
lea ecx, [esp + 0x1f8]
push eax
lea edx, [esp + 0x1d4]
push ecx
lea eax, [esp + 0x250]
push edx
push eax
call fcn.004dc840
mov eax, dword [esp + 0x2e4]
add esp, 0x14
test eax, eax
je 0x4b3851
mov ecx, dword [esp + 0x2d8]
mov eax, dword [esp + 0x1d4]
cmp ecx, eax
je 0x4b3851
lea edx, [esp + 0x1f4]
lea eax, [esp + 0x1f4]
push edx
push 1
push eax
call fcn.004c1700
lea ecx, [esp + 0x2dc]
lea edx, [esp + 0x1d8]
push ecx
lea eax, [esp + 0x2e0]
push edx
push eax
call fcn.004dcfb0
add esp, 0x18
lea ecx, [esp + 0x2d0]
push ecx
call fcn.004c03f0
add esp, 4
jmp case.0x4b3721.58
mov eax, dword [esp + 0x1cc]
mov ebx, 1
cmp eax, ebx
jle 0x4b38bc
push 0xffffffffffffffff
push str.exponent_too_large
call fcn.00450ff0
mov edx, dword [ebp + 8]
push eax
push edx
call fcn.0044ed70
lea eax, [esp + 0x254]
push eax
call fcn.004c03f0
lea ecx, [esp + 0x1e0]
push ecx
call fcn.004c03f0
lea edx, [esp + 0x20c]
push edx
call fcn.004c03f0
add esp, 0x1c
mov dword [esp + 0x18], ebx
jmp 0x4b5f7c
mov ecx, dword [esp + 0x1d8]
lea eax, [esp + 0x1f4]
push eax
lea eax, [esp + 0x248]
mov edx, dword [ecx]
push edx
push eax
call fcn.004dc220
add esp, 0xc
lea ecx, [esp + 0x244]
push ecx
call fcn.004c03f0
lea edx, [esp + 0x1d0]
push edx
call fcn.004c03f0
mov eax, dword [esi]
add esp, 8
cmp eax, 1
jle 0x4b3921
lea eax, [esp + 0x1f4]
push eax
call fcn.0044dcb0
mov dword [esp + 0x10], eax
mov ecx, dword [eax]
add esp, 4
inc ecx
mov dword [eax], ecx
inc edi
jmp 0x4b099c
lea ecx, [esp + 0x1f4]
push ecx
push esi
call fcn.0044dfa0
add esp, 8
inc edi
mov dword [esp + 0x10], edi
jmp 0x4b6297
mov edx, dword [ebp + 8]
push ebx
push edi
push edx
mov dword [esp + 0x24], 1
call fcn.004b67f0
add esp, 0xc
jmp 0x4b5f7c
mov eax, dword [ebp + 8]
push esi
push edi
push eax
mov dword [esp + 0x24], 1
call fcn.004b67f0
add esp, 0xc
jmp 0x4b5f7c
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx]
mov eax, dword [esi + 0xc]
cmp eax, 0x52b498
je 0x4b39b7
cmp eax, 0x52b468
je 0x4b39b7
lea edx, [esp + 0x1e0]
push edx
push esi
push 0
call fcn.0044c9f0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
je 0x4b39d0
mov ecx, dword [ebp + 8]
push esi
push edi
push ecx
call fcn.004b67f0
add esp, 0xc
jmp 0x4b5f75
mov ecx, dword [esi + 0x10]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x18], 0
mov esi, dword [esp + 0x1e0]
mov eax, dword [esp + 0x40]
xor edx, edx
test esi, esi
sete dl
mov eax, dword [eax + edx*4 + 4]
mov dword [esp + 0xc], eax
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4b61d0
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx]
mov eax, dword [esi + 0xc]
cmp eax, 0x52b498
jne 0x4b3a2b
lea ecx, [esi + 0x10]
mov dword [esp + 0x150], 1
mov dword [esp + 0x160], ecx
mov dword [esp + 0x18], 0
jmp 0x4b3b04
cmp eax, 0x52b4b0
jne 0x4b3a54
lea ecx, [esi + 0x10]
mov dword [esp + 0x150], 2
mov dword [esp + 0x160], ecx
mov dword [esp + 0x18], 0
jmp 0x4b3bb8
cmp eax, 0x52b480
jne 0x4b3a93
fld qword [esi + 0x10]
lea ebx, [esi + 0x10]
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll__isnan]
add esp, 8
mov ecx, ebx
neg eax
sbb eax, eax
mov dword [esp + 0x160], ecx
neg eax
add eax, 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x150], eax
jmp 0x4b3ae9
test eax, eax
jne 0x4b3aa2
mov eax, dword [esi + 4]
test eax, eax
je 0x4b3c57
mov eax, dword [esi + 4]
test eax, eax
je 0x4b3ab4
mov eax, dword [esi + 8]
test eax, eax
je 0x4b3c57
lea edx, [esp + 0x150]
lea eax, [esp + 0x160]
push edx
push eax
push esi
push 0
call fcn.0044e2c0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b3c57
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x160]
cmp eax, 5
je 0x4b3c57
cmp eax, 4
je 0x4b3c57
cmp eax, 1
jne 0x4b3bb3
mov eax, dword [esi]
mov ebx, dword [ecx]
cmp eax, 1
jle 0x4b3b6a
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b3b2d
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov ecx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], ecx
call fcn.0047c8f0
mov edx, dword [esp + 0x10]
add esp, 4
not ebx
mov dword [edx], 0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 0
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x10], ebx
jmp 0x4af9b5
mov eax, dword [esi + 4]
test eax, eax
je 0x4b3b89
cmp eax, dword [0x52b448]
je 0x4b3b82
push eax
call fcn.00450140
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b3b9d
mov eax, dword [eax + 4]
test eax, eax
je 0x4b3b9d
push esi
call eax
add esp, 4
not ebx
inc edi
mov dword [esi + 0x10], ebx
mov dword [esi + 0xc], 0x52b498
mov dword [esp + 0x10], edi
jmp 0x4ad3db
cmp eax, 2
jne 0x4b3be9
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, dword [esi]
not ecx
not eax
cmp edx, 1
push ecx
push eax
jle 0x4b3f77
call fcn.0044d670
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
inc edi
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4b61d0
lea eax, [esp + 0x2a0]
push eax
push esi
push 0
call fcn.0044df80
lea ecx, [esp + 0x2ac]
lea edx, [esp + 0x2ac]
push ecx
push edx
call fcn.004c0740
lea eax, [esp + 0x2b4]
lea ecx, [esp + 0x2b4]
push eax
push 1
push ecx
call fcn.004c1700
mov eax, dword [esi]
add esp, 0x20
cmp eax, 1
jle 0x4b3c3c
lea edx, [esp + 0x2a0]
push edx
jmp 0x4b3fe2
lea eax, [esp + 0x2a0]
push eax
push esi
call fcn.0044dfa0
add esp, 8
inc edi
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov ecx, dword [ebp + 8]
push esi
push edi
push ecx
mov dword [esp + 0x24], 1
call fcn.004b67f0
add esp, 0xc
jmp 0x4b5f7c
mov edx, dword [esp + 0x14]
mov esi, dword [edx]
mov eax, dword [esi + 0xc]
cmp eax, 0x52b498
jne 0x4b3c89
mov ecx, 1
jmp 0x4b3c95
cmp eax, 0x52b4b0
jne 0x4b3cb3
mov ecx, 2
lea ebx, [esi + 0x10]
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x18], 0
jmp 0x4b3d51
cmp eax, 0x52b480
jne 0x4b3cf2
fld qword [esi + 0x10]
lea ebx, [esi + 0x10]
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll__isnan]
mov ecx, eax
add esp, 8
neg ecx
sbb ecx, ecx
mov dword [esp + 0x114], ebx
neg ecx
add ecx, 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x13c], ecx
jmp 0x4b3d48
test eax, eax
jne 0x4b3d01
mov eax, dword [esi + 4]
test eax, eax
je 0x4b40e6
mov eax, dword [esi + 4]
test eax, eax
je 0x4b3d13
mov eax, dword [esi + 8]
test eax, eax
je 0x4b40e6
lea eax, [esp + 0x13c]
lea ecx, [esp + 0x114]
push eax
push ecx
push esi
push 0
call fcn.0044e2c0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b40e6
mov ecx, dword [esp + 0x13c]
mov ebx, dword [esp + 0x114]
cmp ecx, 5
je 0x4b40e6
lea eax, [ecx - 1]
cmp eax, 4
ja case.0x4ad4db.58
jmp dword [eax*4 + 0x4b67d0]
cmp dword [esi], 1
jle 0x4b3de8
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b3d89
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov edx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], edx
call fcn.0047c8f0
mov eax, dword [esp + 0x10]
add esp, 4
mov dword [eax], 0
mov ecx, dword [esp + 0xc]
mov dword [ecx + 4], 0
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0xc]
fld qword [edx]
fchs
fstp qword [eax + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], 0x52b480
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4b61d0
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
mov dword [esp + 0x354], eax
mov eax, dword [esi + 4]
test eax, eax
mov dword [esp + 0x350], edx
je 0x4b3e1a
cmp eax, dword [0x52b448]
je 0x4b3e13
push eax
call fcn.00450140
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b3e2e
mov eax, dword [eax + 4]
test eax, eax
je 0x4b3e2e
push esi
call eax
add esp, 4
fld qword [esp + 0x350]
fchs
fstp qword [esi + 0x10]
inc edi
mov dword [esi + 0xc], 0x52b480
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov eax, dword [ebx]
cmp eax, 0x80000000
mov dword [esp + 0x28], eax
je case.0x4b3d5d.2
cmp dword [esi], 1
jle 0x4b3edb
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b3e81
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov ecx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], ecx
call fcn.0047c8f0
mov edx, dword [esp + 0x10]
add esp, 4
mov dword [edx], 0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
neg eax
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0xc]
mov dword [edx + 0xc], 0x52b498
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4b61d0
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4b3efe
cmp ecx, dword [0x52b448]
je 0x4b3ef7
push ecx
call fcn.00450140
mov eax, dword [esp + 0x2c]
add esp, 4
mov dword [esi + 4], 0
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x4b3f16
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x4b3f16
push esi
call ecx
mov eax, dword [esp + 0x2c]
add esp, 4
neg eax
inc edi
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], 0x52b498
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov eax, dword [ebx]
cmp ecx, 1
jne 0x4b3f36
cdq
jmp 0x4b3f39
mov edx, dword [ebx + 4]
test eax, eax
jne 0x4b3f45
cmp edx, 0x80000000
je case.0x4b3d5d.3
cmp dword [esi], 1
jle 0x4b3f6e
neg eax
adc edx, 0
neg edx
push edx
push eax
call fcn.0044d670
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
add esp, 8
inc ecx
inc edi
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4b61d0
neg eax
adc edx, 0
neg edx
push edx
push eax
push esi
call fcn.0044d700
add esp, 0xc
inc edi
mov dword [esp + 0x10], edi
jmp 0x4ad3db
sub ecx, 2
je 0x4b3fa4
dec ecx
jne 0x4b3fbb
lea eax, [esp + 0x300]
push eax
push esi
push 0
call fcn.0044df80
jmp 0x4b3fb8
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
push ecx
lea eax, [esp + 0x304]
push edx
push eax
call fcn.004a4e00
add esp, 0xc
lea ecx, [esp + 0x300]
lea edx, [esp + 0x300]
push ecx
push edx
call fcn.004c0740
mov eax, dword [esi]
add esp, 8
cmp eax, 1
jle 0x4b3ffd
lea eax, [esp + 0x300]
push eax
call fcn.0044dcb0
mov dword [esp + 0x10], eax
mov ecx, dword [eax]
add esp, 4
inc ecx
inc edi
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4b61d0
lea ecx, [esp + 0x300]
push ecx
push esi
call fcn.0044dfa0
add esp, 8
inc edi
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, 0x52b498
jne 0x4b4052
lea ecx, [esi + 0x10]
mov dword [esp + 0x14c], 1
mov dword [esp + 0x154], ecx
mov ebx, dword [esi + 4]
test ebx, ebx
jne 0x4b4151
inc edi
mov dword [esp + 0x10], edi
jmp 0x4ad3db
cmp eax, 0x52b4b0
jne 0x4b4070
lea edx, [esi + 0x10]
mov dword [esp + 0x14c], 2
mov dword [esp + 0x154], edx
jmp 0x4b403d
cmp eax, 0x52b480
jne 0x4b40a5
fld qword [esi + 0x10]
lea ebx, [esi + 0x10]
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll__isnan]
add esp, 8
mov dword [esp + 0x154], ebx
neg eax
sbb eax, eax
neg eax
add eax, 4
mov dword [esp + 0x14c], eax
jmp 0x4b410f
test eax, eax
jne 0x4b40b0
mov eax, dword [esi + 4]
test eax, eax
je 0x4b40dd
mov eax, dword [esi + 4]
test eax, eax
je 0x4b40be
mov eax, dword [esi + 8]
test eax, eax
je 0x4b40dd
lea eax, [esp + 0x14c]
lea ecx, [esp + 0x154]
push eax
push ecx
push esi
push 0
call fcn.0044e2c0
add esp, 0x10
test eax, eax
je 0x4b4101
cmp byte [edi], 0x3a
jne case.0x4b3d5d.5
mov edx, dword [ebp + 8]
push esi
push edi
push edx
mov dword [esp + 0x24], 1
call fcn.004b67f0
add esp, 0xc
jmp 0x4b5f7c
mov eax, dword [esp + 0x14c]
mov ebx, dword [esp + 0x154]
cmp eax, 5
jne 0x4b403d
mov al, byte [edi]
mov dword [esp + 0x18], 1
cmp al, 0x3a
jne 0x4b4139
mov eax, dword [ebp + 8]
push esi
push edi
push eax
call fcn.004b67f0
add esp, 0xc
jmp 0x4b5f7c
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
call fcn.004b6c30
add esp, 0xc
jmp 0x4b5f7c
cmp dword [esi], 1
jle 0x4b4180
push esi
mov dword [esi + 4], 0
call fcn.0044c740
mov dword [esp + 0x10], eax
mov dword [esi + 4], ebx
mov eax, dword [esp + 0x10]
add esp, 4
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4b61d0
cmp ebx, dword [0x52b448]
je 0x4b4191
push ebx
call fcn.00450140
add esp, 4
inc edi
mov dword [esi + 4], 0
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov dword [esp + 0x18], 3
xor esi, esi
jmp 0x4ad581
mov dword [esp + 0x18], 4
xor esi, esi
jmp 0x4ad581
mov eax, dword [esi + 4]
test eax, eax
je 0x4b41d8
cmp eax, dword [0x52b448]
je 0x4b41d8
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov eax, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], eax
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
dec edi
jne 0x4ad5b1
cmp dword [esp + 0x18], 3
jne 0x4b422c
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebx + 0x10]
mov dword [esp + 0x18], 0
add edi, dword [ecx + 0x48]
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov edi, dword [ebx + 0x14]
cmp edi, 0xffffffff
je 0x4b5f75
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x18], 0
add edi, dword [edx + 0x48]
mov dword [esp + 0x10], edi
jmp 0x4ad3db
xor eax, eax
xor ecx, ecx
mov ah, byte [edi + 1]
mov cl, byte [edi + 3]
mov al, byte [edi + 2]
xor edx, edx
mov dl, byte [edi + 4]
shl eax, 8
or eax, ecx
mov ecx, dword [ebp + 0xc]
shl eax, 8
or eax, edx
mov edx, dword [ecx + 0x54]
mov eax, dword [edx + eax*8 + 4]
mov edx, dword [esp + 0x38]
mov ecx, dword [eax + 8]
mov ebx, dword [edx + ecx*8 + 4]
lea esi, [edx + ecx*8]
test ebx, ebx
jne 0x4b42f4
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b42a2
call fcn.0044c5e0
mov eax, dword [0x542664]
push 0x54330c
mov dword [esi + 4], eax
mov ecx, dword [0x542664]
mov edx, dword [ecx + 0x10]
mov dword [0x542664], edx
call fcn.0047c8f0
mov eax, dword [esi + 4]
add esp, 4
mov dword [eax], 0
mov ecx, dword [esi + 4]
mov dword [ecx + 4], 0
mov edx, dword [esi + 4]
mov dword [edx + 0x10], 0xffffffff
mov eax, dword [esi + 4]
mov dword [eax + 0xc], 0x52b498
mov esi, dword [esi + 4]
inc dword [esi]
jmp 0x4b4335
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b4313
cmp eax, dword [0x52b448]
je 0x4b430c
push eax
call fcn.00450140
add esp, 4
mov dword [ebx + 4], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4b4327
mov eax, dword [eax + 4]
test eax, eax
je 0x4b4327
push ebx
call eax
add esp, 4
mov dword [ebx + 0x10], 0xffffffff
mov dword [ebx + 0xc], 0x52b498
add edi, 5
mov dword [esp + 0x10], edi
xor ecx, ecx
xor edx, edx
mov ch, byte [edi + 1]
mov dl, byte [edi + 3]
mov cl, byte [edi + 2]
xor eax, eax
mov al, byte [edi + 4]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp + 0xc]
shl ecx, 8
or ecx, eax
mov eax, dword [edx + 0x54]
mov ebx, dword [eax + ecx*8 + 4]
mov eax, dword [esp + 0x38]
mov edx, dword [ebx + 8]
mov ecx, dword [ebx]
mov dword [esp + 0x30], ecx
mov esi, dword [eax + edx*8 + 4]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 4]
inc ecx
test eax, eax
mov dword [esp + 0x28], ecx
je 0x4b439e
cmp eax, dword [0x52b448]
je 0x4b4397
push eax
call fcn.00450140
mov ecx, dword [esp + 0x2c]
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b43b6
mov eax, dword [eax + 4]
test eax, eax
je 0x4b43b6
push esi
call eax
mov ecx, dword [esp + 0x2c]
add esp, 4
mov edx, dword [esp + 0x30]
mov dword [esi + 0x10], ecx
xor ecx, ecx
mov dword [esi + 0xc], 0x52b498
mov eax, dword [ebx + 4]
cmp edx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], ecx
jle 0x4b4763
mov ecx, dword [esp + 0x38]
lea edx, [ecx + eax*8 + 4]
lea eax, [ebx + 0xc]
mov dword [esp + 0x20], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [edx]
mov esi, dword [ecx]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x52b2a0
jne 0x4b4420
mov eax, dword [eax + 0x10]
mov dword [esp + 0x18], 0
mov ecx, dword [eax + 8]
mov dword [esp + 0xec], ecx
jmp 0x4b4441
lea edx, [esp + 0xec]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0044b390
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b5f75
imul esi, dword [esp + 0x28]
cmp dword [esp + 0xec], esi
jle 0x4b4457
mov dword [esp + 0x2c], 1
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, 8
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edx
jl 0x4b43f0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4b4763
mov ebx, dword [ebx + 4]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], 0
lea edx, [ecx + ebx*8 + 4]
mov dword [esp + 0x184], eax
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x184]
mov edx, dword [esp + 0x24]
mov esi, dword [ecx]
mov eax, dword [edx]
push eax
push 0
mov edi, dword [esi]
mov dword [esp + 0xbc], edi
call fcn.0044b000
mov ebx, eax
add esp, 8
mov dword [esp + 0x34], ebx
cmp dword [ebx + 0xc], 0x52b2a0
jne 0x4b44fe
mov eax, dword [ebx + 0x10]
add eax, 0x10
mov dword [esp + 0x1e4], eax
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx + 8]
mov dword [esp + 0xec], edx
jmp 0x4b451b
mov edx, dword [ebp + 8]
lea eax, [esp + 0x1e4]
lea ecx, [esp + 0xec]
push eax
push ecx
push ebx
push edx
call fcn.0044b0b0
add esp, 0x10
mov ecx, edi
mov dword [esp + 0x6c], 0
imul ecx, dword [esp + 0x28]
test edi, edi
mov dword [esp + 0x214], ecx
jle 0x4b46c5
add esi, 4
xor edi, edi
mov dword [esp + 0x20], esi
jmp 0x4b454a
mov ebx, dword [esp + 0x34]
xor edi, edi
cmp ecx, dword [esp + 0xec]
jl 0x4b459d
push 0x54330c
call fcn.0047c8a0
mov esi, dword [0x542664]
add esp, 4
cmp esi, edi
jne 0x4b4575
call fcn.0044c5e0
mov esi, dword [0x542664]
mov eax, dword [esi + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
mov dword [esi], edi
mov ecx, dword [0x52b448]
mov dword [esi + 4], ecx
mov dword [esi + 8], edi
add esp, 4
mov dword [esi + 0xc], edi
jmp 0x4b45a7
mov edx, dword [esp + 0x1e4]
mov esi, dword [edx + ecx*4]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax]
lea edi, [ecx + eax*8]
mov cl, byte [ecx + eax*8]
test cl, 2
je 0x4b45c4
mov edi, dword [edi + 4]
test byte [edi], 2
jne 0x4b45bc
test byte [edi], 0x2b
jne 0x4b465a
mov ebx, dword [edi + 4]
cmp esi, ebx
je 0x4b468f
test ebx, ebx
je 0x4b4650
mov ecx, dword [ebx]
dec ecx
mov eax, ecx
mov dword [ebx], ecx
test eax, eax
jg 0x4b4650
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4b460b
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b460b
push ebx
call fcn.0044c610
mov dword [edi + 4], esi
mov eax, dword [esi]
add esp, 4
inc eax
mov dword [esi], eax
jmp 0x4b468f
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b4623
cmp eax, dword [0x52b448]
je 0x4b4623
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [ebx + 8], 0xffffffff
call fcn.0047c8a0
mov edx, dword [0x542664]
push 0x54330c
mov dword [ebx + 0x10], edx
mov dword [0x542664], ebx
call fcn.0047c8f0
add esp, 8
mov dword [edi + 4], esi
mov eax, dword [esi]
inc eax
mov dword [esi], eax
jmp 0x4b468f
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [ebp + 8]
push 0x200
push esi
push 0
push 0
push 0
push edi
push eax
mov dword [ecx + 0x10], edx
mov dword [esp + 0x5c], 1
call fcn.00446650
add esp, 0x20
test eax, eax
je 0x4b478d
mov ecx, dword [esp + 0x214]
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0xb4]
inc ecx
inc eax
add esi, 4
cmp eax, edx
mov dword [esp + 0x214], ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x20], esi
jl 0x4b4544
mov ebx, dword [esp + 0x34]
mov ecx, dword [ebx]
dec ecx
mov eax, ecx
mov dword [ebx], ecx
test eax, eax
jg 0x4b472e
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4b46e9
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b46e9
push ebx
call fcn.0044c610
add esp, 4
jmp 0x4b472e
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b4701
cmp eax, dword [0x52b448]
je 0x4b4701
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [ebx + 8], 0xffffffff
call fcn.0047c8a0
mov ecx, dword [0x542664]
push 0x54330c
mov dword [ebx + 0x10], ecx
mov dword [0x542664], ebx
call fcn.0047c8f0
add esp, 8
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x184]
mov ecx, dword [esp + 0x30]
add edi, 8
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x184], edx
jl 0x4b44b0
mov edi, dword [esp + 0x10]
mov al, byte [edi + 5]
add edi, 5
cmp al, 0x26
mov eax, dword [esp + 0x2c]
jne 0x4b480a
test eax, eax
mov eax, 2
jne 0x4b4782
movsx eax, byte [edi + 1]
add edi, eax
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov ecx, dword [ebx]
mov dword [esp + 0x18], 1
dec ecx
mov eax, ecx
mov dword [ebx], ecx
test eax, eax
jg 0x4b5f7c
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4b47c0
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b47c0
push ebx
call fcn.0044c610
add esp, 4
jmp 0x4b5f7c
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b47d8
cmp eax, dword [0x52b448]
je 0x4b47d8
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [ebx + 8], 0xffffffff
call fcn.0047c8a0
mov edx, dword [0x542664]
push 0x54330c
mov dword [ebx + 0x10], edx
mov dword [0x542664], ebx
call fcn.0047c8f0
add esp, 8
jmp 0x4b5f7c
test eax, eax
je 0x4b481e
mov eax, 5
add edi, eax
mov dword [esp + 0x10], edi
jmp 0x4ad3db
movsx eax, byte [edi + 1]
xor ecx, ecx
xor edx, edx
mov cl, byte [edi + 2]
mov dl, byte [edi + 3]
shl eax, 8
or eax, ecx
xor ecx, ecx
mov cl, byte [edi + 4]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
add edi, eax
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x5c]
sub edx, esi
add eax, 4
sar edx, 2
add edi, 5
mov dword [esp + 0x5c], eax
mov dword [eax], edx
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov esi, dword [esp + 0x5c]
mov eax, dword [ebp + 8]
sub esi, 4
push eax
mov dword [esp + 0x60], esi
call fcn.0044f150
add esp, 4
inc edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov ecx, dword [ebp + 8]
push ecx
call fcn.0044ee30
push 0x54330c
mov dword [esp + 0x14], eax
call fcn.0047c8a0
mov esi, dword [0x542664]
add esp, 8
test esi, esi
jne 0x4b48c9
call fcn.0044c5e0
mov esi, dword [0x542664]
mov edx, dword [esi + 0x10]
push 0x54330c
mov dword [0x542664], edx
call fcn.0047c8f0
xor eax, eax
add esp, 4
mov dword [esi], eax
mov ecx, dword [0x52b448]
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov edx, dword [esi]
mov eax, dword [esp + 0x14]
inc edx
mov dword [esi], edx
mov edx, dword [ebp + 8]
add eax, 4
inc edi
mov dword [edx + 0x1e4], esi
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x14], eax
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4ad3db
push 0x54330c
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 4
test eax, eax
jne 0x4b493b
call fcn.0044c5e0
mov eax, dword [0x542664]
mov dword [esp + 0xc], eax
mov edx, dword [eax + 0x10]
push 0x54330c
mov dword [0x542664], edx
call fcn.0047c8f0
mov eax, dword [esp + 0x10]
add esp, 4
mov dword [eax], 0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov dword [ecx + 4], 0
mov edx, dword [esp + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0xc], 0x52b498
mov edx, dword [esp + 0xc]
add eax, 4
mov dword [esp + 0x14], eax
mov dword [eax], edx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
inc ecx
inc edi
mov dword [eax], ecx
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
push eax
push ecx
call fcn.0044fd50
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
add ecx, 4
add esp, 8
mov dword [esp + 0x14], ecx
mov dword [ecx], eax
mov eax, dword [esp + 0xc]
inc dword [eax]
inc edi
mov dword [esp + 0x10], edi
jmp 0x4ad3db
xor ebx, ebx
xor edx, edx
mov bh, byte [edi + 1]
mov dl, byte [edi + 3]
mov bl, byte [edi + 2]
mov esi, dword [esp + 0x14]
shl ebx, 8
or ebx, edx
xor eax, eax
mov al, byte [edi + 4]
mov ecx, esi
shl ebx, 8
or ebx, eax
lea edx, [ebx*4]
sub ecx, edx
cmp ebx, 1
mov eax, dword [ecx]
jle 0x4b4a30
mov edx, dword [ebp + 8]
add ecx, 4
push 0
push ecx
lea ecx, [ebx - 1]
push ecx
push eax
push edx
call fcn.004a7f40
add esp, 0x14
test eax, eax
jne 0x4b4a30
mov dword [esp + 0x18], 1
jmp 0x4b5f7c
mov edx, dword [esi]
lea ecx, [esp + 0xc]
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004a82e0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b5f75
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4b4a6f
mov ecx, dword [eax]
add edi, 5
inc ebx
inc ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], ebx
mov dword [eax], ecx
jmp 0x4b4f6a
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4b4a85
push ecx
call fcn.0044c840
add esp, 4
mov edx, dword [ebp + 8]
push 0
push str.__not_known_in_dictionary
push eax
push str.key__
push edx
call fcn.0044ef30
add esp, 0x14
mov dword [esp + 0x18], 1
jmp 0x4b5f7c
xor eax, eax
xor ecx, ecx
mov ah, byte [edi + 1]
mov cl, byte [edi + 3]
mov al, byte [edi + 2]
xor edx, edx
mov dl, byte [edi + 4]
shl eax, 8
or eax, ecx
xor ecx, ecx
mov ch, byte [edi + 5]
mov cl, byte [edi + 6]
shl eax, 8
or eax, edx
xor edx, edx
mov dl, byte [edi + 8]
mov dword [esp + 0x28], eax
xor eax, eax
mov al, byte [edi + 7]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x38]
shl ecx, 8
or ecx, edx
mov dl, byte [eax + ecx*8]
test dl, 2
lea eax, [eax + ecx*8]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x20], eax
je 0x4b4b0d
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x4b4b01
mov dword [esp + 0x20], eax
test byte [eax], 0x13
jne 0x4b4b19
mov esi, dword [eax + 4]
test esi, esi
jne 0x4b4b44
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
push ecx
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x10], edx
push eax
call fcn.00446350
add esp, 0x1c
mov esi, eax
mov dword [esp + 0x3c], 1
xor ebx, ebx
cmp esi, ebx
jne 0x4b4b9d
push 0x54330c
call fcn.0047c8a0
mov esi, dword [0x542664]
add esp, 4
cmp esi, ebx
jne 0x4b4b6c
call fcn.0044c5e0
mov esi, dword [0x542664]
mov ecx, dword [esi + 0x10]
push 0x54330c
mov dword [0x542664], ecx
call fcn.0047c8f0
mov dword [esi], ebx
mov edx, dword [0x52b448]
mov dword [esi + 4], edx
mov dword [esi + 8], ebx
add esp, 4
mov dword [esi + 0xc], ebx
mov dword [esp + 0x1c], 1
jmp 0x4b4bba
mov edx, dword [esi]
xor eax, eax
cmp edx, 1
setg al
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0x4b4bba
push esi
call fcn.0044c740
add esp, 4
mov esi, eax
xor eax, eax
mov al, byte [edi]
sub eax, 0x6f
je 0x4b4d56
dec eax
je 0x4b4d2d
dec eax
je 0x4b4be9
xor ebx, ebx
push str.Should_not_happen_
mov dword [esp + 0x28], ebx
call fcn.0047c670
add esp, 4
jmp 0x4b4d84
mov eax, dword [esp + 0x10]
xor ecx, ecx
xor edx, edx
mov ebx, 1
movsx edi, byte [eax + 1]
mov cl, byte [eax + 2]
mov dl, byte [eax + 3]
shl edi, 8
or edi, ecx
xor ecx, ecx
mov cl, byte [eax + 4]
mov eax, dword [esp + 0x14]
shl edi, 8
or edi, edx
lea edx, [esp + 0x48]
shl edi, 8
or edi, ecx
mov ecx, dword [eax]
push edx
mov edx, dword [ebp + 8]
push ecx
push esi
push edx
mov dword [esp + 0x34], ebx
call fcn.004a82e0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b4d8c
mov eax, dword [esp + 0x48]
push edi
test eax, eax
jne 0x4b4c63
call fcn.0044d110
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
push esi
push 0
call fcn.004a81a0
add esp, 0x14
jmp 0x4b4d84
call fcn.0044d110
mov edi, eax
add esp, 4
mov edx, dword [edi]
inc edx
mov dword [edi], edx
mov eax, dword [esp + 0x48]
cmp dword [eax], 1
jle 0x4b4c9c
push eax
call fcn.0044c740
mov edx, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
push eax
mov eax, dword [edx]
push eax
push esi
push 0
call fcn.004a81a0
mov eax, dword [esp + 0x5c]
add esp, 0x14
mov ecx, dword [ebp + 8]
push edi
push eax
push ecx
call fcn.004ace90
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b4cbb
push esi
call fcn.0044c8d0
add esp, 4
mov ecx, dword [edi]
dec ecx
mov eax, ecx
mov dword [edi], ecx
test eax, eax
jg 0x4b4d84
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4b4ce6
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b4ce6
push edi
call fcn.0044c610
add esp, 4
jmp 0x4b4d84
mov eax, dword [edi + 4]
test eax, eax
je 0x4b4cfe
cmp eax, dword [0x52b448]
je 0x4b4cfe
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [edi + 8], 0xffffffff
call fcn.0047c8a0
mov edx, dword [0x542664]
push 0x54330c
mov dword [edi + 0x10], edx
mov dword [0x542664], edi
call fcn.0047c8f0
add esp, 8
jmp 0x4b4d84
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 8]
mov dword [esp + 0x24], ebx
lea eax, [ebx*4]
sub ecx, eax
add ecx, 4
push ecx
push ebx
push esi
push edx
call fcn.004a8780
add esp, 0x10
jmp 0x4b4d80
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
mov edx, dword [ecx]
lea ebx, [eax + 1]
push edx
lea edx, [eax*4]
sub ecx, edx
mov dword [esp + 0x28], ebx
push ecx
push eax
mov eax, dword [ebp + 8]
push esi
push eax
call fcn.004a85e0
add esp, 0x14
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4b4df0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4b5f75
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b5f75
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b4db9
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x4b5f6c
mov eax, dword [esi + 4]
test eax, eax
je 0x4b4dd1
cmp eax, dword [0x52b448]
je 0x4b4dd1
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov ecx, dword [0x542664]
mov dword [esi + 0x10], ecx
jmp 0x4b5374
mov eax, dword [esp + 0x20]
test byte [eax], 0x2b
jne 0x4b4e9f
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x4b4e81
mov ecx, dword [esi]
mov edi, dword [eax + 4]
inc ecx
test edi, edi
mov dword [esi], ecx
je 0x4b4e7a
mov ecx, dword [edi]
dec ecx
mov eax, ecx
mov dword [edi], ecx
test eax, eax
jg 0x4b4e7a
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4b4e35
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b4e35
push edi
call fcn.0044c610
add esp, 4
jmp 0x4b4e7a
mov eax, dword [edi + 4]
test eax, eax
je 0x4b4e4d
cmp eax, dword [0x52b448]
je 0x4b4e4d
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [edi + 8], 0xffffffff
call fcn.0047c8a0
mov edx, dword [0x542664]
push 0x54330c
mov dword [edi + 0x10], edx
mov dword [0x542664], edi
call fcn.0047c8f0
add esp, 8
mov eax, dword [esp + 0x20]
mov dword [eax + 4], esi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x10]
cmp byte [eax + 9], 3
jne 0x4b4f5a
add eax, 0xa
mov dword [esp + 0x10], eax
jmp 0x4ae9a3
mov edi, dword [esi]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi], edi
mov dword [ecx + 0x10], edx
mov ecx, dword [esp + 0xb4]
mov edx, dword [ebp + 8]
push ecx
push 0x200
push esi
push 0
push 0
push 0
push eax
push edx
call fcn.00446650
mov dword [esp + 0x2c], eax
mov ecx, dword [esi]
add esp, 0x20
dec ecx
mov eax, ecx
mov edi, 1
test eax, eax
mov dword [esp + 0x3c], edi
mov dword [esi], ecx
jg 0x4b4f45
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b4f01
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b4f01
push esi
call fcn.0044c610
add esp, 4
jmp 0x4b4f45
mov eax, dword [esi + 4]
test eax, eax
je 0x4b4f19
cmp eax, dword [0x52b448]
je 0x4b4f19
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov eax, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], eax
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
mov esi, dword [esp + 0xc]
test esi, esi
jne 0x4b4e85
mov dword [esp + 0x18], edi
jmp 0x4b5f7c
add eax, 9
mov dword [esp + 0x10], eax
mov eax, dword [esi]
inc eax
mov dword [esi], eax
mov edi, dword [esp + 0x10]
mov eax, ebx
sub eax, 0
je 0x4b5020
dec eax
je 0x4b61d0
dec eax
je 0x4b09a0
sub ebx, 2
mov ecx, ebx
dec ebx
test ecx, ecx
mov dword [esp + 0x24], ebx
je 0x4b09a0
inc ebx
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x14]
mov esi, dword [ebx]
sub ebx, 4
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b500c
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b4fc7
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b4fc7
push esi
call fcn.0044c610
add esp, 4
jmp 0x4b500c
mov eax, dword [esi + 4]
test eax, eax
je 0x4b4fdf
cmp eax, dword [0x52b448]
je 0x4b4fdf
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov edx, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], edx
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x34], eax
jne 0x4b4f9e
mov dword [esp + 0x14], ebx
jmp 0x4b09a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
add eax, 4
mov dword [esp + 0x14], eax
mov dword [eax], ecx
jmp 0x4ad3db
mov eax, dword [esi + 4]
test eax, eax
je 0x4b504e
cmp eax, dword [0x52b448]
je 0x4b504e
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov eax, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], eax
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x34], eax
jne 0x4ae9db
mov dword [esp + 0x14], ebx
jmp 0x4b00af
xor ecx, ecx
xor edx, edx
mov ch, byte [edi + 1]
mov dl, byte [edi + 3]
mov cl, byte [edi + 2]
xor eax, eax
mov al, byte [edi + 4]
shl ecx, 8
or ecx, edx
mov edx, dword [esp + 0x38]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x28], ecx
lea eax, [edx + ecx*8]
mov dword [esp + 0x20], eax
test byte [eax], 2
je 0x4b50ce
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x4b50c2
mov dword [esp + 0x20], eax
test byte [eax], 0x13
jne 0x4b50da
mov esi, dword [eax + 4]
test esi, esi
jne 0x4b5105
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
push ecx
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x10], edx
push eax
call fcn.00446350
add esp, 0x1c
mov esi, eax
mov dword [esp + 0x3c], 1
xor ebx, ebx
cmp esi, ebx
jne 0x4b515e
push 0x54330c
call fcn.0047c8a0
mov esi, dword [0x542664]
add esp, 4
cmp esi, ebx
jne 0x4b512d
call fcn.0044c5e0
mov esi, dword [0x542664]
mov ecx, dword [esi + 0x10]
push 0x54330c
mov dword [0x542664], ecx
call fcn.0047c8f0
mov dword [esi], ebx
mov edx, dword [0x52b448]
mov dword [esi + 4], edx
mov dword [esi + 8], ebx
add esp, 4
mov dword [esi + 0xc], ebx
mov dword [esp + 0x1c], 1
jmp 0x4b517b
mov edx, dword [esi]
xor eax, eax
cmp edx, 1
setg al
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0x4b517b
push esi
call fcn.0044c740
add esp, 4
mov esi, eax
mov ebx, dword [esp + 0x14]
mov edx, dword [ebp + 8]
lea eax, [esp + 0x48]
mov ecx, dword [ebx - 4]
push eax
push ecx
push esi
push edx
call fcn.004a82e0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
je 0x4b51e6
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4b5f75
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b5f75
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b51ca
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x4b5f6c
mov eax, dword [esi + 4]
test eax, eax
je 0x4b535b
cmp eax, dword [0x52b448]
je 0x4b535b
jmp 0x4b5352
xor eax, eax
mov al, byte [edi]
sub eax, 0x72
je 0x4b538c
dec eax
je 0x4b5208
push str.Should_not_happen_
call fcn.0047c670
add esp, 4
jmp 0x4b53ba
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4b5224
push ebx
push 1
call fcn.0044ae10
add esp, 8
mov dword [esp + 0x48], eax
jmp 0x4b53ba
cmp dword [eax], 1
jle 0x4b52fa
push eax
call fcn.0044c740
mov edx, dword [ebp + 8]
mov dword [esp + 0x4c], eax
mov ecx, dword [ebx]
push ecx
push eax
push edx
call fcn.0044b1e0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
je 0x4b53ba
mov eax, dword [esp + 0x48]
mov edx, dword [eax]
dec edx
mov dword [eax], edx
mov eax, dword [esp + 0x48]
cmp dword [eax], 0
jg 0x4b52cf
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4b527e
mov edx, dword [ecx + 4]
test edx, edx
je 0x4b527e
push eax
call fcn.0044c610
add esp, 4
jmp 0x4b52cf
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b529a
cmp ecx, dword [0x52b448]
je 0x4b529a
push ecx
call fcn.00450140
mov eax, dword [esp + 0x4c]
add esp, 4
push 0x54330c
mov dword [eax + 8], 0xffffffff
call fcn.0047c8a0
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x542664]
push 0x54330c
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x50]
mov dword [0x542664], edx
call fcn.0047c8f0
add esp, 8
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4b5f75
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b5f75
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b51ca
jmp 0x4b51bf
mov ecx, dword [ebx]
mov edx, dword [ebp + 8]
push ecx
push eax
push edx
call fcn.0044b1e0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
je 0x4b53ba
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4b5f75
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b5f75
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b5343
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x4b5f6c
mov eax, dword [esi + 4]
test eax, eax
je 0x4b535b
cmp eax, dword [0x52b448]
je 0x4b535b
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov eax, dword [0x542664]
mov dword [esi + 0x10], eax
push 0x54330c
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
jmp 0x4b5f75
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4b539c
mov ecx, dword [ebx]
mov dword [esp + 0x48], ecx
jmp 0x4b53ba
cmp dword [eax], 1
jle 0x4b53ae
push eax
call fcn.0044c740
add esp, 4
mov dword [esp + 0x48], eax
mov edx, dword [ebx]
push edx
push eax
call fcn.004518b0
add esp, 8
mov eax, dword [esp + 0x48]
mov ecx, dword [ebx - 4]
push eax
push ecx
push esi
push 0
call fcn.004a81a0
mov edx, dword [esp + 0x30]
add esp, 0x10
test byte [edx], 0x2b
jne 0x4b5477
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4b5461
mov ecx, dword [esi]
mov eax, edx
inc ecx
mov ebx, dword [eax + 4]
mov dword [esi], ecx
test ebx, ebx
je 0x4b545a
mov ecx, dword [ebx]
dec ecx
mov eax, ecx
mov dword [ebx], ecx
test eax, eax
jg 0x4b545a
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4b5415
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b5415
push ebx
call fcn.0044c610
add esp, 4
jmp 0x4b545a
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b542d
cmp eax, dword [0x52b448]
je 0x4b542d
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [ebx + 8], 0xffffffff
call fcn.0047c8a0
mov ecx, dword [0x542664]
push 0x54330c
mov dword [ebx + 0x10], ecx
mov dword [0x542664], ebx
call fcn.0047c8f0
add esp, 8
mov edx, dword [esp + 0x20]
mov dword [edx + 4], esi
mov dword [esp + 0xc], esi
cmp byte [edi + 5], 3
jne 0x4b5533
add edi, 6
jmp 0x4b00ab
mov eax, dword [esi]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
inc eax
mov dword [esi], eax
mov eax, dword [esp + 0x44]
push ecx
push 0x200
push esi
push 0
mov dword [eax + 0x10], ebx
mov eax, dword [ebp + 8]
push 0
push 0
push edx
push eax
call fcn.00446650
mov dword [esp + 0x2c], eax
mov ecx, dword [esi]
add esp, 0x20
dec ecx
mov eax, ecx
mov dword [esp + 0x3c], 1
test eax, eax
mov dword [esi], ecx
jg 0x4b551a
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b54d5
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b54d5
push esi
call fcn.0044c610
add esp, 4
jmp 0x4b551a
mov eax, dword [esi + 4]
test eax, eax
je 0x4b54ed
cmp eax, dword [0x52b448]
je 0x4b54ed
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov ecx, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], ecx
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
mov esi, dword [esp + 0xc]
test esi, esi
jne 0x4b5465
mov dword [esp + 0x18], 1
jmp 0x4b5f7c
mov eax, dword [esi]
inc eax
add edi, 5
mov dword [esi], eax
jmp 0x4b099c
xor edx, edx
xor eax, eax
mov dh, byte [edi + 1]
mov al, byte [edi + 3]
mov dl, byte [edi + 2]
xor ecx, ecx
mov cl, byte [edi + 4]
push 0xc
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x18]
shl edx, 8
mov ebx, dword [eax]
or edx, ecx
sub eax, 4
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x18], eax
call fcn.0044ffd0
mov esi, eax
lea edx, [esp + 0x178]
lea eax, [esp + 0x194]
push edx
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x1a8]
push eax
push ecx
push esi
push ebx
push edx
mov dword [esp + 0xd0], esi
call fcn.004a8480
add esp, 0x1c
mov dword [esp + 0x18], eax
test eax, eax
je 0x4b55ba
push esi
call fcn.00450140
jmp 0x4b5f72
push 0x54330c
call fcn.0047c8a0
mov esi, dword [0x542664]
add esp, 4
test esi, esi
jne 0x4b55dc
call fcn.0044c5e0
mov esi, dword [0x542664]
mov eax, dword [esi + 0x10]
lea ebx, [esi + 0x10]
push 0x54330c
mov dword [0x542664], eax
call fcn.0047c8f0
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0x38]
mov dword [esi], 0
mov ecx, dword [0x52b448]
mov dword [esi + 4], ecx
mov ecx, 0x537478
mov dword [esi + 8], 0
mov dword [esi + 0xc], ecx
mov dword [ebx], edx
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x34]
add esp, 4
lea ebx, [edx + eax*8 + 4]
mov eax, dword [edx + eax*8 + 4]
test eax, eax
je 0x4b56d6
cmp dword [eax + 0xc], ecx
je 0x4b56c9
mov edx, dword [eax]
dec edx
mov dword [eax], edx
mov eax, dword [ebx]
cmp dword [eax], 0
jg 0x4b56d6
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4b5676
mov edx, dword [ecx + 4]
test edx, edx
je 0x4b5676
push eax
call fcn.0044c610
mov dword [ebx], esi
mov eax, dword [esi]
add esp, 4
inc eax
mov dword [esi], eax
jmp 0x4b5741
mov eax, dword [eax + 4]
test eax, eax
je 0x4b568e
cmp eax, dword [0x52b448]
je 0x4b568e
push eax
call fcn.00450140
add esp, 4
mov ecx, dword [ebx]
push 0x54330c
mov dword [ecx + 8], 0xffffffff
call fcn.0047c8a0
mov edx, dword [ebx]
mov eax, dword [0x542664]
push 0x54330c
mov dword [edx + 0x10], eax
mov ecx, dword [ebx]
mov dword [0x542664], ecx
call fcn.0047c8f0
mov dword [ebx], esi
mov eax, dword [esi]
add esp, 8
inc eax
mov dword [esi], eax
jmp 0x4b5741
push str.mis_issued_dictFirst_
call fcn.0047c670
add esp, 4
mov dword [ebx], esi
mov eax, dword [esi]
inc eax
mov dword [esi], eax
jmp 0x4b5741
xor edx, edx
xor eax, eax
mov dh, byte [edi + 1]
mov al, byte [edi + 3]
mov dl, byte [edi + 2]
xor ecx, ecx
mov cl, byte [edi + 4]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x38]
shl edx, 8
or edx, ecx
mov esi, dword [eax + edx*8 + 4]
test esi, esi
je 0x4b5710
cmp dword [esi + 0xc], 0x537478
je 0x4b571d
push str.mis_issued_dictNext_
call fcn.0047c670
add esp, 4
lea ecx, [esp + 0x174]
lea edx, [esp + 0x190]
push ecx
mov ecx, dword [esi + 0x10]
lea eax, [esp + 0x1a4]
push edx
push eax
push ecx
call fcn.004a8520
add esp, 0x10
mov eax, dword [esp + 0x174]
test eax, eax
je 0x4b57b0
push 0x54330c
call fcn.0047c8a0
mov esi, dword [0x542664]
xor ebx, ebx
add esp, 4
cmp esi, ebx
jne 0x4b5770
call fcn.0044c5e0
mov esi, dword [0x542664]
mov edx, dword [esi + 0x10]
push 0x54330c
mov dword [0x542664], edx
call fcn.0047c8f0
mov dword [esi], ebx
mov eax, dword [0x52b448]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
add esp, 4
mov dword [eax], esi
mov ebx, dword [esi]
inc ebx
add eax, 4
mov dword [esi], ebx
mov dword [eax], esi
mov ecx, dword [esi]
inc ecx
mov dword [esi], ecx
jmp 0x4b57e1
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x190]
add eax, 4
mov dword [eax], ecx
mov ecx, dword [esp + 0x190]
add eax, 4
mov ebx, dword [ecx]
inc ebx
mov dword [ecx], ebx
mov edx, dword [esp + 0x1a0]
mov dword [eax], edx
mov ecx, dword [esp + 0x1a0]
inc dword [ecx]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x40]
mov ecx, dword [edx + ecx*4 + 4]
mov dword [esp + 0xc], ecx
add eax, 4
mov dword [esp + 0x14], eax
mov dword [eax], ecx
mov eax, dword [esp + 0xc]
inc dword [eax]
add edi, 5
mov dword [esp + 0x10], edi
jmp 0x4ad3db
xor eax, eax
xor ecx, ecx
mov ah, byte [edi + 1]
mov cl, byte [edi + 3]
mov al, byte [edi + 2]
xor edx, edx
mov dl, byte [edi + 4]
shl eax, 8
or eax, ecx
mov ecx, dword [esp + 0x38]
shl eax, 8
or eax, edx
mov dword [esp + 0x30], eax
mov esi, dword [ecx + eax*8 + 4]
test esi, esi
jne 0x4b5848
push str.mis_issued_dictDone_
call fcn.0047c670
add esp, 4
cmp dword [esi + 0xc], 0x537478
jne 0x4b5995
mov ebx, dword [esi + 0x10]
push ebx
call fcn.004a85b0
push ebx
call fcn.00450140
mov ebx, dword [esi + 0x14]
add esp, 8
mov ecx, dword [ebx]
dec ecx
mov eax, ecx
mov dword [ebx], ecx
test eax, eax
jg 0x4b58d3
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4b588e
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b588e
push ebx
call fcn.0044c610
add esp, 4
jmp 0x4b58d3
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b58a6
cmp eax, dword [0x52b448]
je 0x4b58a6
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [ebx + 8], 0xffffffff
call fcn.0047c8a0
mov edx, dword [0x542664]
push 0x54330c
mov dword [ebx + 0x10], edx
mov dword [0x542664], ebx
call fcn.0047c8f0
add esp, 8
mov ecx, dword [esi]
xor ebx, ebx
dec ecx
mov eax, ecx
mov dword [esi], ecx
cmp eax, ebx
jg 0x4b593b
mov eax, dword [esi + 0xc]
cmp eax, ebx
je 0x4b58f7
cmp dword [eax + 4], ebx
je 0x4b58f7
push esi
call fcn.0044c610
add esp, 4
jmp 0x4b593b
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x4b590f
cmp eax, dword [0x52b448]
je 0x4b590f
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov eax, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], eax
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
push 0x54330c
call fcn.0047c8a0
mov esi, dword [0x542664]
add esp, 4
cmp esi, ebx
jne 0x4b595d
call fcn.0044c5e0
mov esi, dword [0x542664]
mov ecx, dword [esi + 0x10]
push 0x54330c
mov dword [0x542664], ecx
call fcn.0047c8f0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov dword [esi], ebx
mov edx, dword [0x52b448]
mov dword [esi + 4], edx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [eax + ecx*8 + 4], esi
mov eax, dword [esi]
add esp, 4
inc eax
mov dword [esi], eax
add edi, 5
mov dword [esp + 0x10], edi
jmp 0x4ad3db
xor edx, edx
xor eax, eax
mov dh, byte [edi + 1]
mov al, byte [edi + 3]
mov dl, byte [edi + 2]
xor ecx, ecx
mov cl, byte [edi + 4]
shl edx, 8
or edx, eax
shl edx, 8
or edx, ecx
xor ecx, ecx
mov ch, byte [edi + 5]
mov esi, edx
mov edx, dword [esp + 0x38]
mov cl, byte [edi + 6]
shl ecx, 8
lea eax, [edx + esi*8]
xor edx, edx
mov dl, byte [edi + 7]
or ecx, edx
xor edx, edx
mov dl, byte [edi + 8]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x54]
mov ecx, dword [edx + ecx*8 + 4]
mov dword [esp + 0x30], ecx
mov cl, byte [eax]
test cl, 2
je 0x4b59ff
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x4b59f7
test byte [eax], 0x13
jne 0x4b5a15
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b5a15
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
jmp 0x4b5a4d
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x14]
push esi
push 0x200
push 0
push 0
push 0
push eax
mov eax, dword [ebp + 8]
mov dword [edx + 0x10], ebx
push eax
call fcn.00446350
add esp, 0x1c
mov dword [esp + 0x34], eax
test eax, eax
mov dword [esp + 0x3c], 1
je 0x4b5bab
mov eax, dword [ebx]
cmp dword [eax + 0xc], 0x52b2a0
jne 0x4b5a73
mov eax, dword [eax + 0x10]
add eax, 0x10
mov dword [esp + 0xac], eax
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x68], eax
jmp 0x4b5a95
lea ecx, [esp + 0xac]
lea edx, [esp + 0x68]
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0044b0b0
add esp, 0x10
test eax, eax
jne 0x4b5bab
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x68]
cmp ecx, dword [ebx]
je 0x4b5aae
push str.dictUpdateStart_argument_length_mismatch
call fcn.0047c670
add esp, 4
mov eax, dword [esp + 0x68]
mov dword [esp + 0x6c], 0
test eax, eax
jle 0x4ad7fc
mov edi, dword [ebp + 8]
mov eax, 0xfffffffc
sub eax, ebx
lea esi, [ebx + 4]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0xb4], eax
jmp 0x4b5ae3
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x26c]
add eax, esi
push edx
mov edx, dword [eax + ecx]
push edx
push ebx
push edi
call fcn.004a82e0
add esp, 0x10
test eax, eax
jne 0x4b5bab
mov eax, dword [esi]
mov ecx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
test byte [eax], 2
je 0x4b5b20
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x4b5b18
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
mov dword [ecx + 0x10], edx
mov ecx, dword [esp + 0x26c]
test ecx, ecx
jne 0x4b5b53
mov edi, dword [ebp + 8]
mov edx, dword [esi]
push ecx
push ecx
mov eax, dword [edi + 0x64]
mov ecx, dword [eax + 0x30]
mov edx, dword [ecx + edx*4 + 8]
push edx
push edi
call fcn.00446c20
add esp, 0x10
jmp 0x4b5b73
mov edx, dword [esi]
mov edi, dword [ebp + 8]
push edx
push 0x200
push ecx
push 0
push 0
push 0
push eax
push edi
call fcn.00446650
add esp, 0x20
test eax, eax
je 0x4b5ba3
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
inc eax
add esi, 4
cmp eax, ecx
mov dword [esp + 0x3c], 1
mov dword [esp + 0x6c], eax
jl 0x4b5adc
mov edi, dword [esp + 0x10]
add edi, 9
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov dword [esp + 0x3c], 1
mov dword [esp + 0x18], 1
jmp 0x4b5f7c
xor ecx, ecx
xor eax, eax
mov ch, byte [edi + 1]
mov al, byte [edi + 3]
mov cl, byte [edi + 2]
xor edx, edx
mov dl, byte [edi + 4]
mov esi, dword [ebp + 0xc]
shl ecx, 8
or ecx, eax
xor ebx, ebx
shl ecx, 8
mov bl, byte [edi + 7]
or ecx, edx
xor edx, edx
mov eax, dword [esp + 0x38]
mov dh, byte [edi + 5]
mov esi, dword [esi + 0x54]
mov dl, byte [edi + 6]
lea eax, [eax + ecx*8]
shl edx, 8
or edx, ebx
xor ebx, ebx
mov bl, byte [edi + 8]
mov dword [esp + 0xb4], ecx
shl edx, 8
or edx, ebx
mov dword [esp + 0x34], eax
mov edx, dword [esi + edx*8 + 4]
mov dword [esp + 0x30], edx
mov dl, byte [eax]
test dl, 2
je 0x4b5c23
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x4b5c17
mov dword [esp + 0x34], eax
test byte [eax], 0x13
jne 0x4b5c2f
mov esi, dword [eax + 4]
test esi, esi
jne 0x4b5c6a
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
push ecx
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x10], edx
push eax
call fcn.00446350
mov esi, eax
add esp, 0x1c
test esi, esi
mov dword [esp + 0x3c], 1
jne 0x4b5c6a
add edi, 9
mov dword [esp + 0x10], edi
jmp 0x4b6297
mov edi, dword [ebp + 8]
lea ecx, [esp + 0x68]
push ecx
push esi
push edi
call fcn.004a8450
add esp, 0xc
test eax, eax
jne 0x4b5f62
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
cmp dword [eax + 0xc], 0x52b2a0
jne 0x4b5cae
mov eax, dword [eax + 0x10]
add eax, 0x10
mov dword [esp + 0xac], eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x68], ecx
jmp 0x4b5ccd
lea edx, [esp + 0xac]
lea ecx, [esp + 0x68]
push edx
push ecx
push eax
push edi
call fcn.0044b0b0
add esp, 0x10
test eax, eax
jne 0x4b5f62
mov edx, dword [esi]
xor eax, eax
cmp edx, 1
setg al
test eax, eax
mov dword [esp + 0x6c], eax
je 0x4b5cea
push esi
call fcn.0044c740
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x68]
xor ebx, ebx
test eax, eax
jle 0x4b5dcc
mov edx, dword [esp + 0x30]
add edx, 4
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
mov ecx, dword [eax]
lea eax, [edx + ecx*8]
mov cl, byte [edx + ecx*8]
test cl, 2
je 0x4b5d20
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x4b5d18
test byte [eax], 0x13
jne 0x4b5d33
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b5d33
mov edi, dword [ebp + 8]
mov eax, ecx
jmp 0x4b5d62
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
mov edi, dword [ebp + 8]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edx
push 0
push 0
push 0
push 0
push eax
push edi
call fcn.00446350
add esp, 0x1c
mov dword [esp + 0x3c], 1
test eax, eax
jne 0x4b5d7d
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + ebx*4]
push ecx
push esi
push edi
call fcn.004a8330
add esp, 0xc
jmp 0x4b5db4
cmp esi, eax
push eax
jne 0x4b5d9f
call fcn.0044c740
mov edx, dword [esp + 0xb0]
push eax
mov eax, dword [edx + ebx*4]
push eax
push esi
push edi
call fcn.004a81a0
add esp, 0x14
jmp 0x4b5db4
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx + ebx*4]
push edx
push esi
push edi
call fcn.004a81a0
add esp, 0x10
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x68]
inc ebx
add ecx, 4
cmp ebx, eax
mov dword [esp + 0x28], ecx
jl 0x4b5d03
mov edi, dword [esp + 0x34]
test byte [edi], 0x2b
jne 0x4b5e69
mov ebx, dword [esi]
inc ebx
mov dword [esi], ebx
mov eax, dword [edi + 4]
mov edx, dword [eax]
dec edx
mov dword [eax], edx
mov eax, dword [edi + 4]
cmp dword [eax], 0
jg 0x4b5e54
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4b5e07
mov edx, dword [ecx + 4]
test edx, edx
je 0x4b5e07
push eax
call fcn.0044c610
add esp, 4
jmp 0x4b5e54
mov eax, dword [eax + 4]
test eax, eax
je 0x4b5e1f
cmp eax, dword [0x52b448]
je 0x4b5e1f
push eax
call fcn.00450140
add esp, 4
mov eax, dword [edi + 4]
push 0x54330c
mov dword [eax + 8], 0xffffffff
call fcn.0047c8a0
mov ecx, dword [edi + 4]
mov edx, dword [0x542664]
push 0x54330c
mov dword [ecx + 0x10], edx
mov eax, dword [edi + 4]
mov dword [0x542664], eax
call fcn.0047c8f0
add esp, 8
mov dword [edi + 4], esi
mov eax, dword [esp + 0x10]
add eax, 9
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x4b6297
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
push eax
push 0x200
push esi
push 0
mov dword [ecx + 0x10], edx
mov ecx, dword [ebp + 8]
push 0
push 0
push edi
push ecx
call fcn.00446650
add esp, 0x20
mov edi, 1
test eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x3c], edi
jne 0x4b5e57
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4b5f1e
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b5f1e
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b5ed9
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b5ed9
push esi
call fcn.0044c610
add esp, 4
mov dword [esp + 0x18], edi
jmp 0x4b5f7c
mov eax, dword [esi + 4]
test eax, eax
je 0x4b5ef1
cmp eax, dword [0x52b448]
je 0x4b5ef1
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov edx, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], edx
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
mov dword [esp + 0x18], edi
jmp 0x4b5f7c
push eax
push str.TclExecuteByteCode:_unrecognized_opCode__u
call fcn.0047c670
add esp, 8
push 0xffffffffffffffff
push str.divide_by_zero
call fcn.00450ff0
mov esi, dword [ebp + 8]
push eax
push esi
call fcn.0044ed70
push 0
push str.divide_by_zero
push str.DIVZERO
push str.ARITH
push esi
call fcn.0044f3f0
add esp, 0x24
mov dword [esp + 0x18], 1
jmp 0x4b5f7c
push esi
call fcn.0044c610
add esp, 4
cmp dword [esp + 0x18], 1
jne 0x4b5fda
mov ebx, dword [ebp + 8]
test byte [ebx + 0x100], 4
jne 0x4b5fd0
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x298]
push eax
push esi
push edi
call fcn.004b6a00
add esp, 0xc
test eax, eax
je 0x4b5fde
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
mov dword [ecx + 0x10], edx
mov ecx, dword [esp + 0x298]
mov edx, dword [esi + 0x18]
push ecx
push eax
push edx
push ebx
call fcn.00476550
add esp, 0x10
mov dword [esp + 0x3c], 1
jmp 0x4b5fde
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x10]
jmp 0x4b5fe2
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x50]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x100]
and ecx, 0xfffffffb
test esi, esi
mov dword [eax + 0x100], ecx
je 0x4b6092
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xc8]
cmp eax, ecx
je 0x4b6018
mov ecx, dword [eax]
mov edx, dword [esi + 0x10]
cmp ecx, edx
jg 0x4b6098
mov ecx, dword [esi]
mov ebx, dword [esi + 0x14]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b6084
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b603f
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b603f
push esi
call fcn.0044c610
add esp, 4
jmp 0x4b6084
mov eax, dword [esi + 4]
test eax, eax
je 0x4b6057
cmp eax, dword [0x52b448]
je 0x4b6057
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov edx, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], edx
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
test ebx, ebx
mov esi, ebx
jne 0x4b5ffc
mov dword [esp + 0x50], esi
mov eax, dword [esp + 0x5c]
jmp 0x4b609c
mov dword [esp + 0x50], esi
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x218]
test edx, edx
jne 0x4b6323
cmp eax, dword [esp + 0xc8]
je 0x4b6323
mov edx, dword [ebp + 0xc]
push edx
push 1
push edi
call fcn.004b6bd0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x4b6323
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x5c]
sub eax, edi
sar eax, 2
cmp eax, dword [ecx]
jle 0x4b6179
mov edi, dword [esp + 0x14]
mov esi, dword [edi]
sub edi, 4
mov dword [esp + 0x14], edi
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b6162
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b611d
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b611d
push esi
call fcn.0044c610
add esp, 4
jmp 0x4b6162
mov eax, dword [esi + 4]
test eax, eax
je 0x4b6135
cmp eax, dword [0x52b448]
je 0x4b6135
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov edx, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], edx
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x5c]
sub edi, esi
mov ecx, dword [eax]
sar edi, 2
cmp edi, ecx
jg 0x4b60ec
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebx + 0x18]
add edi, dword [ecx + 0x48]
mov dword [esp + 0x10], edi
jmp 0x4ad3db
mov eax, dword [esi + 4]
test eax, eax
je 0x4b61a3
cmp eax, dword [0x52b448]
je 0x4b61a3
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov edx, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], edx
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
mov ebx, dword [esp + 0x14]
mov esi, dword [ebx]
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b6247
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b6203
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b6203
push esi
call fcn.0044c610
mov ecx, dword [esp + 0x10]
add esp, 4
mov dword [ebx], ecx
jmp 0x4ad3db
mov eax, dword [esi + 4]
test eax, eax
je 0x4b621b
cmp eax, dword [0x52b448]
je 0x4b621b
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov eax, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], eax
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
mov ecx, dword [esp + 0xc]
mov dword [ebx], ecx
jmp 0x4ad3db
mov eax, dword [esi + 4]
test eax, eax
je 0x4b626a
cmp eax, dword [0x52b448]
je 0x4b626a
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov edx, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], edx
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
sub eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4ad3db
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b62cf
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b62cf
push esi
call fcn.0044c610
add esp, 4
jmp 0x4ad3db
mov eax, dword [esi + 4]
test eax, eax
je 0x4b62e7
cmp eax, dword [0x52b448]
je 0x4b62e7
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov eax, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], eax
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
jmp 0x4ad3db
sub eax, 4
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
cmp ebx, eax
jbe 0x4b634e
mov eax, dword [ebx]
sub ebx, 4
mov edx, dword [eax]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jg 0x4b6348
push eax
call fcn.0044c610
add esp, 4
cmp ebx, dword [esp + 0x54]
ja 0x4b632f
test esi, esi
je 0x4b63d0
mov ecx, dword [esi + 0x14]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x4b63c5
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b6380
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b6380
push esi
call fcn.0044c610
add esp, 4
jmp 0x4b63c5
mov eax, dword [esi + 4]
test eax, eax
je 0x4b6398
cmp eax, dword [0x52b448]
je 0x4b6398
push eax
call fcn.00450140
add esp, 4
push 0x54330c
mov dword [esi + 8], 0xffffffff
call fcn.0047c8a0
mov edx, dword [0x542664]
push 0x54330c
mov dword [esi + 0x10], edx
mov dword [0x542664], esi
call fcn.0047c8f0
add esp, 8
mov esi, dword [esp + 0xb4]
test esi, esi
jne 0x4b6352
mov eax, dword [esp + 0x54]
cmp ebx, eax
jae 0x4b640b
sub ebx, eax
mov eax, dword [ebp + 0xc]
sar ebx, 2
mov ecx, dword [eax + 0x48]
push 0
sub edi, ecx
mov ecx, dword [sym.imp.MSVCRT.dll__iob]
push ebx
push edi
add ecx, 0x40
push str._nTclExecuteByteCode:_abnormal_return_at_pc__u:_stack_top__d___entry_stack_top__d_n
push ecx
call dword [sym.imp.MSVCRT.dll_fprintf]
push str.TclExecuteByteCode_execution_failure:_end_stack_top___start_stack_top
call fcn.0047c670
add esp, 0x18
mov edx, dword [esp + 0xc8]
mov eax, dword [ebp + 8]
add edx, 4
push edx
push eax
call fcn.004ac640
mov eax, dword [esp + 0x20]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret