Function at 0x40bf70
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x124
mov eax, dword [0x4c33fc]
push ebx
push esi
push edi
mov dword [esp + 0x10], ecx
test al, 1
je 0x40d4bf
mov edi, dword [ebp + 0x10]
xor eax, eax
push 8
mov word [esp + 0x5c], 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], eax
mov word [esp + 0x2c], 1
call fcn.00420bca
mov ebx, eax
add esp, 4
mov dword [esp + 0x2c], eax
test ebx, ebx
je 0x40d688
mov dword [ebx], 0x14
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov ecx, dword [esi]
mov dword [ebx + 4], 0
mov eax, dword [edx + 4]
mov dword [esp + 0x54], ebx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x50], 1
movsx eax, word [eax + 0xa]
mov dword [esp + 0x14], 0x17
mov dword [esp + 0x5c], eax
jmp 0x40c07b
mov byte [esp + 0x1b], 1
cmp byte [esp + 0x1b], 0
mov eax, dword [esi]
mov ecx, dword [esp + 0x60]
mov eax, dword [eax + 0x18]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x18], eax
mov ecx, dword [esi]
mov eax, dword [0x4c33f0]
mov dword [ecx + 0x18], eax
mov ecx, dword [esi]
mov eax, dword [0x4c33ec]
mov dword [ecx + 0x1c], eax
je 0x40c52b
mov eax, dword [esi]
test eax, eax
je 0x40c52b
mov eax, dword [eax + 0x14]
test eax, eax
je 0x40c52b
push dword [esp + 0x64]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x14]
inc dword [esi]
push eax
push esi
push dword [ebp + 8]
call fcn.0040d9a0
test eax, eax
js 0x47b7d3
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi]
cmp ecx, eax
je case.0x40d12e.4
mov esi, dword [edx + 4]
mov edx, dword [esi + ecx*4]
movzx eax, word [edx + 8]
cmp ax, 0x7f
je case.0x40d12e.4
cwde
cmp eax, 0x33
je 0x40c142
cmp eax, 0x4f
je case.0x40d12e.4
cmp eax, 5
je 0x40c47b
cmp eax, 0x58
ja case.0x40d12e.4
movzx eax, byte [eax + 0x40d7a8]
jmp dword [eax*4 + 0x40d73c]
mov eax, dword [edx]
cmp eax, 4
jl 0x40d11d
cmp eax, 0x27
jge 0x40d11d
mov esi, 0x14
mov dword [esp + 0x14], esi
lea esp, [esp]
mov cl, byte [esp + 0x59]
test cl, cl
jne 0x40c669
mov eax, ebx
mov eax, dword [eax]
imul eax, eax, 0x15
movzx eax, byte [eax + esi + 0x4bcc20]
cmp eax, 3
jne 0x40c3ec
cmp dword [esp + 0x20], 1
jne 0x40d730
xor edi, edi
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
test eax, eax
jne 0x40c8b2
test ebx, ebx
je 0x40c137
mov esi, dword [ebx + 4]
push ebx
call fcn.00420c3e
add esp, 4
mov ebx, esi
test esi, esi
jne 0x40c125
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], 0x16
test esi, esi
jne 0x40c852
cmp edi, 0x4c3400
je 0x40c19c
cmp dword [edi + 0xc], 4
je 0x40cf1c
mov esi, dword [edi + 8]
test esi, esi
jne 0x40cf2e
mov eax, dword [edi + 0xc]
cmp eax, 5
jge 0x47c080
push 0x4c3400
mov ecx, edi
mov dword [edi + 0xc], 1
mov dword [edi], 0
call fcn.0040d8a0
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
inc esi
mov dword [esp + 0x20], esi
cmp esi, 1
jne 0x40c89e
mov dword [esp + 0x64], edi
cmp byte [0x4c32e4], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax]
mov dword [esp + 0x34], edx
jne 0x47c528
cmp dword [0x4c32d8], 0
je 0x40c52f
cmp byte [0x4c32e1], 0
jne 0x47c213
mov esi, dword [0x4c32dc]
cmp dword [esi], 0
je 0x40c52f
mov eax, dword [0x4c33d0]
mov byte [esp + 0x1b], 0
test al, 1
je 0x47c220
mov dword [0x4c33f0], 0
mov dword [0x4c33ec], 0
mov dword [esp + 0x3c], 0x4c33d4
mov dword [esp + 0x60], 0x4c33d4
mov eax, dword [esp + 0x34]
mov edx, dword [esi]
mov eax, dword [eax + 4]
mov ecx, dword [edx + 4]
mov dword [esp + 0x38], edx
mov dword [esp + 0x44], eax
test eax, eax
je 0x47c244
test ecx, ecx
je 0x47c24c
cmp eax, ecx
jb 0x40c44b
mov ecx, dword [edx]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov edx, dword [edx]
test eax, eax
je 0x40c284
mov edi, edi
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x40c288
add edx, 2
add ecx, 2
dec dword [esp + 0x30]
jne 0x40c270
xor eax, eax
jmp 0x40c294
movzx eax, word [edx]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
js 0x40c31b
jle 0x40c008
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 0x1c]
test ecx, ecx
je 0x40c00d
mov ebx, dword [esp + 0x34]
mov edx, dword [ecx + 4]
mov ebx, dword [ebx]
cmp edx, eax
mov dword [esp + 0x30], ebx
mov ebx, dword [ecx]
cmova edx, eax
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x48], edx
test edx, edx
je 0x40c30e
mov eax, dword [esp + 0x40]
lea ecx, [ecx]
mov ebx, dword [esp + 0x30]
mov ax, word [eax]
cmp ax, word [ebx]
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x40]
jne 0x40c3ac
add dword [esp + 0x30], 2
add eax, 2
dec dword [esp + 0x48]
mov dword [esp + 0x40], eax
jne 0x40c2e0
mov eax, dword [esp + 0x44]
cmp edx, eax
jb 0x40c3b8
jmp 0x40c3d3
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 0x18]
test ecx, ecx
je 0x40c00d
cmp eax, dword [ecx + 4]
mov ebx, dword [esp + 0x34]
cmova eax, dword [ecx + 4]
mov ebx, dword [ebx]
mov edx, dword [ecx]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], eax
test eax, eax
je 0x40c65b
mov eax, dword [esp + 0x40]
lea esp, [esp]
mov ax, word [eax]
cmp ax, word [edx]
mov eax, dword [esp + 0x40]
je 0x40c643
mov ax, word [eax]
cmp ax, word [edx]
jae 0x40c393
mov eax, dword [ecx + 0x1c]
mov edx, dword [esp + 0x38]
mov dword [edx + 0x18], eax
mov eax, dword [esi]
mov dword [ecx + 0x1c], eax
mov dword [esi], ecx
cmp dword [ecx + 0x18], 0
je 0x40c00d
mov eax, dword [esi]
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0x18], eax
mov eax, dword [esi]
mov dword [esp + 0x3c], eax
mov eax, dword [eax + 0x18]
mov dword [esi], eax
jmp 0x40c232
mov edx, dword [esp + 0x30]
mov ax, word [eax]
cmp ax, word [edx]
jae 0x40c3d3
mov eax, dword [ecx + 0x18]
mov edx, dword [esp + 0x38]
mov dword [edx + 0x1c], eax
mov eax, dword [esi]
mov dword [ecx + 0x18], eax
mov dword [esi], ecx
cmp dword [ecx + 0x1c], 0
je 0x40c00d
mov eax, dword [esi]
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi]
mov dword [esp + 0x60], eax
mov eax, dword [eax + 0x1c]
mov dword [esi], eax
jmp 0x40c232
cmp eax, 6
ja case.0x40c3f1.3
jmp dword [eax*4 + 0x40d804]
test cl, cl
jne 0x40c95d
push 8
call fcn.00420bca
add esp, 4
test eax, eax
je 0x40d6f9
mov dword [eax], esi
mov dword [eax + 4], ebx
mov ebx, eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x54], ebx
inc dword [esp + 0x50]
cmp esi, 7
je 0x40d19b
cmp esi, 8
je 0x40d19b
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
jmp 0x40c078
mov eax, dword [esp + 0x34]
mov edx, dword [edx]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
test ecx, ecx
je 0x40c284
nop
mov ax, word [eax]
cmp ax, word [edx]
mov eax, dword [esp + 0x30]
je 0x40d0ca
movzx eax, word [eax]
cmp ax, word [edx]
jmp 0x40c28e
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], 0x16
test esi, esi
jne 0x40c969
cmp edi, 0x4c3400
je 0x40c4d5
cmp dword [edi + 0xc], 4
je 0x40c8f9
mov esi, dword [edi + 8]
test esi, esi
jne 0x40c90b
mov eax, dword [edi + 0xc]
cmp eax, 5
jge 0x47bedd
push 0x4c3400
mov ecx, edi
mov dword [edi + 0xc], 1
mov dword [edi], 0
call fcn.0040d8a0
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
mov eax, dword [ebp + 0xc]
inc esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], esi
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp esi, 1
jne 0x40c9b5
mov esi, edi
mov ecx, dword [esi + 8]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
test ecx, ecx
jne 0x47bfac
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x47bfbe
mov eax, dword [esp + 0x48]
mov dword [esi + 0xc], 1
mov dword [esi], eax
mov esi, dword [ebp + 0xc]
inc dword [esi]
jmp 0x40c078
mov edx, dword [esp + 0x34]
mov esi, dword [0x4c32c8]
mov dword [esp + 0x44], esi
test esi, esi
je 0x47c528
mov eax, dword [0x4c33d0]
mov byte [esp + 0x1b], 0
test al, 1
je 0x47c259
mov dword [0x4c33f0], 0
mov dword [0x4c33ec], 0
mov dword [esp + 0x30], 0x4c33d4
mov dword [esp + 0x60], 0x4c33d4
jmp 0x40c580
mov edx, dword [edx + 4]
mov ecx, dword [esi + 4]
mov dword [esp + 0x40], edx
test edx, edx
je 0x47c28b
test ecx, ecx
je 0x47c293
cmp edx, ecx
jb 0x40c737
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx]
mov esi, edx
mov edx, dword [eax]
test esi, esi
je 0x40c5c9
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x40c780
add edx, 2
add ecx, 2
dec esi
jne 0x40c5b4
xor eax, eax
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
test eax, eax
js 0x40c791
jg 0x40c671
mov byte [esp + 0x1b], 1
cmp byte [esp + 0x1b], 0
mov eax, dword [esi + 0x18]
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x4c32c8]
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x4c32c8]
mov eax, dword [0x4c33f0]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x4c32c8]
mov eax, dword [0x4c33ec]
mov dword [ecx + 0x1c], eax
je 0x47c528
mov eax, dword [0x4c32c8]
test eax, eax
je 0x47c528
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x40c059
jmp 0x47c528
add eax, 2
add edx, 2
dec dword [esp + 0x30]
mov dword [esp + 0x40], eax
jne 0x40c360
mov eax, dword [esp + 0x44]
cmp eax, dword [ecx + 4]
jae 0x40c393
jmp 0x40c378
mov eax, dword [ebx + 4]
jmp 0x40c0ee
lea eax, [esi + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [eax]
test eax, eax
je 0x40c5e6
mov eax, dword [eax + 4]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
cmp eax, edx
mov ecx, dword [ecx]
cmova eax, edx
mov edx, dword [ebx]
mov ebx, dword [esp + 0x2c]
mov edx, dword [edx]
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], eax
test eax, eax
je 0x40c6c0
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x40c6c8
add edx, 2
add ecx, 2
dec dword [esp + 0x48]
jne 0x40c6a8
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x40]
jb 0x40c6ca
jmp 0x40c6ed
jae 0x40c6ed
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx]
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [0x4c32c8]
mov dword [esi + 0x18], eax
mov dword [0x4c32c8], esi
cmp dword [esi + 0x1c], 0
je 0x40c5e6
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x34]
mov dword [ecx + 0x1c], esi
mov eax, dword [0x4c32c8]
mov dword [esp + 0x60], eax
mov esi, dword [eax + 0x1c]
mov dword [esp + 0x44], esi
mov dword [0x4c32c8], esi
jmp 0x40c580
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.0040de80
test eax, eax
js 0x40d71c
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x2c], ebx
jmp 0x40c0e0
mov eax, dword [esi]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x38], eax
mov eax, dword [ebx]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
test ecx, ecx
je 0x40c944
mov ebx, dword [esp + 0x38]
mov ax, word [eax]
cmp ax, word [ebx]
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
je 0x40c931
movzx eax, word [eax]
mov ecx, dword [esp + 0x38]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x40c5d3
movzx eax, word [edx]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x40c5cb
mov ecx, dword [esi + 0x18]
lea eax, [esi + 0x18]
mov dword [esp + 0x40], eax
test ecx, ecx
je 0x40c5e6
mov eax, dword [ecx + 4]
cmp edx, eax
ja 0x40d0e2
mov eax, dword [ecx]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x38], eax
mov eax, dword [ebx]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], eax
test edx, edx
je 0x40c84b
mov edi, edi
mov ebx, dword [esp + 0x38]
mov ax, word [eax]
cmp ax, word [ebx]
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
je 0x40c839
mov edx, dword [esp + 0x38]
mov ax, word [eax]
cmp ax, word [edx]
jae 0x40c813
mov esi, ecx
mov ecx, dword [esp + 0x40]
mov eax, dword [esi + 0x1c]
mov dword [ecx], eax
mov eax, dword [0x4c32c8]
mov dword [esi + 0x1c], eax
mov dword [0x4c32c8], esi
cmp dword [esi + 0x18], 0
je 0x40c5e6
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [ecx + 0x18], esi
mov eax, dword [0x4c32c8]
mov dword [esp + 0x30], eax
mov esi, dword [eax + 0x18]
mov dword [esp + 0x44], esi
mov dword [0x4c32c8], esi
jmp 0x40c580
add dword [esp + 0x38], 2
add eax, 2
dec dword [esp + 0x48]
mov dword [esp + 0x3c], eax
jne 0x40c7d0
cmp edx, dword [ecx + 4]
jae 0x40c813
jmp 0x40c7f0
cmp byte [esp + 0x29], 0
jne 0x40cec4
push 0x18
call fcn.00420bca
mov esi, eax
add esp, 4
test esi, esi
je 0x40d6e6
push 0x4c3400
mov ecx, esi
mov dword [esi + 8], 0
call fcn.0040d8a0
mov eax, dword [esp + 0xc]
mov dword [esi + 0x10], eax
mov eax, esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov dword [esp + 0x24], eax
jmp 0x40c1a0
cmp byte [esp + 0x29], 0
jne 0x40d6ed
mov dword [esp + 0x64], eax
jmp 0x40c1b2
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + 8]
mov esi, dword [ebx + 0x10]
mov dword [esp + 0x48], ecx
test ecx, ecx
jne 0x40d286
mov eax, dword [ebx + 0xc]
cmp eax, 5
jge 0x40d3f7
push ebx
mov dword [ebx + 0xc], 1
mov dword [ebx], 0
call fcn.00420c3e
add esp, 4
mov ebx, esi
test esi, esi
jne 0x40c8b6
mov ebx, dword [esp + 0x2c]
jmp 0x40c121
cmp dword [0x4c340c], 4
jne 0x40c4a1
jmp 0x47beb0
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x47bec3
push esi
call fcn.00420c3e
add esp, 4
mov dword [edi + 8], 0
jmp 0x40c4ac
add dword [esp + 0x38], 2
add eax, 2
mov dword [esp + 0x3c], eax
dec ecx
jne 0x40c753
xor eax, eax
jmp 0x40c5d3
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0xd
mov dword [ecx], eax
jmp 0x40c0d8
mov dword [ebx], esi
mov byte [esp + 0x59], 0
jmp 0x40c421
cmp byte [esp + 0x29], 0
jne 0x40d072
push 0x18
call fcn.00420bca
mov esi, eax
add esp, 4
test esi, esi
je 0x40d6d7
push 0x4c3400
mov ecx, esi
mov dword [esi + 8], 0
call fcn.0040d8a0
mov eax, dword [esp + 0xc]
mov edx, esi
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x20]
mov dword [esp + 0xc], edx
mov dword [esp + 0x24], edx
jmp 0x40c4d9
cmp byte [esp + 0x29], 0
jne 0x40d6de
mov esi, edx
jmp 0x40c4f7
test cl, cl
je 0x40cf15
mov eax, dword [ebx + 4]
cmp dword [eax], 0x12
je 0x40ca57
test cl, cl
jne 0x40d06a
mov eax, ebx
cmp dword [eax], 0x14
je 0x40d725
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.0040de80
test eax, eax
js 0x40d71c
mov ebx, dword [esp + 0x54]
mov cl, byte [esp + 0x59]
mov dword [esp + 0x2c], ebx
jmp case.0x40c3f1.2
test ecx, ecx
je 0x40ca33
mov eax, dword [esi + ecx*4 - 4]
movzx eax, word [eax + 8]
cmp ax, 0x48
je 0x47bac6
cmp ax, 0x4f
je 0x47bac6
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0x12
mov dword [ecx], eax
jmp 0x40c0d8
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0x13
mov dword [ecx], eax
jmp 0x40c0d8
test cl, cl
je 0x40ca75
mov esi, dword [ebx + 4]
push ebx
call fcn.00420c3e
mov ebx, esi
mov esi, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x54], ebx
cmp byte [esp + 0x58], 0
je 0x47c2a0
mov byte [esp + 0x59], 1
dec dword [esp + 0x50]
jmp case.0x40c3f1.3
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 1
mov dword [ecx], eax
jmp 0x40c0d8
cmp dword [esp + 0x20], 0
mov dword [esp + 0x14], 0x16
je 0x40d2ee
cmp byte [esp + 0x29], 0
jne 0x40d375
push 0x18
call fcn.00420bca
mov esi, eax
add esp, 4
test esi, esi
je 0x40d6a9
push 0x4c3400
mov ecx, esi
mov dword [esi + 8], 0
call fcn.0040d8a0
mov eax, dword [esp + 0xc]
mov dword [esi + 0x10], eax
mov eax, esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov ecx, dword [esi]
inc dword [esp + 0x20]
mov eax, dword [edx + ecx*4 + 4]
cmp word [eax + 8], 0x47
jne 0x47b791
cmp dword [esp + 0x20], 1
je 0x40d2ff
cmp byte [esp + 0x29], 0
mov eax, dword [esp + 0xc]
jne 0x40d6b0
mov dword [esp + 0x34], eax
mov dword [esp + 0x68], 0x49ec3c
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov eax, dword [edx + ecx*4]
mov esi, dword [eax]
movsx eax, word [eax + 0xa]
mov dword [esp + 0x3c], eax
mov eax, dword [0x4c33f4]
mov dword [esp + 0x30], esi
test al, 1
je 0x40d5e0
cmp esi, dword [0x4c33f8]
je 0x47b7ad
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
inc dword [eax]
mov ecx, dword [eax]
mov edx, dword [esi + 4]
mov eax, dword [edx + ecx*4]
cmp word [eax + 8], 0x47
jne 0x40d713
lea eax, [ecx + 1]
mov dword [esp + 0x48], eax
xor esi, esi
mov dword [esp + 0x78], eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov ecx, eax
mov eax, dword [edx + ecx*4]
movsx eax, word [eax + 8]
sub eax, 0x47
je 0x40d0af
dec eax
je 0x40cbcc
sub eax, 0x37
je 0x47c352
lea eax, [ecx + 1]
jmp 0x40cba4
test esi, esi
jne 0x40d0a6
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x64], esi
mov ecx, dword [edx]
mov dword [esp + 0x38], ecx
lea eax, [ecx + 1]
mov dword [edx], eax
cmp dword [esp + 0x48], ecx
jae 0x40cceb
mov eax, dword [esp + 0x74]
mov dword [esp + 0x90], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 1
cmp dword [esp + 0x70], eax
jne 0x40cc56
add eax, eax
cmp eax, 8
jae 0x40cc27
mov eax, 8
xor ecx, ecx
mov dword [esp + 0x74], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00420bca
mov esi, eax
mov eax, dword [esp + 0x70]
add esp, 4
test eax, eax
jne 0x47b7df
mov dword [esp + 0x6c], esi
push 0x10
call fcn.00420bca
mov esi, eax
add esp, 4
test esi, esi
je 0x40d6b8
lea eax, [esp + 0x90]
push eax
mov ecx, esi
mov dword [esi + 8], 0
call fcn.0040d8a0
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
push dword [esp + 0x38]
mov dword [eax + ecx*4], esi
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
inc ecx
mov dword [esp + 0x74], ecx
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x80]
push eax
push dword [ebp + 8]
call fcn.0040bf70
test eax, eax
js 0x47c3c0
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x38]
inc esi
mov dword [esp + 0x64], esi
cmp ecx, edx
jne 0x40d2ac
mov dword [esp + 0x9c], 1
mov dword [esp + 0x90], 0
mov ecx, dword [esp + 0x10]
push dword [esp + 0x30]
add ecx, 0x49c
call fcn.00410cc0
cmp esi, dword [eax + 0x18]
jl 0x40d708
mov ecx, dword [esp + 0x10]
push dword [esp + 0x30]
lea ecx, [ecx + 0x49c]
call fcn.00410cc0
cmp esi, dword [eax + 0x1c]
jg 0x40d708
mov esi, dword [esp + 0x34]
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x47b80a
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x47b81c
mov edx, dword [esp + 0x10]
mov dword [esi + 0xc], 1
mov dword [esi], 1
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx + 8]
add ecx, edx
cmp byte [ecx + 0xd], 0
jne 0x40d6bf
mov dword [eax + 0x14], 0
cmp byte [ecx + 0xd], 0
mov eax, dword [ecx + 8]
jne 0x40d6c7
mov byte [eax + 0x18], 0
mov eax, dword [edx]
mov esi, dword [eax + 4]
add esi, edx
mov dword [esp + 0x48], esi
cmp byte [esi + 0xd], 0
jne 0x47b8cb
mov esi, dword [esi + 8]
mov ecx, dword [esi + 0x28]
test ecx, ecx
jne 0x47b8d6
mov eax, dword [esi + 0x2c]
cmp eax, 5
jge 0x47b8ec
mov eax, dword [esp + 0x48]
mov dword [esi + 0x2c], 1
mov dword [esi + 0x20], 0
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x40d6cf
push dword [esp + 0x30]
lea ecx, [edx + 0x49c]
mov byte [eax + 0x30], 0
call fcn.00410cc0
movq xmm0, qword [eax + 0xc]
mov ecx, dword [eax + 0x14]
push dword [esp + 0x34]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x6c]
push eax
mov eax, dword [edx]
movq qword [esp + 0x11c], xmm0
mov ecx, dword [ecx + eax]
add ecx, dword [esp + 0x120]
add ecx, edx
call dword [esp + 0x11c]
test eax, eax
js 0x47c371
xor esi, esi
mov dword [esp + 0x68], 0x49ec3c
cmp dword [esp + 0x70], esi
jbe 0x40ce62
jmp 0x40ce30
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + esi*4]
mov dword [esp + 0x48], ecx
test ecx, ecx
je 0x40ce54
call fcn.0040a220
push dword [esp + 0x48]
call fcn.00420c3e
mov eax, dword [esp + 0x70]
add esp, 4
mov dword [eax + esi*4], 0
inc esi
cmp esi, dword [esp + 0x70]
jb 0x40ce30
push dword [esp + 0x6c]
mov dword [esp + 0x74], 0
call fcn.00420c3e
add esp, 4
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xfc], 1
je 0x47b7d3
mov esi, dword [ebp + 0xc]
jmp 0x40c078
mov eax, dword [esp + 0x14]
cmp eax, 0x16
jne 0x40d0fb
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x14], 0xb
mov esi, dword [esp + 0x14]
mov dword [ecx], eax
jmp 0x40c0e0
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
xor esi, esi
mov dword [ecx], eax
jmp 0x40c0d8
mov eax, dword [esp + 0xc]
cmp eax, 0x4c3400
je 0x40cf0b
cmp dword [eax + 0xc], 4
je 0x40d551
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x40d563
mov eax, dword [eax + 0xc]
cmp eax, 5
jge 0x47c142
mov ecx, dword [esp + 0xc]
push 0x4c3400
mov dword [ecx + 0xc], 1
mov dword [ecx], 0
call fcn.0040d8a0
mov byte [esp + 0x29], 0
jmp 0x40c19c
mov eax, ebx
jmp 0x40c9d2
cmp dword [0x4c340c], 4
jne 0x40c168
jmp 0x47c06d
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x40d479
push esi
call fcn.00420c3e
add esp, 4
mov dword [edi + 8], 0
jmp 0x40c173
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], 0x16
test esi, esi
jne 0x40d147
cmp edi, 0x4c3400
je 0x40cf8d
cmp dword [edi + 0xc], 4
je 0x47b60d
mov ecx, edi
call fcn.0040ee00
push 0x4c3400
mov ecx, edi
call fcn.0040d8a0
mov edx, dword [esp + 0xc]
mov eax, dword [ebp + 0xc]
inc esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], esi
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp esi, 1
jne 0x40d189
mov esi, edi
cmp dword [esi + 0xc], 4
mov eax, dword [eax]
mov ecx, dword [esi + 8]
mov dword [esp + 0x48], eax
je 0x47b640
test ecx, ecx
jne 0x47b64b
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x47b65d
push 0x10
mov dword [esi], 0
mov dword [esi + 0xc], 4
call fcn.00420bca
mov edx, eax
add esp, 4
test edx, edx
je 0x40d6a2
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
inc dword [eax]
mov dword [esi + 8], edx
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x10]
inc dword [esi]
cmp byte [eax + 0x101], 0
jne 0x47b70c
cmp byte [eax + 0x102], 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
je 0x40c07e
jmp 0x47b724
mov eax, dword [esp + 0x14]
cmp eax, 0x16
jne 0x40d266
mov dword [esp + 0x14], 0xc
mov esi, dword [esp + 0x14]
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40c0e0
mov eax, dword [ebx + 4]
jmp 0x40c9e5
mov eax, dword [esp + 0xc]
cmp eax, 0x4c3400
je 0x40d09c
cmp dword [eax + 0xc], 4
je 0x47bf8c
mov ecx, eax
call fcn.0040ee00
mov ecx, dword [esp + 0xc]
push 0x4c3400
call fcn.0040d8a0
mov byte [esp + 0x29], 0
jmp 0x40c4d5
dec esi
lea eax, [ecx + 1]
jmp 0x40cba4
inc esi
lea eax, [ecx + 1]
jmp 0x40cba4
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0xe
mov dword [ecx], eax
jmp 0x40c0d8
add eax, 2
add edx, 2
mov dword [esp + 0x30], eax
dec ecx
jne 0x40c460
xor eax, eax
jmp 0x40c294
mov edx, eax
jmp 0x40c7ae
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 9
mov dword [ecx], eax
jmp 0x40c0d8
cmp eax, 0x13
je 0x40ce9c
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x14], 0x11
mov esi, dword [esp + 0x14]
mov dword [ecx], eax
jmp 0x40c0e0
dec eax
cmp eax, 0x29
ja case.0x40d12e.4
movzx eax, byte [eax + 0x40d840]
jmp dword [eax*4 + 0x40d820]
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 7
mov dword [ecx], eax
jmp 0x40c0d8
cmp byte [esp + 0x29], 0
je 0x40d31a
mov eax, dword [esp + 0xc]
cmp eax, 0x4c3400
je 0x40d17f
cmp dword [0x4c340c], 4
je 0x40d542
mov ecx, eax
call fcn.0040ee00
mov ecx, dword [esp + 0xc]
push 0x4c3400
call fcn.0040d8a0
mov byte [esp + 0x29], 0
jmp 0x40cf8d
cmp byte [esp + 0x29], 0
jne 0x40d69a
mov esi, edx
jmp 0x40cfaf
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
test esi, esi
je 0x40d700
cmp esi, 1
jne 0x47c2c4
mov eax, edi
push eax
lea ecx, [esp + 0xec]
mov dword [esp + 0xf4], 0
call fcn.0040d8a0
lea ecx, [esp + 0xe8]
call fcn.0041b6c1
mov ecx, dword [esp + 0x14]
test al, al
jne 0x40d493
cmp ecx, 7
jne 0x40d24c
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0041e389
test eax, eax
js 0x47c597
cmp dword [esp + 0x14], 8
je 0x47c2d7
cmp esi, 1
jne 0x47c2fb
mov esi, edi
mov ecx, esi
call fcn.0040ee00
mov dword [esi + 0xc], 9
mov byte [esi], 0
cmp byte [esp + 0x59], 0
jne 0x47c317
cmp byte [esp + 0x58], 0
je 0x47c332
mov byte [esp + 0x59], 1
dec dword [esp + 0x50]
lea ecx, [esp + 0xe8]
call fcn.0040ee00
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
jmp 0x40c07e
cmp eax, 0x13
je 0x40d051
jmp 0x47ba32
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 5
mov dword [ecx], eax
jmp 0x40c0d8
mov eax, dword [ecx + 0xc]
dec dword [eax]
mov eax, dword [ecx + 0xc]
cmp dword [eax], 0
je 0x40d3d5
push ecx
call fcn.00420c3e
add esp, 4
mov dword [ebx + 8], 0
jmp 0x40c8c8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x40
jne 0x47c386
lea eax, [ecx + 1]
cmp eax, edx
je 0x47c386
lea ecx, [esp + 0x90]
mov dword [esp + 0x78], eax
call fcn.0040ee00
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x78], ecx
jb 0x40cbf0
jmp 0x40cceb
push 0x4c3400
mov ecx, edi
call fcn.00409d38
jmp 0x40caf6
mov dword [esp + 0x34], edi
jmp 0x40cb32
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 2
mov dword [ecx], eax
jmp 0x40c0d8
push 0x18
call fcn.00420bca
mov esi, eax
add esp, 4
test esi, esi
je 0x40d693
push 0x4c3400
mov ecx, esi
mov dword [esi + 8], 0
call fcn.0040d8a0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x40d4a9
mov edx, esi
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x20]
mov dword [esp + 0xc], edx
mov dword [esp + 0x24], edx
jmp 0x40cf91
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 4
mov dword [ecx], eax
jmp 0x40c0d8
mov ecx, dword [esp + 0xc]
push 0x4c3400
call fcn.00409d38
mov byte [esp + 0x29], 0
jmp 0x40caf6
push 0x4c3400
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 0x16
call fcn.0041f4d4
lea ecx, [esp + 0x1c]
call fcn.0041f536
mov esi, eax
mov ecx, esi
call fcn.0040ee00
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov dword [esi + 0xc], 9
mov byte [esi], 0
mov esi, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
inc dword [esi]
jmp 0x40c078
push dword [ecx]
call fcn.00420c3e
mov eax, dword [esp + 0x4c]
add esp, 4
push dword [eax + 0xc]
call fcn.00420c3e
mov ecx, dword [esp + 0x4c]
add esp, 4
jmp 0x40d297
sub eax, 5
cmp eax, 0xa
ja case.0x40d403.6
jmp dword [eax*4 + 0x40d86c]
push 0x4c3400
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 0x16
call fcn.0041f4d4
mov byte [esp + 0xb4], 1
push dword [esp + 0xb4]
lea ecx, [esp + 0x20]
call fcn.0041f536
mov ecx, eax
call fcn.0041f54d
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x24]
inc dword [esi]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
jmp 0x40c078
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 3
mov dword [ecx], eax
jmp 0x40c0d8
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 8
mov dword [ecx], eax
jmp 0x40c0d8
push dword [esi]
call fcn.00420c3e
add esp, 4
push dword [esi + 0xc]
call fcn.00420c3e
add esp, 4
jmp 0x40cf3f
cmp ecx, 8
je 0x40d1f3
test al, al
jne 0x40d24c
jmp 0x40d1ee
mov edx, esi
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x20]
mov dword [esp + 0xc], edx
mov dword [esp + 0x24], edx
jmp 0x40cf91
or eax, 1
push 0x472caf
mov dword [0x4c33fc], eax
mov dword [0x4c3400], 0
mov dword [0x4c3408], 0
mov dword [0x4c340c], 1
call fcn.004225ea
add esp, 4
jmp 0x40bf90
push 0x4c3400
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 0x16
call fcn.0041f4d4
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov edx, dword [esi]
lea ecx, [esp + 0x1c]
lea eax, [edx + 1]
mov dword [esi], eax
mov eax, dword [edi + 4]
mov edx, dword [eax + edx*4]
call fcn.0041f536
mov ecx, dword [esp + 0x10]
push eax
push dword [edx]
call fcn.00402ec9
test eax, eax
jns 0x40c43a
jmp 0x47c40d
cmp dword [eax + 0xc], 4
jne 0x40d16a
jmp 0x47b62d
cmp dword [0x4c340c], 4
jne 0x40ced9
jmp 0x47c12f
push ecx
call fcn.0041b569
mov eax, dword [esp + 0xc]
mov dword [eax + 8], 0
jmp 0x40cee4
push 0x4c3400
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 0x16
call fcn.0041f4d4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x1c]
movsd xmm0, qword [eax]
movsd qword [esp + 0x48], xmm0
call fcn.0041f536
mov esi, eax
mov ecx, esi
call fcn.0040ee00
movsd xmm0, qword [esp + 0x48]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov dword [esi + 0xc], 3
movsd qword [esi], xmm0
mov esi, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
inc dword [esi]
jmp 0x40c078
or eax, 1
push str.CALL
lea ecx, [esp + 0x124]
mov dword [0x4c33f4], eax
call fcn.00408f82
mov ecx, dword [0x4c32ec]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
lea ecx, [esp + 0x120]
mov dword [0x4c33f8], eax
call fcn.00406e3b
jmp 0x40cb70
push 0x4c3400
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 0x16
call fcn.0041f4d4
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ecx, dword [esi]
mov edx, dword [edi + 4]
mov eax, dword [edx + ecx*4 + 4]
cmp word [eax + 8], 0x47
jne 0x47b9c0
lea eax, [esp + 0x7f]
push eax
lea ecx, [esp + 0x20]
call fcn.0041f536
push eax
push esi
push edi
mov edi, dword [esp + 0x20]
push 0
mov ecx, edi
call fcn.0040ff10
test eax, eax
js 0x40d67b
cmp dword [edi + 0xfc], 1
jne 0x40c43a
mov edi, dword [esp + 0x24]
mov dword [esp + 0xc], edi
jmp 0x47b7d3
xor ebx, ebx
mov dword [esp + 0x2c], ebx
jmp 0x40bfd5
xor esi, esi
jmp 0x40d341
mov esi, dword [edx + 0x10]
jmp 0x40cfaf
xor edx, edx
jmp 0x40d013
xor esi, esi
jmp 0x40cae5
mov eax, dword [eax + 0x10]
jmp 0x40cb2e
xor esi, esi
jmp 0x40cc80
mov eax, dword [eax + 0x38]
jmp 0x40cd64
mov eax, dword [eax + 0x38]
jmp 0x40cd78
mov eax, dword [eax + 0x38]
jmp 0x40cdca
xor esi, esi
jmp 0x40c99b
mov esi, dword [edx + 0x10]
jmp 0x40c4f7
xor esi, esi
jmp 0x40c884
mov eax, dword [eax + 0x10]
mov dword [esp + 0x64], eax
jmp 0x40c1b2
xor eax, eax
jmp 0x40c414
mov esi, dword [ebp + 0xc]
jmp 0x40c078
push dword [esp + 0x3c]
push 0x70
jmp 0x47c368
mov eax, dword [edx + ecx*4 - 4]
jmp 0x47c361
push dword [esp + 0x5c]
jmp 0x47c49b
push dword [esp + 0x5c]
push 0x6d
jmp 0x47c420
push dword [esp + 0x5c]
push 0x6e
jmp 0x47c420
mov byte [ebp - 0x3ef], 0x94
mov byte [ebp - 0x3ee], 0xb0
mov byte [ebp - 0x3ed], 0xf1
call fcn.0047a39e
sbb bh, bl
mov dword [0x4858d2b], eax
cld
add al, 0xfc
invalid
pop ds
in eax, dx
invalid
invalid
add byte [eax - 0x3337a73], al
invalid
call ebx
call fcn.0047a39e
dec esp
cli
das
les ecx, [ebp - 0x6db7b]
call dword [eax - 0x18]
mov ebp, esp
invalid
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0047a363
add esp, 0xc
mov dword [ebp - 0x6c8], eax
push 0
lea eax, [ebp - 0x6e0]
test dword [eax], esp
stc
invalid
call dword [eax - 1]
mov ch, 0x88
cld
invalid
invalid
push dword [ebp - 4]
push dword [ebp - 0x66c]
call dword [ebp - 0x6c8]
mov dword [ebp - 0x6cc], eax
push dword [ebp - 0x66c]
call dword [ebp - 0x680]
cmp dword [ebp - 0x6cc], 0
je 0x47c531
test dword [eax], esp
stc
invalid
push 5
mov eax, dword [ebp - 0x378]
mov ecx, dword [ebp - 4]
lea eax, [ecx + eax - 0x1d]
push eax
lea eax, [ebp - 0x394]
push eax
call fcn.0047a30f
add esp, 0xc
and dword [ebp - 0x700], 0
jmp 0x47b7ab
inc dword [ebx - 0x5a7cf33c]
add cl, bh
invalid
mov eax, dword [ebp - 0x700]
inc eax
mov dword [ebp - 0x700], eax
cmp dword [ebp - 0x700], 5
jge 0x47b7f4
add cl, bh
invalid
mov eax, dword [ebp - 0x700]
movsx eax, byte [ebp + eax - 0x394]
movsx ecx, byte [ebp - 0x24]
xor eax, ecx
mov ecx, dword [ebp - 0x700]
mov byte [ebp + ecx - 0x394], al
mov eax, dword [ebp - 0x700]
movsx eax, byte [ebp + eax - 0x394]
not eax
mov ecx, dword [ebp - 0x700]
mov byte [ebp + ecx - 0x394], al
jmp 0x47b79e
invalid
insb byte es:[edi], dx
cld
invalid
call fcn.0047a39e
out dx, eax
sti
insb byte es:[edi], dx
aam 0x80
movsd dword es:[edi], dword [esi]
aam 0xf8
invalid
add dh, al
test esi, edx
clc
invalid
clc
invalid
invalid
push dword [ebp - 0x3a8]
call fcn.0047a30f
add esp, 0xc
lea eax, [ebp - 0x718]
push eax
push dword [ebp - 0x718]
push 5
push dword [ebp - 0x3a8]
call dword [ebp - 0x6e4]
call fcn.0047a39e
shr dword [0xa583bd94], cl
add cl, bh
invalid
mov ch, 0xe8
clc
invalid
invalid
stc
invalid
cld
lea eax, [ecx + eax - 4]
push eax
lea eax, [ebp - 0x678]
push eax
call fcn.0047a30f
add esp, 0xc
movsx eax, byte [ebp - 8]
mov ecx, dword [ebp - 0x678]
sub ecx, eax
mov dword [ebp - 0x678], ecx
push 4
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x678]
push eax
lea eax, [ebp - 0x38c]
push eax
call fcn.0047a30f
add esp, 0xc
mov eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x678]
lea eax, [ecx + eax + 4]
mov dword [ebp - 0x3ac], eax
push 4
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x688]
push eax
call fcn.0047a30f
add esp, 0xc
mov eax, dword [ebp - 0x678]
mov ecx, dword [ebp - 4]
lea eax, [ecx + eax + 4]
mov dword [ebp - 0x748], eax
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [ebp - 4]
lea eax, [ecx + eax + 4]
mov dword [ebp - 0x6f8], eax
and dword [ebp - 0x700], 0
jmp 0x47baee
test dword [esp + edi*8 - 1], edx
dec dword [ebx + 0x448dfc4d]
add dword [ecx + ecx*4], eax
test dword [eax], ecx
stc
invalid
mov eax, dword [ebp - 0x700]
inc eax
mov dword [ebp - 0x700], eax
mov eax, dword [ebp - 0x700]
cmp eax, dword [ebp - 0x38c]
jae 0x47bb40
mov eax, dword [ebp - 0x748]
add eax, dword [ebp - 0x700]
movsx eax, byte [eax]
movsx ecx, byte [ebp - 8]
xor eax, ecx
mov ecx, dword [ebp - 0x748]
add ecx, dword [ebp - 0x700]
mov byte [ecx], al
mov eax, dword [ebp - 0x748]
add eax, dword [ebp - 0x700]
movsx eax, byte [eax]
not eax
mov ecx, dword [ebp - 0x748]
add ecx, dword [ebp - 0x700]
mov byte [ecx], al
jmp 0x47bae1
and dword [ebp - 0x700], 0
inc dword [eax]
jmp 0x47bb56
mov eax, dword [ebp - 0x700]
inc eax
mov dword [ebp - 0x700], eax
mov eax, dword [ebp - 0x700]
cmp eax, dword [ebp - 0x688]
jae 0x47bba8
test dword [eax], eax
stc
invalid
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x700]
movsx eax, byte [eax]
movsx ecx, byte [ebp - 8]
xor eax, ecx
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x700]
mov byte [ecx], al
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x700]
movsx eax, byte [eax]
not eax
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x700]
mov byte [ecx], al
jmp 0x47bb49
inc dword [ebx]
test dword [eax], eax
stc
invalid
and byte [ebp - 0x714], 0
and byte [ebp - 0x713], 0
mov byte [ebp - 0x712], 0x71
and byte [ebp - 0x711], 0
mov byte [ebp - 0x710], 0xc8
mov byte [ebp - 0x70f], 0xe2
mov byte [ebp - 0x70e], 0xe1
mov byte [ebp - 0x70d], 0xe1
mov byte [ebp - 0x70c], 0xea
mov byte [ebp - 0x70b], 0xc8
mov byte [ebp - 0x70a], 0xe7
mov byte [ebp - 0x709], 0xf6
mov byte [ebp - 0x708], 0xbc
mov byte [ebp - 0x707], 0x8e
call fcn.0047a39e
xor byte [ecx + edi*8], dh
pushfd
and byte [ebp - 0x744], 0
and byte [ebp - 0x743], 0
mov byte [ebp - 0x742], 2
and byte [ebp - 0x741], 0
mov byte [ebp - 0x740], 0xb1
mov byte [ebp - 0x73f], 0x92
mov byte [ebp - 0x73e], 0x9c
mov byte [ebp - 0x73d], 0x99
mov byte [ebp - 0x73c], 0xb1
mov byte [ebp - 0x73b], 0x94
mov byte [ebp - 0x73a], 0x9f
mov byte [ebp - 0x739], 0x8f
mov byte [ebp - 0x738], 0x9c
mov byte [ebp - 0x737], 0x8f
mov byte [ebp - 0x736], 0x84
mov byte [ebp - 0x735], 0xbc
mov byte [ebp - 0x734], 0xfd
lea eax, [ebp - 0x744]
push eax
call fcn.0047a3ae
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0047a363
add esp, 0xc
mov dword [ebp - 0x704], eax
and byte [ebp - 0x6f4], 0
and byte [ebp - 0x6f3], 0
inc dword [eax]
inc dword [eax]
mov byte [ebp - 0x6f2], 0x43
and byte [ebp - 0x6f1], 0
mov byte [ebp - 0x6f0], 0xeb
adc cl, bh
invalid
invalid
jmp 0x47bc96
test dword [ecx], edx
stc
invalid
dec esi
mov byte [ebp - 0x6ee], 0xd5
mov byte [ebp - 0x6ed], 0xc8
mov byte [ebp - 0x6ec], 0xd9
stc
invalid
invalid
fld st(6)
test dword [0xfafffff9], edx
mov byte [ebp - 0x6ea], 0xd5
mov byte [ebp - 0x6e9], 0xd0
mov byte [ebp - 0x6e8], 0xd9
mov byte [ebp - 0x6e7], 0xbc
call fcn.0047a39e
ficom word [ebp + ecx*8 - 0x29]
lea eax, [ebp - 0x6f4]
push eax
call fcn.0047a3ae
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0047a363
add esp, 0xc
mov dword [ebp - 0x730], eax
and dword [ebp - 0x6fc], 0
adc cl, bh
invalid
stc
invalid
push 1
pop eax
test eax, eax
je 0x47c444
invalid
add byte [ebp - 0x22f7b], cl
dec dword [ecx - 0x39f7b]
inc dword [ebx - 0x6fb43]
inc dword [eax]
lea eax, [ebp - 0x230]
mov dword [ebp - 0x3a0], eax
cmp dword [ebp - 0x6fc], 0
jne 0x47bf19
and byte [ebp - 0x77c], 0
and byte [ebp - 0x77b], 0
mov byte [ebp - 0x77a], 4
and byte [ebp - 0x779], 0
mov byte [ebp - 0x778], 0xb8
mov byte [ebp - 0x777], 0xc1
mov byte [ebp - 0x776], 0xa7
mov byte [ebp - 0x775], 0xab
mov byte [ebp - 0x774], 0x89
mov byte [ebp - 0x773], 0x94
mov byte [ebp - 0x772], 0x9c
mov byte [ebp - 0x771], 0x89
mov byte [ebp - 0x770], 0x9a
mov byte [ebp - 0x76f], 0x96
mov byte [ebp - 0x76e], 0xdb
mov byte [ebp - 0x76d], 0xbd
mov byte [ebp - 0x76c], 0x92
mov byte [ebp - 0x76b], 0x97
mov byte [ebp - 0x76a], 0x9e
mov byte [ebp - 0x769], 0x88
mov byte [ebp - 0x768], 0xa7
mov byte [ebp - 0x767], 0xb8
mov byte [ebp - 0x766], 0x94
mov byte [ebp - 0x765], 0x96
mov byte [ebp - 0x764], 0x96
mov byte [ebp - 0x763], 0x94
mov byte [ebp - 0x762], 0x95
mov byte [ebp - 0x761], 0xdb
mov byte [ebp - 0x760], 0xbd
mov byte [ebp - 0x75f], 0x92
mov byte [ebp - 0x75e], 0x97
mov byte [ebp - 0x75d], 0x9e
mov byte [ebp - 0x75c], 0x88
mov byte [ebp - 0x75b], 0xa7
mov byte [ebp - 0x75a], 0xa8
mov byte [ebp - 0x759], 0x82
mov byte [ebp - 0x758], 0x88
mov byte [ebp - 0x757], 0x8f
mov byte [ebp - 0x756], 0x9e
mov byte [ebp - 0x755], 0x96
mov byte [ebp - 0x754], 0xa7
mov byte [ebp - 0x753], 0x88
mov byte [ebp - 0x752], 0x82
mov byte [ebp - 0x751], 0x96
mov byte [ebp - 0x750], 0x88
mov byte [ebp - 0x74f], 0x89
mov byte [ebp - 0x74e], 0x8d
mov byte [ebp - 0x74d], 0xd5
mov byte [ebp - 0x74c], 0x9f
mov byte [ebp - 0x74b], 0x97
mov byte [ebp - 0x74a], 0x97
clc
invalid
test dword [esi - 0x68000008], esi
mov byte [ebp - 0x749], 0xfb
lea eax, [ebp - 0x77c]
push eax
call fcn.0047a3ae
pop ecx
mov al, byte [ebp - 0x12c]
mov byte [ebp - 0x778], al
push 0x30
lea eax, [ebp - 0x77c]
push eax
call fcn.0047a3ae
pop ecx
push eax
lea eax, [ebp - 0x504]
push eax
call fcn.0047a30f
add esp, 0xc
lea eax, [ebp - 0x504]
mov dword [ebp - 0x3a0], eax
jmp 0x47c316
cmp dword [ebp - 0x6fc], 1
jne 0x47bfca
and byte [ebp - 0x78c], 0
and byte [ebp - 0x78b], 0
mov byte [ebp - 0x78a], 0xa0
and byte [ebp - 0x789], 0
mov byte [ebp - 0x788], 3
mov byte [ebp - 0x787], 0x3b
mov byte [ebp - 0x786], 0x33
mov byte [ebp - 0x785], 0x3c
mov byte [ebp - 0x784], 0x30
mov byte [ebp - 0x783], 0x3a
mov byte [ebp - 0x782], 0x2d
mov byte [ebp - 0x781], 0x71
mov byte [ebp - 0x780], 0x3b
mov byte [ebp - 0x77f], 0x33
mov byte [ebp - 0x77e], 0x33
mov byte [ebp - 0x77d], 0x5f
push 0xc
lea eax, [ebp - 0x78c]
push eax
call fcn.0047a3ae
pop ecx
push eax
mov eax, dword [ebp - 0x28]
lea eax, [ebp + eax - 0x12c]
push eax
call fcn.0047a30f
add esp, 0xc
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x3a0], eax
jmp 0x47c316
invalid
aam 0xfe
invalid
dec dword [ecx - 0x39f7b]
invalid
cmp dword [ebp - 0x6fc], 2
jne 0x47c087
and byte [ebp - 0x79c], 0
and byte [ebp - 0x79b], 0
mov byte [ebp - 0x79a], 0x10
and byte [ebp - 0x799], 0
mov byte [ebp - 0x798], 0xb3
mov byte [ebp - 0x797], 0x8c
mov byte [ebp - 0x796], 0x80
mov byte [ebp - 0x795], 0x81
mov byte [ebp - 0x794], 0x9d
mov byte [ebp - 0x793], 0x8a
mov byte [ebp - 0x792], 0x9c
mov byte [ebp - 0x791], 0xc1
mov byte [ebp - 0x790], 0x8b
mov byte [ebp - 0x78f], 0x83
mov byte [ebp - 0x78e], 0x83
mov byte [ebp - 0x78d], 0xef
call fcn.0047a39e
mov dword [ebx], ebp
fcom qword [edi]
push 0xc
lea eax, [ebp - 0x79c]
push eax
call fcn.0047a3ae
pop ecx
push eax
mov eax, dword [ebp - 0x550]
lea eax, [ebp + eax - 0x654]
push eax
call fcn.0047a30f
add esp, 0xc
lea eax, [ebp - 0x654]
mov dword [ebp - 0x3a0], eax
jmp 0x47c316
invalid
cmp dword [ebp - 0x6fc], 3
jne 0x47c128
and byte [ebp - 0x7ac], 0
and byte [ebp - 0x7ab], 0
mov byte [ebp - 0x7aa], 0xed
and byte [ebp - 0x7a9], 0
mov byte [ebp - 0x7a8], 0x4e
mov byte [ebp - 0x7a7], 0x55
mov byte [ebp - 0x7a6], 0x56
mov byte [ebp - 0x7a5], 0x7e
mov byte [ebp - 0x7a4], 0x21
mov byte [ebp - 0x7a3], 0x20
mov byte [ebp - 0x7a2], 0x3c
mov byte [ebp - 0x7a1], 0x76
mov byte [ebp - 0x7a0], 0x7e
mov byte [ebp - 0x79f], 0x7e
mov byte [ebp - 0x79e], 0x12
push 0xb
lea eax, [ebp - 0x7ac]
push eax
call fcn.0047a3ae
pop ecx
push eax
mov eax, dword [ebp - 0x338]
lea eax, [ebp + eax - 0x230]
push eax
call fcn.0047a30f
add esp, 0xc
jmp 0x47c316
cmp dword [ebp - 0x6fc], 4
jne 0x47c1d2
and byte [ebp - 0x7bc], 0
and byte [ebp - 0x7bb], 0
mov byte [ebp - 0x7ba], 2
and byte [ebp - 0x7b9], 0
mov byte [ebp - 0x7b8], 0xa1
mov byte [ebp - 0x7b7], 0xb2
mov byte [ebp - 0x7b6], 0xb1
mov byte [ebp - 0x7b5], 0xb8
mov byte [ebp - 0x7b4], 0xcf
mov byte [ebp - 0x7b3], 0xce
mov byte [ebp - 0x7b2], 0xd3
mov byte [ebp - 0x7b1], 0x99
mov byte [ebp - 0x7b0], 0x91
mov byte [ebp - 0x7af], 0x91
mov byte [ebp - 0x7ae], 0xfd
call fcn.0047a39e
adc dword [esi + 0xb6a8b17], esi
lea eax, [ebp - 0x7bc]
push eax
call fcn.0047a3ae
pop ecx
push eax
mov eax, dword [ebp - 0x338]
lea eax, [ebp + eax - 0x230]
push eax
call fcn.0047a30f
add esp, 0xc
jmp 0x47c316
add dh, al
test dword [esi - 8], eax
invalid
cmp dword [ebp - 0x6fc], 5
jne 0x47c273
and byte [ebp - 0x7cc], 0
and byte [ebp - 0x7cb], 0
mov byte [ebp - 0x7ca], 0x3f
and byte [ebp - 0x7c9], 0
mov byte [ebp - 0x7c8], 0x9c
mov byte [ebp - 0x7c7], 0x90
mov byte [ebp - 0x7c6], 0x93
mov byte [ebp - 0x7c5], 0x81
mov byte [ebp - 0x7c4], 0x90
mov byte [ebp - 0x7c3], 0xac
clc
invalid
cmp eax, 0xacfffff8
mov byte [ebp - 0x7c2], 0xee
mov byte [ebp - 0x7c1], 0xa4
mov byte [ebp - 0x7c0], 0xac
mov byte [ebp - 0x7bf], 0xac
mov byte [ebp - 0x7be], 0xc0
push 0xb
lea eax, [ebp - 0x7cc]
push eax
call fcn.0047a3ae
pop ecx
push eax
mov eax, dword [ebp - 0x338]
lea eax, [ebp + eax - 0x230]
push eax
call fcn.0047a30f
add esp, 0xc
jmp 0x47c316
clc
invalid
xor al, 0xf8
invalid
test eax, ecx
cld
invalid
cmp dword [ebp - 0x6fc], 6
jne 0x47c311
and byte [ebp - 0x7dc], 0
and byte [ebp - 0x7db], 0
mov byte [ebp - 0x7da], 0x11
invalid
call dword [ecx]
and byte [ebp - 0x7d9], 0
mov byte [ebp - 0x7d8], 0xb2
mov byte [ebp - 0x7d7], 0x8b
mov byte [ebp - 0x7d6], 0x9c
mov byte [ebp - 0x7d5], 0x9c
mov byte [ebp - 0x7d4], 0x81
mov byte [ebp - 0x7d3], 0x9c
mov byte [ebp - 0x7d2], 0xc0
invalid
call [esi + eax*8 - 0x7d17b]
inc eax
mov byte [ebp - 0x7d1], 0x82
mov byte [ebp - 0x7d0], 0x81
mov byte [ebp - 0x7cf], 0x89
mov byte [ebp - 0x7ce], 0xee
push 0xb
lea eax, [ebp - 0x7dc]
push eax
call fcn.0047a3ae
pop ecx
push eax
mov eax, dword [ebp - 0x338]
clc
invalid
enter 0xfffffffffffffffc, 0xffffffffffffffff
lea eax, [ebp + eax - 0x230]
push eax
call fcn.0047a30f
add esp, 0xc
jmp 0x47c316
jmp 0x47c444
mov eax, dword [ebp - 0x6fc]
inc eax
mov dword [ebp - 0x6fc], eax
and dword [ebp - 0x37c], 0
call fcn.0047a39e
mov es, esi
cmc
test dword [ecx + edi*8], eax
invalid
pop ecx
push dword [ebp - 0x3a0]
call dword [ebp - 0x704]
mov dword [ebp - 0x3a4], eax
cmp dword [ebp - 0x3a4], 0
je 0x47c381
lea eax, [ebp - 0x714]
push eax
call fcn.0047a3ae
pop ecx
push eax
push dword [ebp - 0x3a4]
push dword [ebp + 0x14]
call fcn.0047a363
add esp, 0xc
mov dword [ebp - 0x37c], eax
cmp dword [ebp - 0x37c], 0
jne 0x47c381
invalid
invalid
invalid
invalid
jmp 0x47bd40
cmp dword [ebp - 0x37c], 0
inc dword [eax]
je 0x47c38f
jmp 0x47c444
push 0
push 0
push 2
push 0
push 2
push 0x40000000
push dword [ebp - 0x3a0]
call dword [ebp - 0x3c8]
mov dword [ebp - 0x380], eax
cmp dword [ebp - 0x380], 0xffffffff
je 0x47c3e8
push 0
lea eax, [ebp - 0x6c4]
push eax
push dword [ebp - 0x38c]
push dword [ebp - 0x748]
push dword [ebp - 0x380]
call dword [ebp - 0x730]
push dword [ebp - 0x380]
call dword [ebp - 0x680]
jmp 0x47c3ed
call dword [eax - 1]
mov ch, 0x74
cld
invalid
jmp 0x47bd40
and dword [ebp - 0x37c], 0
push dword [ebp - 0x3a0]
call dword [ebp - 0x704]
mov dword [ebp - 0x3a4], eax
cmp dword [ebp - 0x3a4], 0
je 0x47c434
lea eax, [ebp - 0x714]
push eax
call fcn.0047a3ae
pop ecx
push eax
push dword [ebp - 0x3a4]
push dword [ebp + 0x14]
call fcn.0047a363
add esp, 0xc
mov dword [ebp - 0x37c], eax
cld
invalid
cmp dword [ebp - 0x37c], 0
je 0x47c43f
jmp 0x47c444
jmp 0x47bd40
cmp dword [ebp - 0x37c], 0
jne 0x47c4ee
mov eax, dword [ebp - 0x748]
mov dword [ebp - 0x7ec], eax
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x7e8], eax
and dword [ebp - 0x7e0], 0
push 0x1000
push 8
push dword [ebp - 0x674]
call dword [ebp - 0x67c]
mov dword [ebp - 0x7e4], eax
push dword [ebp - 0x7e4]
lea eax, [ebp - 0x7ec]
push eax
push dword [ebp - 0x748]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0047a57a
add esp, 0x14
mov dword [ebp - 0x7e0], eax
cmp dword [ebp - 0x7e0], 0
je 0x47c4da
invalid
lea eax, [ebp - 0x714]
push eax
call fcn.0047a3ae
pop ecx
push eax
push dword [ebp - 0x7e0]
call fcn.0047a443
pop ecx
pop ecx
mov dword [ebp - 0x37c], eax
push dword [ebp - 0x7e4]
push 1
push dword [ebp - 0x674]
call dword [ebp - 0x39c]
push dword [ebp + 0x1c]
push dword [ebp - 0xc]
push dword [ebp - 0x540]
push dword [ebp - 0x684]
push dword [ebp - 0x688]
push dword [ebp - 0x3ac]
push dword [ebp - 0x400]
push dword [ebp - 0x54c]
push dword [ebp - 0x678]
lea eax, [ebp - 0x334]
push eax
push dword [ebp - 4]
push dword [ebp + 8]
call dword [ebp - 0x37c]
test ah, bh
invalid
pop edi
pop esi
pop ebx
leave
ret
add byte [ebx + 0x708b0c40], cl
sbb al, 0xad
cmp byte [eax + 0x1c], 0x18
je 0x47c562
xchg esi, eax
lodsd eax, dword [esi]
mov eax, dword [eax + 8]
push eax
call fcn.0047a39e
invalid
invalid
jmp case.0x40d403.8
invalid
add ebx, edi
call fcn.0047a39e
mov cl, 0x28
cmp bh, byte [ebp + 0x49]
dec ecx
mov esi, dword [ebx + ecx*4]
add esi, edi
mov eax, 0x50746547
cmp dword [esi], eax
push es
jne 0x47c58b
mov eax, 0x41636f72
cmp dword [esi + 4], eax
jne 0x47c58b
call fcn.0047a39e
pop es
jnp 0x47c52d
ror dword [ebx - 0x20fcdba6], 0x66
mov ecx, dword [ebx + ecx*2]
mov ebx, dword [edx + 0x1c]
add ebx, edi
mov eax, dword [ebx + ecx*4]
add eax, edi
push eax
call fcn.0047a39e
mov edi, 0xff28129c
jne 0x47c5d5
push dword [ebp + 4]
push dword [ebp]
call fcn.0047ab9e
add al, 0xe9
in eax, 0xff
inc dword [ecx + ebp*8]
test byte [edx], 0xf9
dec dword [ebx + 0xfc9850b]
mov ecx, dword [ebx]
test ecx, ecx
je case.0x40d403.6
push ecx
call fcn.0044b5a9
invalid
loope case.0x40d403.5
mov ecx, dword [ebx]
test ecx, ecx
je case.0x40d403.6
push ecx
call fcn.0044b5a9
jmp case.0x40d403.6
stc
dec dword [ebx + 0x2ff7e8cb]
mov ecx, ebx
call fcn.0041f5f1
mov ecx, ebx
call fcn.0041f5f1
jmp case.0x40d403.6
mov eax, dword [ebx]
push dword [eax + 4]
call fcn.00420c3e
add esp, 4
push dword [ebx]
call fcn.00420c3e
add esp, 4
jmp case.0x40d403.6
mov ecx, dword [ebx]
test ecx, ecx
je case.0x40d403.6
push ecx
call fcn.0043b025
jmp case.0x40d403.6
mov ecx, dword [ebx]
test ecx, ecx
je case.0x40d403.6
push ecx
call fcn.0043b04f
jmp case.0x40d403.6
mov ecx, dword [ebx]
test ecx, ecx
je case.0x40d403.6
push ecx
call fcn.0041b569
jmp case.0x40d403.6