Function at 0x41dcc0
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5c9bcf
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x18d4
call fcn.0054c4b0
mov eax, dword [0x63fbf0]
xor eax, esp
mov dword [esp + 0x18d0], eax
push ebx
push esi
push edi
mov eax, dword [0x63fbf0]
xor eax, esp
push eax
lea eax, [esp + 0x18e8]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, ecx
mov ecx, dword [0x64d974]
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], eax
call fcn.0043efa0
mov dword [esp + 0x18], eax
call fcn.0045590c
xor ecx, ecx
xor ebx, ebx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x41dd3d
push 0x80004005
call fcn.00406d40
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push 0x61c6b4
add edx, 0x55c
lea edi, [esi + 0x98]
push edx
mov dword [esp + 0x18f8], ebx
push edi
mov dword [ecx], ebx
mov dword [esp + 0x44], edi
call fcn.00545992
add esp, 0xc
cmp dword [edi], ebx
jne 0x41ddbf
mov eax, dword [esp + 0x1c]
mov dword [eax], 1
mov dword [esp + 0x18f0], 0xffffffff
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x425e85
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x425e85
mov ecx, dword [edi]
push ecx
push 1
add esi, 0x9c
push 4
push esi
call fcn.00547b0e
add esp, 0x10
cmp eax, ebx
jne 0x41de17
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x18f0], 0xffffffff
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov dword [edx], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x425e85
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x425e85
mov eax, dword [esi]
rol eax, 0xd
xor eax, 0x1bfedf72
mov dword [esi], eax
jne 0x41de53
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18f0], 0xffffffff
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov dword [ecx], 3
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x41ddaa
xor ecx, ecx
mov edx, 0x2c
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0044517c
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [ecx + 0xa0], eax
cmp eax, ebx
jne 0x41de89
mov eax, dword [esp + 0x1c]
mov dword [eax], 5
jmp 0x41dd8b
mov ecx, dword [edi]
mov edx, dword [esi]
push ecx
push edx
push 0x2c
push eax
call fcn.00547b0e
mov edi, dword [esi]
add esp, 0x10
cmp eax, edi
je 0x41deaf
mov eax, dword [esp + 0x1c]
mov dword [eax], 2
jmp 0x425e7c
mov ecx, dword [0x64d978]
call fcn.0043efa0
imul edi, edi, 0x2c
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xa0]
push eax
push edi
push edx
call fcn.0043de20
add esp, 0xc
test eax, eax
jne 0x41dee5
mov eax, dword [esp + 0x1c]
mov dword [eax], 4
jmp 0x425e7c
mov esi, dword [esi]
xor edx, edx
xor edi, edi
cmp esi, ebx
jbe 0x41df17
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xa0]
add eax, 0x24
lea esp, [esp]
mov ecx, dword [eax + 4]
cmp ecx, edx
jbe 0x41df09
mov edx, ecx
mov ecx, dword [eax]
cmp ecx, edi
jbe 0x41df11
mov edi, ecx
add eax, 0x2c
dec esi
jne 0x41df00
push edx
call fcn.0044517c
add esp, 4
mov dword [0x64d98c], eax
cmp edi, 0x8400
jae 0x41df32
mov edi, 0x8400
push edi
call fcn.0044517c
add esp, 4
lea edx, [esp + 0x162c]
mov dword [0x64db98], eax
mov eax, dword [esp + 0x14]
push edx
push eax
mov dword [esp + 0x1634], 0x742e6975
mov word [esp + 0x1638], 0x7478
mov byte [esp + 0x163a], bl
call fcn.00425f90
mov esi, eax
cmp esi, ebx
jne 0x41df83
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 6
jmp 0x425e7c
mov edx, dword [esi + 0x20]
mov edi, dword [esp + 0x38]
mov eax, dword [edi]
push ebx
push edx
push eax
call fcn.0054764f
mov ecx, dword [edi]
mov edx, dword [esi + 0x28]
mov eax, dword [0x64d98c]
add esp, 0xc
push ecx
push 1
push edx
push eax
call fcn.00547b0e
mov edx, dword [0x64db98]
push ebx
lea ecx, [esp + 0x54]
push ecx
mov ecx, dword [0x64d98c]
mov dword [esp + 0x58], ebx
mov eax, dword [esi + 0x28]
push edx
push eax
push ecx
call fcn.005bcaa0
add esp, 0x24
cmp eax, ebx
jne 0x425e72
mov eax, dword [esp + 0x40]
cmp eax, dword [esi + 0x24]
jne 0x425e72
mov edx, dword [0x64db98]
mov byte [eax + edx], bl
mov edx, dword [0x64db98]
lea edi, [esp + 0x64]
call fcn.004367a0
push 0xdc8
mov byte [esp + 0x18f4], 1
call fcn.00445142
mov ecx, dword [esp + 0x18]
add esp, 4
push 0xdc8
push ebx
push eax
mov dword [ecx + 0xa4], eax
call fcn.0054b8b0
add esp, 0xc
lea edx, [esp + 0x16cc]
lea edi, [esp + 0x152c]
mov dword [esp + 0x15d8], 0x4d4f433c
mov dword [esp + 0x15dc], 0x3e4e4f4d
mov byte [esp + 0x15e0], bl
mov dword [esp + 0x16cc], 0x4352543c
mov dword [esp + 0x16d0], 0x524f4c4f
mov word [esp + 0x16d4], 0x3e
call fcn.004367a0
lea edx, [esp + 0x15d8]
lea edi, [esp + 0x14f4]
mov byte [esp + 0x18f0], 2
call fcn.004367a0
lea edx, [esp + 0x152c]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x6c]
mov edx, edi
mov byte [esp + 0x18f8], 3
call fcn.00426890
mov esi, edi
call fcn.004367d0
lea esi, [esp + 0x152c]
mov byte [esp + 0x18f0], 6
call fcn.004367d0
cmp dword [esp + 0x58], ebx
je 0x41e1ea
mov edx, 0x61c14c
lea edi, [esp + 0x1564]
call fcn.004367a0
mov ecx, edi
push ecx
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 7
call fcn.0043f480
add esp, 8
mov esi, edi
mov byte [esp + 0x18f0], 6
call fcn.004367d0
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
mov dword [esp + 0x30], ebx
cmp esi, ebx
jle 0x41e1bc
nop
mov eax, dword [esp + 0x30]
sub eax, ebx
je 0x41e18e
dec eax
je 0x41e16e
dec eax
jne 0x41e1af
cmp dword [edi + 0x4c], 0x10
lea eax, [edi + 0x38]
jb 0x41e159
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 8], eax
jmp 0x41e1ac
cmp dword [edi + 0x30], 0x10
lea eax, [edi + 0x1c]
jb 0x41e179
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 4], eax
jmp 0x41e1ac
cmp dword [edi + 0x14], 0x10
jb 0x41e198
mov eax, dword [edi]
jmp 0x41e19a
mov eax, edi
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx], eax
add esp, 4
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, esi
jl 0x41e140
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xa4]
movzx ecx, byte [eax + 8]
movzx edx, byte [eax + 4]
movzx eax, byte [eax]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
lea esi, [esp + 0x20]
mov dword [0x64dbac], ecx
call fcn.00436fb0
lea edx, [esp + 0x17f0]
lea edi, [esp + 0x1548]
mov dword [esp + 0x17f0], 0x4450553c
mov dword [esp + 0x17f4], 0x5f455441
mov dword [esp + 0x17f8], 0x54495845
mov dword [esp + 0x17fc], 0x4e54425f
mov word [esp + 0x1800], 0x3e
call fcn.004367a0
lea edx, [esp + 0x15d8]
lea edi, [esp + 0x1580]
mov byte [esp + 0x18f0], 8
call fcn.004367a0
lea ecx, [esp + 0x1548]
push ecx
lea edx, [esp + 0x15a0]
push edx
lea ecx, [esp + 0x6c]
mov edx, edi
mov byte [esp + 0x18f8], 9
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0xa
call fcn.00436fe0
lea esi, [esp + 0x159c]
call fcn.004367d0
lea esi, [esp + 0x1580]
call fcn.004367d0
lea esi, [esp + 0x1548]
mov byte [esp + 0x18f0], 6
call fcn.004367d0
cmp dword [esp + 0x58], ebx
je 0x41e49b
mov edx, 0x61c14c
lea edi, [esp + 0x14d8]
call fcn.004367a0
mov eax, edi
push eax
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0xb
call fcn.0043f480
add esp, 8
mov esi, edi
call fcn.004367d0
mov dword [esp + 0x104], 0xf
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
mov byte [esp + 0x18f0], 0xe
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x20]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
cmp eax, ebx
jle 0x41e46e
lea ebx, [ebx]
cmp dword [esp + 0x1c], 3
ja case.default.0x41e34f
mov edx, dword [esp + 0x1c]
jmp dword [edx*4 + 0x425eb0]
mov edx, 0x61c6bc
lea edi, [esp + 0x14bc]
call fcn.004367a0
mov byte [esp + 0x18f0], 0xf
mov ecx, dword [esp + 0x20]
mov eax, edi
call fcn.0043f650
push ebx
push eax
or ecx, 0xffffffff
lea edi, [esp + 0xf8]
call fcn.00437050
lea esi, [esp + 0x14bc]
mov byte [esp + 0x18f0], 0xe
call fcn.004367d0
cmp dword [esp + 0x104], 0x10
mov eax, dword [esp + 0xf0]
jae 0x41e3b2
mov eax, edi
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xa4]
push eax
mov eax, dword [esp + 0x104]
inc eax
push eax
add edx, 0x10
push edx
call fcn.00547e61
add esp, 0xc
jmp case.default.0x41e34f
mov eax, dword [esp + 0x20]
add eax, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x41e3e3
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0xc], eax
jmp 0x41e43e
mov eax, dword [esp + 0x20]
add eax, 0x38
cmp dword [eax + 0x14], 0x10
jb 0x41e407
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0x30], eax
jmp 0x41e43e
mov eax, dword [esp + 0x20]
add eax, 0x54
cmp dword [eax + 0x14], 0x10
jb 0x41e42b
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0x34], eax
add esp, 4
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x18]
jl 0x41e340
cmp dword [esp + 0x104], 0x10
jb 0x41e46e
mov eax, dword [esp + 0xf0]
push eax
call fcn.00445171
add esp, 4
mov edi, 0xf
lea esi, [esp + 0x20]
mov dword [esp + 0x104], edi
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
mov byte [esp + 0x18f0], 6
call fcn.00436fb0
jmp 0x41e4a0
mov edi, 0xf
lea eax, [esp + 0x16ec]
mov dword [esp + 0x16ec], 0x4450553c
mov dword [esp + 0x16f0], 0x5f455441
mov dword [esp + 0x16f4], 0x5f534f50
mov dword [esp + 0x16f8], 0x5346464f
mov dword [esp + 0x16fc], 0x3e5445
mov dword [esp + 0x83c], edi
mov dword [esp + 0x838], ebx
mov byte [esp + 0x828], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41e4f6
sub eax, esi
lea ecx, [esp + 0x16ec]
mov esi, eax
push ecx
lea eax, [esp + 0x82c]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x10
lea eax, [esp + 0x15d8]
mov dword [esp + 0xc2c], edi
mov dword [esp + 0xc28], ebx
mov byte [esp + 0xc18], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41e540
sub eax, edx
lea edx, [esp + 0x15d8]
mov esi, eax
push edx
lea eax, [esp + 0xc1c]
call fcn.004375a0
lea eax, [esp + 0x828]
push eax
lea ecx, [esp + 0x12c8]
push ecx
lea ecx, [esp + 0x6c]
lea edx, [esp + 0xc20]
mov byte [esp + 0x18f8], 0x11
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x12
call fcn.00436fe0
cmp dword [esp + 0x12d8], 0x10
jb 0x41e5b4
mov edx, dword [esp + 0x12c4]
push edx
call fcn.00445171
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x12d8], esi
mov dword [esp + 0x12d4], ebx
mov byte [esp + 0x12c4], bl
cmp dword [esp + 0xc2c], edi
jb 0x41e5ec
mov eax, dword [esp + 0xc18]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0xc2c], esi
mov dword [esp + 0xc28], ebx
mov byte [esp + 0xc18], bl
cmp dword [esp + 0x83c], edi
jb 0x41e622
mov ecx, dword [esp + 0x828]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0x83c], esi
mov dword [esp + 0x838], ebx
mov byte [esp + 0x828], bl
cmp dword [esp + 0x58], ebx
je 0x41e714
mov edx, 0x61c14c
lea edi, [esp + 0x1510]
call fcn.004367a0
mov edx, edi
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x13
call fcn.0043f480
add esp, 8
mov esi, edi
mov byte [esp + 0x18f0], 6
call fcn.004367d0
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
mov dword [esp + 0x30], ebx
cmp edi, ebx
jle 0x41e6fc
mov eax, dword [esp + 0x30]
sub eax, ebx
je 0x41e6cd
dec eax
jne 0x41e6ef
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x41e6b8
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0x68], eax
jmp 0x41e6ec
cmp dword [esi + 0x14], 0x10
jb 0x41e6d7
mov eax, dword [esi]
jmp 0x41e6d9
mov eax, esi
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0x64], eax
add esp, 4
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, edi
jl 0x41e6a2
cmp esi, ebx
je 0x41e714
mov edi, dword [esp + 0x24]
mov eax, esi
call fcn.00437bd0
push esi
call fcn.00445171
add esp, 4
lea eax, [esp + 0x16a4]
mov dword [esp + 0x16a4], 0x5245533c
mov dword [esp + 0x16a8], 0x5f524556
mov dword [esp + 0x16ac], 0x54495845
mov dword [esp + 0x16b0], 0x4e54425f
mov word [esp + 0x16b4], 0x3e
mov dword [esp + 0x430], 0xf
mov dword [esp + 0x42c], ebx
mov byte [esp + 0x41c], bl
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41e770
sub eax, esi
lea ecx, [esp + 0x16a4]
mov esi, eax
push ecx
lea eax, [esp + 0x420]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x14
lea eax, [esp + 0x15d8]
mov dword [esp + 0x820], 0xf
mov dword [esp + 0x81c], ebx
mov byte [esp + 0x80c], bl
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41e7c0
sub eax, edx
lea edx, [esp + 0x15d8]
mov esi, eax
push edx
lea eax, [esp + 0x810]
call fcn.004375a0
lea eax, [esp + 0x41c]
push eax
lea ecx, [esp + 0x1108]
push ecx
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x814]
mov byte [esp + 0x18f8], 0x15
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x16
call fcn.00436fe0
cmp dword [esp + 0x1118], 0x10
jb 0x41e834
mov edx, dword [esp + 0x1104]
push edx
call fcn.00445171
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x1118], esi
mov dword [esp + 0x1114], ebx
mov byte [esp + 0x1104], bl
cmp dword [esp + 0x820], edi
jb 0x41e86c
mov eax, dword [esp + 0x80c]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x820], esi
mov dword [esp + 0x81c], ebx
mov byte [esp + 0x80c], bl
cmp dword [esp + 0x430], edi
jb 0x41e8a2
mov ecx, dword [esp + 0x41c]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0x430], esi
mov dword [esp + 0x42c], ebx
mov byte [esp + 0x41c], bl
cmp dword [esp + 0x58], ebx
je 0x41eb18
mov edi, esi
push 0x61c14c
mov esi, 1
lea eax, [esp + 0xb20]
mov dword [esp + 0xb34], edi
mov dword [esp + 0xb30], ebx
mov byte [esp + 0xb20], bl
call fcn.004375a0
lea edx, [esp + 0xb1c]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x17
call fcn.0043f480
add esp, 8
cmp dword [esp + 0xb30], 0x10
jb 0x41e929
mov ecx, dword [esp + 0xb1c]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0xb30], edi
mov dword [esp + 0xb2c], ebx
mov byte [esp + 0xb1c], bl
mov dword [esp + 0x28c], edi
mov dword [esp + 0x288], ebx
mov byte [esp + 0x278], bl
mov byte [esp + 0x18f0], 0x1a
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
cmp eax, ebx
jle 0x41eadf
jmp 0x41e990
cmp dword [esp + 0x1c], 3
ja case.default.0x41e99f
mov edx, dword [esp + 0x1c]
jmp dword [edx*4 + 0x425ec0]
mov edx, 0x61c6bc
lea edi, [esp + 0xe80]
call fcn.004367a0
mov eax, edi
mov ecx, esi
mov byte [esp + 0x18f0], 0x1b
call fcn.0043f650
push ebx
push eax
or ecx, 0xffffffff
lea edi, [esp + 0x280]
call fcn.00437050
mov edi, 0x10
mov byte [esp + 0x18f0], 0x1a
cmp dword [esp + 0xe94], edi
jb 0x41e9ff
mov eax, dword [esp + 0xe80]
push eax
call fcn.00445171
add esp, 4
mov eax, dword [esp + 0x278]
mov dword [esp + 0xe94], 0xf
mov dword [esp + 0xe90], ebx
mov byte [esp + 0xe80], bl
cmp dword [esp + 0x28c], edi
jae 0x41ea2f
lea eax, [esp + 0x278]
mov ecx, dword [esp + 0x288]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [edx + 0xa4]
inc ecx
push ecx
add eax, 0x3c
push eax
call fcn.00547e61
add esp, 0xc
jmp case.default.0x41e99f
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x41ea5c
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0x38], eax
jmp 0x41eaaf
cmp dword [esi + 0x4c], 0x10
lea eax, [esi + 0x38]
jb 0x41ea7c
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0x5c], eax
jmp 0x41eaaf
cmp dword [esi + 0x68], 0x10
lea eax, [esi + 0x54]
jb 0x41ea9c
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0x60], eax
add esp, 4
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x18]
jl 0x41e990
cmp dword [esp + 0x28c], 0x10
jb 0x41eadf
mov eax, dword [esp + 0x278]
push eax
call fcn.00445171
add esp, 4
mov dword [esp + 0x28c], 0xf
mov dword [esp + 0x288], ebx
mov byte [esp + 0x278], bl
mov byte [esp + 0x18f0], 6
cmp esi, ebx
je 0x41eb18
mov edi, dword [esp + 0x24]
mov eax, esi
call fcn.00437bd0
push esi
call fcn.00445171
add esp, 4
lea eax, [esp + 0x16b8]
mov dword [esp + 0x16b8], 0x5245533c
mov dword [esp + 0x16bc], 0x5f524556
mov dword [esp + 0x16c0], 0x5f534f50
mov dword [esp + 0x16c4], 0x5346464f
mov dword [esp + 0x16c8], 0x3e5445
mov dword [esp + 0x858], 0xf
mov dword [esp + 0x854], ebx
mov byte [esp + 0x844], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41eb72
sub eax, esi
lea ecx, [esp + 0x16b8]
mov esi, eax
push ecx
lea eax, [esp + 0x848]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x1c
lea eax, [esp + 0x15d8]
mov dword [esp + 0x468], 0xf
mov dword [esp + 0x464], ebx
mov byte [esp + 0x454], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41ebc0
sub eax, edx
lea edx, [esp + 0x15d8]
mov esi, eax
push edx
lea eax, [esp + 0x458]
call fcn.004375a0
lea eax, [esp + 0x844]
push eax
lea ecx, [esp + 0x1488]
push ecx
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x45c]
mov byte [esp + 0x18f8], 0x1d
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x1e
call fcn.00436fe0
cmp dword [esp + 0x1498], 0x10
jb 0x41ec34
mov edx, dword [esp + 0x1484]
push edx
call fcn.00445171
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x1498], edi
mov dword [esp + 0x1494], ebx
mov byte [esp + 0x1484], bl
cmp dword [esp + 0x468], esi
jb 0x41ec6c
mov eax, dword [esp + 0x454]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x468], edi
mov dword [esp + 0x464], ebx
mov byte [esp + 0x454], bl
cmp dword [esp + 0x858], esi
jb 0x41eca2
mov ecx, dword [esp + 0x844]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0x858], edi
mov dword [esp + 0x854], ebx
mov byte [esp + 0x844], bl
cmp dword [esp + 0x58], ebx
je 0x41ede7
push 0x61c14c
mov esi, 1
lea eax, [esp + 0x490]
mov dword [esp + 0x4a4], edi
mov dword [esp + 0x4a0], ebx
mov byte [esp + 0x490], bl
call fcn.004375a0
lea edx, [esp + 0x48c]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x1f
call fcn.0043f480
add esp, 8
mov byte [esp + 0x18f0], 6
cmp dword [esp + 0x4a0], 0x10
jb 0x41ed2f
mov ecx, dword [esp + 0x48c]
push ecx
call fcn.00445171
add esp, 4
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov dword [esp + 0x4a0], edi
mov edi, edx
shr edi, 0x1f
add edi, edx
mov dword [esp + 0x49c], ebx
mov byte [esp + 0x48c], bl
mov dword [esp + 0x30], ebx
cmp edi, ebx
jle 0x41edca
lea esp, [esp]
mov eax, dword [esp + 0x30]
sub eax, ebx
je 0x41ed9b
dec eax
jne 0x41edbd
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x41ed86
mov eax, dword [eax]
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
mov dword [ecx + 0x70], eax
jmp 0x41edba
cmp dword [esi + 0x14], 0x10
jb 0x41eda5
mov eax, dword [esi]
jmp 0x41eda7
mov eax, esi
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
mov dword [ecx + 0x6c], eax
add esp, 4
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, edi
jl 0x41ed70
cmp esi, ebx
je 0x41ede2
mov edi, dword [esp + 0x24]
mov eax, esi
call fcn.00437bd0
push esi
call fcn.00445171
add esp, 4
mov edi, 0xf
lea eax, [esp + 0x15e4]
mov dword [esp + 0x15c8], 0x4450553c
mov dword [esp + 0x15cc], 0x5f455441
mov dword [esp + 0x15d0], 0x3e4e4957
mov byte [esp + 0x15d4], bl
mov dword [esp + 0x15e4], 0x3e47423c
mov byte [esp + 0x15e8], bl
mov dword [esp + 0x4d8], edi
mov dword [esp + 0x4d4], ebx
mov byte [esp + 0x4c4], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41ee40
sub eax, esi
lea edx, [esp + 0x15e4]
mov esi, eax
push edx
lea eax, [esp + 0x4c8]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x20
lea eax, [esp + 0x15c8]
mov dword [esp + 0xa50], edi
mov dword [esp + 0xa4c], ebx
mov byte [esp + 0xa3c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41ee86
sub eax, edx
lea ecx, [esp + 0x15c8]
mov esi, eax
push ecx
lea eax, [esp + 0xa40]
call fcn.004375a0
lea edx, [esp + 0x4c4]
push edx
lea eax, [esp + 0x1140]
push eax
lea ecx, [esp + 0x6c]
lea edx, [esp + 0xa44]
mov byte [esp + 0x18f8], 0x21
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x22
call fcn.00436fe0
cmp dword [esp + 0x1150], 0x10
jb 0x41eefa
mov ecx, dword [esp + 0x113c]
push ecx
call fcn.00445171
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x1150], edi
mov dword [esp + 0x114c], ebx
mov byte [esp + 0x113c], bl
cmp dword [esp + 0xa50], esi
jb 0x41ef32
mov edx, dword [esp + 0xa3c]
push edx
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0xa50], edi
mov dword [esp + 0xa4c], ebx
mov byte [esp + 0xa3c], bl
cmp dword [esp + 0x4d8], esi
jb 0x41ef68
mov eax, dword [esp + 0x4c4]
push eax
call fcn.00445171
add esp, 4
mov dword [esp + 0x4d8], edi
mov dword [esp + 0x4d4], ebx
mov byte [esp + 0x4c4], bl
cmp dword [esp + 0x58], ebx
je 0x41f096
push 0x61c6bc
mov esi, 1
lea eax, [esp + 0x880]
mov dword [esp + 0x894], edi
mov dword [esp + 0x890], ebx
mov byte [esp + 0x880], bl
call fcn.004375a0
lea eax, [esp + 0x87c]
lea ecx, [esp + 0x48]
mov byte [esp + 0x18f0], 0x23
call fcn.0043f650
push ebx
mov dword [esp + 0xb4], edi
push eax
or ecx, 0xffffffff
lea edi, [esp + 0xa4]
mov dword [esp + 0xb4], ebx
mov byte [esp + 0xa4], bl
call fcn.00437050
mov byte [esp + 0x18f0], 6
cmp dword [esp + 0x890], 0x10
jb 0x41f012
mov ecx, dword [esp + 0x87c]
push ecx
call fcn.00445171
add esp, 4
mov eax, dword [esp + 0x9c]
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x890], edi
mov dword [esp + 0x88c], ebx
mov byte [esp + 0x87c], bl
cmp dword [esp + 0xb0], esi
jae 0x41f048
lea eax, [esp + 0x9c]
mov edx, dword [esp + 0xac]
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xa4]
inc edx
push edx
add ecx, 0x74
push ecx
call fcn.00547e61
add esp, 0xc
cmp dword [esp + 0xb0], esi
jb 0x41f081
mov edx, dword [esp + 0x9c]
push edx
call fcn.00445171
add esp, 4
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
lea eax, [esp + 0x1610]
mov dword [esp + 0x1610], 0x4154533c
mov dword [esp + 0x1614], 0x425f5452
mov dword [esp + 0x1618], 0x3e4e54
mov dword [esp + 0xc10], edi
mov dword [esp + 0xc0c], ebx
mov byte [esp + 0xbfc], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41f0d6
sub eax, esi
lea ecx, [esp + 0x1610]
mov esi, eax
push ecx
lea eax, [esp + 0xc00]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x24
lea eax, [esp + 0x15c8]
mov dword [esp + 0x510], edi
mov dword [esp + 0x50c], ebx
mov byte [esp + 0x4fc], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41f120
sub eax, edx
lea edx, [esp + 0x15c8]
mov esi, eax
push edx
lea eax, [esp + 0x500]
call fcn.004375a0
lea eax, [esp + 0xbfc]
push eax
lea ecx, [esp + 0x1300]
push ecx
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x504]
mov byte [esp + 0x18f8], 0x25
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x26
call fcn.00436fe0
cmp dword [esp + 0x1310], 0x10
jb 0x41f194
mov edx, dword [esp + 0x12fc]
push edx
call fcn.00445171
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x1310], esi
mov dword [esp + 0x130c], ebx
mov byte [esp + 0x12fc], bl
cmp dword [esp + 0x510], edi
jb 0x41f1cc
mov eax, dword [esp + 0x4fc]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x510], esi
mov dword [esp + 0x50c], ebx
mov byte [esp + 0x4fc], bl
cmp dword [esp + 0xc10], edi
jb 0x41f202
mov ecx, dword [esp + 0xbfc]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0xc10], esi
mov dword [esp + 0xc0c], ebx
mov byte [esp + 0xbfc], bl
cmp dword [esp + 0x58], ebx
je 0x41f4f0
mov edi, esi
push 0x61c14c
mov esi, 1
lea eax, [esp + 0x538]
mov dword [esp + 0x54c], edi
mov dword [esp + 0x548], ebx
mov byte [esp + 0x538], bl
call fcn.004375a0
lea edx, [esp + 0x534]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x27
call fcn.0043f480
add esp, 8
cmp dword [esp + 0x548], 0x10
jb 0x41f289
mov ecx, dword [esp + 0x534]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0x548], edi
mov dword [esp + 0x544], ebx
mov byte [esp + 0x534], bl
mov dword [esp + 0x1e4], edi
mov dword [esp + 0x1e0], ebx
mov byte [esp + 0x1d0], bl
mov byte [esp + 0x18f0], 0x2a
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x20]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
cmp eax, ebx
jle 0x41f478
jmp 0x41f2f0
cmp dword [esp + 0x1c], 3
ja case.default.0x41f2ff
mov edx, dword [esp + 0x1c]
jmp dword [edx*4 + 0x425ed0]
push 0x61c6bc
mov esi, 1
lea eax, [esp + 0x8b8]
mov dword [esp + 0x8cc], 0xf
mov dword [esp + 0x8c8], ebx
mov byte [esp + 0x8b8], bl
call fcn.004375a0
mov byte [esp + 0x18f0], 0x2b
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x8b4]
call fcn.0043f650
push ebx
push eax
or ecx, 0xffffffff
lea edi, [esp + 0x1d8]
call fcn.00437050
mov byte [esp + 0x18f0], 0x2a
cmp dword [esp + 0x8c8], 0x10
jb 0x41f380
mov eax, dword [esp + 0x8b4]
push eax
call fcn.00445171
add esp, 4
cmp dword [esp + 0x1e4], 0x10
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x8c8], 0xf
mov dword [esp + 0x8c4], ebx
mov byte [esp + 0x8b4], bl
jae 0x41f3b1
lea eax, [esp + 0x1d0]
mov ecx, dword [esp + 0x1e0]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [edx + 0xa4]
inc ecx
push ecx
add eax, 0x98
push eax
call fcn.00547e61
add esp, 0xc
jmp case.default.0x41f2ff
mov eax, dword [esp + 0x20]
add eax, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x41f3e4
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0x94], eax
jmp 0x41f448
mov eax, dword [esp + 0x20]
add eax, 0x38
cmp dword [eax + 0x14], 0x10
jb 0x41f40b
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0xb8], eax
jmp 0x41f448
mov eax, dword [esp + 0x20]
add eax, 0x54
cmp dword [eax + 0x14], 0x10
jb 0x41f432
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0xbc], eax
add esp, 4
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x18]
jl 0x41f2f0
cmp dword [esp + 0x1e4], 0x10
jb 0x41f478
mov eax, dword [esp + 0x1d0]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov esi, dword [esp + 0x20]
mov dword [esp + 0x1e4], 0xf
mov dword [esp + 0x1e0], ebx
mov byte [esp + 0x1d0], bl
cmp esi, ebx
je 0x41f4f0
mov edi, dword [esp + 0x24]
cmp esi, edi
je 0x41f4e3
mov ecx, 0x10
mov edi, edi
cmp dword [esi + 0x14], ecx
jb 0x41f4c5
mov eax, dword [esi]
push eax
call fcn.00445171
add esp, 4
mov ecx, 0x10
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
cmp dword [esi + 0x14], ecx
jb 0x41f4d8
mov eax, dword [esi]
jmp 0x41f4da
mov eax, esi
add esi, 0x1c
mov byte [eax], bl
cmp esi, edi
jne 0x41f4b0
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00445171
add esp, 4
mov edi, 0xf
lea eax, [esp + 0x161c]
mov dword [esp + 0x161c], 0x4e41433c
mov dword [esp + 0x1620], 0x5f4c4543
mov dword [esp + 0x1624], 0x3e4e5442
mov byte [esp + 0x1628], bl
mov dword [esp + 0xa88], edi
mov dword [esp + 0xa84], ebx
mov byte [esp + 0xa74], bl
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41f540
sub eax, esi
lea edx, [esp + 0x161c]
mov esi, eax
push edx
lea eax, [esp + 0xa78]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x2c
lea eax, [esp + 0x15c8]
mov dword [esp + 0x580], edi
mov dword [esp + 0x57c], ebx
mov byte [esp + 0x56c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41f586
sub eax, edx
lea ecx, [esp + 0x15c8]
mov esi, eax
push ecx
lea eax, [esp + 0x570]
call fcn.004375a0
lea edx, [esp + 0xa74]
push edx
lea eax, [esp + 0x1178]
push eax
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x574]
mov byte [esp + 0x18f8], 0x2d
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x2e
call fcn.00436fe0
cmp dword [esp + 0x1188], 0x10
jb 0x41f5fa
mov ecx, dword [esp + 0x1174]
push ecx
call fcn.00445171
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x1188], esi
mov dword [esp + 0x1184], ebx
mov byte [esp + 0x1174], bl
cmp dword [esp + 0x580], edi
jb 0x41f632
mov edx, dword [esp + 0x56c]
push edx
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x580], esi
mov dword [esp + 0x57c], ebx
mov byte [esp + 0x56c], bl
cmp dword [esp + 0xa88], edi
jb 0x41f668
mov eax, dword [esp + 0xa74]
push eax
call fcn.00445171
add esp, 4
mov dword [esp + 0xa88], esi
mov dword [esp + 0xa84], ebx
mov byte [esp + 0xa74], bl
cmp dword [esp + 0x58], ebx
je 0x41f950
mov edi, esi
push 0x61c14c
mov esi, 1
lea eax, [esp + 0x5a8]
mov dword [esp + 0x5bc], edi
mov dword [esp + 0x5b8], ebx
mov byte [esp + 0x5a8], bl
call fcn.004375a0
lea ecx, [esp + 0x5a4]
push ecx
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x2f
call fcn.0043f480
add esp, 8
cmp dword [esp + 0x5b8], 0x10
jb 0x41f6ef
mov eax, dword [esp + 0x5a4]
push eax
call fcn.00445171
add esp, 4
mov dword [esp + 0x5b8], edi
mov dword [esp + 0x5b4], ebx
mov byte [esp + 0x5a4], bl
mov dword [esp + 0x13c], edi
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
mov byte [esp + 0x18f0], 0x32
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x20]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
cmp eax, ebx
jle 0x41f8d9
lea esp, [esp]
cmp dword [esp + 0x1c], 3
ja case.default.0x41f75f
mov ecx, dword [esp + 0x1c]
jmp dword [ecx*4 + 0x425ee0]
push 0x61c6bc
mov esi, 1
lea eax, [esp + 0x8f0]
mov dword [esp + 0x904], 0xf
mov dword [esp + 0x900], ebx
mov byte [esp + 0x8f0], bl
call fcn.004375a0
mov byte [esp + 0x18f0], 0x33
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x8ec]
call fcn.0043f650
push ebx
push eax
or ecx, 0xffffffff
lea edi, [esp + 0x130]
call fcn.00437050
mov byte [esp + 0x18f0], 0x32
cmp dword [esp + 0x900], 0x10
jb 0x41f7e0
mov edx, dword [esp + 0x8ec]
push edx
call fcn.00445171
add esp, 4
cmp dword [esp + 0x13c], 0x10
mov eax, dword [esp + 0x128]
mov dword [esp + 0x900], 0xf
mov dword [esp + 0x8fc], ebx
mov byte [esp + 0x8ec], bl
jae 0x41f811
lea eax, [esp + 0x128]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xa4]
push eax
mov eax, dword [esp + 0x13c]
inc eax
push eax
add edx, 0xc4
push edx
call fcn.00547e61
add esp, 0xc
jmp case.default.0x41f75f
mov eax, dword [esp + 0x20]
add eax, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x41f845
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0xc0], eax
jmp 0x41f8a9
mov eax, dword [esp + 0x20]
add eax, 0x38
cmp dword [eax + 0x14], 0x10
jb 0x41f86c
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0xe4], eax
jmp 0x41f8a9
mov eax, dword [esp + 0x20]
add eax, 0x54
cmp dword [eax + 0x14], 0x10
jb 0x41f893
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0xe8], eax
add esp, 4
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x18]
jl 0x41f750
cmp dword [esp + 0x13c], 0x10
jb 0x41f8d9
mov eax, dword [esp + 0x128]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov esi, dword [esp + 0x20]
mov dword [esp + 0x13c], 0xf
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
cmp esi, ebx
je 0x41f950
mov edi, dword [esp + 0x24]
cmp esi, edi
je 0x41f943
mov ecx, 0x10
nop
cmp dword [esi + 0x14], ecx
jb 0x41f925
mov eax, dword [esi]
push eax
call fcn.00445171
add esp, 4
mov ecx, 0x10
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
cmp dword [esi + 0x14], ecx
jb 0x41f938
mov eax, dword [esi]
jmp 0x41f93a
mov eax, esi
add esi, 0x1c
mov byte [eax], bl
cmp esi, edi
jne 0x41f910
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00445171
add esp, 4
mov edi, 0xf
lea eax, [esp + 0x1644]
mov dword [esp + 0x1644], 0x4450553c
mov dword [esp + 0x1648], 0x5f455441
mov dword [esp + 0x164c], 0x4f464e49
mov word [esp + 0x1650], 0x3e
mov dword [esp + 0xb68], edi
mov dword [esp + 0xb64], ebx
mov byte [esp + 0xb54], bl
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41f9a0
sub eax, esi
lea edx, [esp + 0x1644]
mov esi, eax
push edx
lea eax, [esp + 0xb58]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x34
lea eax, [esp + 0x15c8]
mov dword [esp + 0x5f0], edi
mov dword [esp + 0x5ec], ebx
mov byte [esp + 0x5dc], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41f9e6
sub eax, edx
lea ecx, [esp + 0x15c8]
mov esi, eax
push ecx
lea eax, [esp + 0x5e0]
call fcn.004375a0
lea edx, [esp + 0xb54]
push edx
lea eax, [esp + 0x13e0]
push eax
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x5e4]
mov byte [esp + 0x18f8], 0x35
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x36
call fcn.00436fe0
cmp dword [esp + 0x13f0], 0x10
jb 0x41fa5a
mov ecx, dword [esp + 0x13dc]
push ecx
call fcn.00445171
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x13f0], esi
mov dword [esp + 0x13ec], ebx
mov byte [esp + 0x13dc], bl
cmp dword [esp + 0x5f0], edi
jb 0x41fa92
mov edx, dword [esp + 0x5dc]
push edx
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x5f0], esi
mov dword [esp + 0x5ec], ebx
mov byte [esp + 0x5dc], bl
cmp dword [esp + 0xb68], edi
jb 0x41fac8
mov eax, dword [esp + 0xb54]
push eax
call fcn.00445171
add esp, 4
mov dword [esp + 0xb68], esi
mov dword [esp + 0xb64], ebx
mov byte [esp + 0xb54], bl
cmp dword [esp + 0x58], ebx
je 0x41fca2
mov dword [esp + 0x628], esi
push 0x61c14c
mov esi, 1
lea eax, [esp + 0x618]
mov dword [esp + 0x628], ebx
mov byte [esp + 0x618], bl
call fcn.004375a0
lea ecx, [esp + 0x614]
push ecx
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x37
call fcn.0043f480
add esp, 8
mov byte [esp + 0x18f0], 6
cmp dword [esp + 0x628], 0x10
jb 0x41fb55
mov eax, dword [esp + 0x614]
push eax
call fcn.00445171
add esp, 4
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
mov dword [esp + 0x628], 0xf
mov dword [esp + 0x624], ebx
mov byte [esp + 0x614], bl
mov dword [esp + 0x30], ebx
cmp esi, ebx
jle 0x41fc53
jmp 0x41fba0
mov eax, dword [esp + 0x30]
cmp eax, 3
ja case.default.0x41fbad
jmp dword [eax*4 + 0x425ef0]
cmp dword [edi + 0x14], 0x10
jb 0x41fbbe
mov eax, dword [edi]
jmp 0x41fbc0
mov eax, edi
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0xec], eax
jmp 0x41fc3f
cmp dword [edi + 0x30], 0x10
lea eax, [edi + 0x1c]
jb 0x41fbe3
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0xf0], eax
jmp 0x41fc3f
cmp dword [edi + 0x4c], 0x10
lea eax, [edi + 0x38]
jb 0x41fc06
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0xf4], eax
jmp 0x41fc3f
cmp dword [edi + 0x68], 0x10
lea eax, [edi + 0x54]
jb 0x41fc29
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0xf8], eax
add esp, 4
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, esi
jl 0x41fba0
cmp edi, ebx
je 0x41fca2
mov esi, edi
cmp edi, dword [esp + 0x24]
je 0x41fc99
mov ecx, 0x10
cmp dword [esi + 0x14], ecx
jb 0x41fc79
mov eax, dword [esi]
push eax
call fcn.00445171
add esp, 4
mov ecx, 0x10
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
cmp dword [esi + 0x14], ecx
jb 0x41fc8c
mov eax, dword [esi]
jmp 0x41fc8e
mov eax, esi
add esi, 0x1c
mov byte [eax], bl
cmp esi, dword [esp + 0x24]
jne 0x41fc64
push edi
call fcn.00445171
add esp, 4
lea eax, [esp + 0x16d8]
mov dword [esp + 0x16d8], 0x4450553c
mov dword [esp + 0x16dc], 0x5f455441
mov dword [esp + 0x16e0], 0x54584554
mov dword [esp + 0x16e4], 0x4c4f435f
mov dword [esp + 0x16e8], 0x3e524f
mov dword [esp + 0x660], 0xf
mov dword [esp + 0x65c], ebx
mov byte [esp + 0x64c], bl
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41fd00
sub eax, esi
lea ecx, [esp + 0x16d8]
mov esi, eax
push ecx
lea eax, [esp + 0x650]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x38
lea eax, [esp + 0x15c8]
mov dword [esp + 0x938], 0xf
mov dword [esp + 0x934], ebx
mov byte [esp + 0x924], bl
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41fd50
sub eax, edx
lea edx, [esp + 0x15c8]
mov esi, eax
push edx
lea eax, [esp + 0x928]
call fcn.004375a0
lea eax, [esp + 0x64c]
push eax
lea ecx, [esp + 0x11b0]
push ecx
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x92c]
mov byte [esp + 0x18f8], 0x39
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x3a
call fcn.00436fe0
cmp dword [esp + 0x11c0], 0x10
jb 0x41fdc4
mov edx, dword [esp + 0x11ac]
push edx
call fcn.00445171
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x11c0], esi
mov dword [esp + 0x11bc], ebx
mov byte [esp + 0x11ac], bl
cmp dword [esp + 0x938], edi
jb 0x41fdfc
mov eax, dword [esp + 0x924]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x938], esi
mov dword [esp + 0x934], ebx
mov byte [esp + 0x924], bl
cmp dword [esp + 0x660], edi
jb 0x41fe32
mov ecx, dword [esp + 0x64c]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0x660], esi
mov dword [esp + 0x65c], ebx
mov byte [esp + 0x64c], bl
cmp dword [esp + 0x58], ebx
je 0x41ffde
mov dword [esp + 0xac0], esi
push 0x61c14c
mov esi, 1
lea eax, [esp + 0xab0]
mov dword [esp + 0xac0], ebx
mov byte [esp + 0xab0], bl
call fcn.004375a0
lea edx, [esp + 0xaac]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x3b
call fcn.0043f480
add esp, 8
mov byte [esp + 0x18f0], 6
cmp dword [esp + 0xac0], 0x10
jb 0x41febf
mov ecx, dword [esp + 0xaac]
push ecx
call fcn.00445171
add esp, 4
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
mov dword [esp + 0xac0], 0xf
mov dword [esp + 0xabc], ebx
mov byte [esp + 0xaac], bl
mov dword [esp + 0x30], ebx
cmp esi, ebx
jle 0x41ff8b
mov eax, dword [esp + 0x30]
sub eax, ebx
je 0x41ff55
dec eax
je 0x41ff32
dec eax
jne 0x41ff7a
cmp dword [edi + 0x4c], 0x10
lea eax, [edi + 0x38]
jb 0x41ff1a
mov eax, dword [eax]
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
mov dword [ecx + 0x104], eax
jmp 0x41ff77
cmp dword [edi + 0x30], 0x10
lea eax, [edi + 0x1c]
jb 0x41ff3d
mov eax, dword [eax]
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
mov dword [ecx + 0x100], eax
jmp 0x41ff77
cmp dword [edi + 0x14], 0x10
jb 0x41ff5f
mov eax, dword [edi]
jmp 0x41ff61
mov eax, edi
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
mov dword [ecx + 0xfc], eax
add esp, 4
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, esi
jl 0x41ff01
cmp edi, ebx
je 0x41ffde
mov esi, edi
cmp edi, dword [esp + 0x24]
je 0x41ffd5
mov ecx, 0x10
lea esp, [esp]
cmp dword [esi + 0x14], ecx
jb 0x41ffb5
mov eax, dword [esi]
push eax
call fcn.00445171
add esp, 4
mov ecx, 0x10
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
cmp dword [esi + 0x14], ecx
jb 0x41ffc8
mov eax, dword [esi]
jmp 0x41ffca
mov eax, esi
add esi, 0x1c
mov byte [eax], bl
cmp esi, dword [esp + 0x24]
jne 0x41ffa0
push edi
call fcn.00445171
add esp, 4
lea eax, [esp + 0x1684]
mov dword [esp + 0x1684], 0x4f52503c
mov dword [esp + 0x1688], 0x53455247
mov dword [esp + 0x168c], 0x52414253
mov word [esp + 0x1690], 0x3e31
mov byte [esp + 0x1692], bl
mov dword [esp + 0x970], 0xf
mov dword [esp + 0x96c], ebx
mov byte [esp + 0x95c], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x420033
sub eax, esi
lea edx, [esp + 0x1684]
mov esi, eax
push edx
lea eax, [esp + 0x960]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x3c
lea eax, [esp + 0x15c8]
mov dword [esp + 0x698], 0xf
mov dword [esp + 0x694], ebx
mov byte [esp + 0x684], bl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x420080
sub eax, edx
lea ecx, [esp + 0x15c8]
mov esi, eax
push ecx
lea eax, [esp + 0x688]
call fcn.004375a0
lea edx, [esp + 0x95c]
push edx
lea eax, [esp + 0x1338]
push eax
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x68c]
mov byte [esp + 0x18f8], 0x3d
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x3e
call fcn.00436fe0
cmp dword [esp + 0x1348], 0x10
jb 0x4200f4
mov ecx, dword [esp + 0x1334]
push ecx
call fcn.00445171
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x1348], esi
mov dword [esp + 0x1344], ebx
mov byte [esp + 0x1334], bl
cmp dword [esp + 0x698], edi
jb 0x42012c
mov edx, dword [esp + 0x684]
push edx
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x698], esi
mov dword [esp + 0x694], ebx
mov byte [esp + 0x684], bl
cmp dword [esp + 0x970], edi
jb 0x420162
mov eax, dword [esp + 0x95c]
push eax
call fcn.00445171
add esp, 4
mov dword [esp + 0x970], esi
mov dword [esp + 0x96c], ebx
mov byte [esp + 0x95c], bl
cmp dword [esp + 0x58], ebx
je 0x4203f5
mov dword [esp + 0x6d0], esi
push 0x61c14c
mov esi, 1
lea eax, [esp + 0x6c0]
mov dword [esp + 0x6d0], ebx
mov byte [esp + 0x6c0], bl
call fcn.004375a0
lea ecx, [esp + 0x6bc]
push ecx
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x3f
call fcn.0043f480
add esp, 8
cmp dword [esp + 0x6d0], 0x10
jb 0x4201e7
mov eax, dword [esp + 0x6bc]
push eax
call fcn.00445171
add esp, 4
mov eax, 0xf
mov dword [esp + 0x6d0], eax
mov dword [esp + 0x6cc], ebx
mov byte [esp + 0x6bc], bl
mov dword [esp + 0x254], eax
mov dword [esp + 0x250], ebx
mov byte [esp + 0x240], bl
mov byte [esp + 0x18f0], 0x42
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x20]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
xor edi, edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x18], edi
cmp esi, ebx
jle 0x4203b6
jmp 0x420250
mov eax, edi
sub eax, ebx
je 0x4202ba
dec eax
je 0x42028d
dec eax
jne 0x42038f
mov eax, dword [esp + 0x20]
add eax, 0x38
cmp dword [eax + 0x14], 0x10
jb 0x42026f
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
add esp, 4
mov dword [edx + 0x12c], eax
jmp 0x42038f
mov eax, dword [esp + 0x20]
add eax, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x42029c
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
add esp, 4
mov dword [edx + 0x128], eax
jmp 0x42038f
push 0x61c6bc
mov esi, 1
lea eax, [esp + 0xbc8]
mov dword [esp + 0xbdc], 0xf
mov dword [esp + 0xbd8], ebx
mov byte [esp + 0xbc8], bl
call fcn.004375a0
mov byte [esp + 0x18f0], 0x43
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xbc4]
call fcn.0043f650
push ebx
push eax
or ecx, 0xffffffff
lea edi, [esp + 0x248]
call fcn.00437050
mov byte [esp + 0x18f0], 0x42
cmp dword [esp + 0xbd8], 0x10
jb 0x420334
mov eax, dword [esp + 0xbc4]
push eax
call fcn.00445171
add esp, 4
cmp dword [esp + 0x254], 0x10
mov eax, dword [esp + 0x240]
mov dword [esp + 0xbd8], 0xf
mov dword [esp + 0xbd4], ebx
mov byte [esp + 0xbc4], bl
jae 0x420365
lea eax, [esp + 0x240]
mov ecx, dword [esp + 0x250]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [edx + 0xa4]
inc ecx
push ecx
add eax, 0x108
push eax
call fcn.00547e61
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x44]
add esp, 0xc
inc edi
mov dword [esp + 0x18], edi
cmp edi, esi
jl 0x420250
cmp dword [esp + 0x254], 0x10
jb 0x4203b6
mov ecx, dword [esp + 0x240]
push ecx
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x254], 0xf
mov dword [esp + 0x250], ebx
mov byte [esp + 0x240], bl
cmp dword [esp + 0x20], ebx
je 0x4203f5
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov eax, esi
call fcn.00437bd0
push esi
call fcn.00445171
add esp, 4
lea eax, [esp + 0x1674]
mov dword [esp + 0x1674], 0x4f52503c
mov dword [esp + 0x1678], 0x53455247
mov dword [esp + 0x167c], 0x52414253
mov word [esp + 0x1680], 0x3e32
mov byte [esp + 0x1682], bl
mov dword [esp + 0x9a8], 0xf
mov dword [esp + 0x9a4], ebx
mov byte [esp + 0x994], bl
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x420450
sub eax, esi
lea edx, [esp + 0x1674]
mov esi, eax
push edx
lea eax, [esp + 0x998]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x44
lea eax, [esp + 0x15c8]
mov dword [esp + 0x708], 0xf
mov dword [esp + 0x704], ebx
mov byte [esp + 0x6f4], bl
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4204a0
sub eax, edx
lea ecx, [esp + 0x15c8]
mov esi, eax
push ecx
lea eax, [esp + 0x6f8]
call fcn.004375a0
lea edx, [esp + 0x994]
push edx
lea eax, [esp + 0x11e8]
push eax
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x6fc]
mov byte [esp + 0x18f8], 0x45
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x46
call fcn.00436fe0
cmp dword [esp + 0x11f8], 0x10
jb 0x420514
mov ecx, dword [esp + 0x11e4]
push ecx
call fcn.00445171
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x11f8], esi
mov dword [esp + 0x11f4], ebx
mov byte [esp + 0x11e4], bl
cmp dword [esp + 0x708], edi
jb 0x42054c
mov edx, dword [esp + 0x6f4]
push edx
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x708], esi
mov dword [esp + 0x704], ebx
mov byte [esp + 0x6f4], bl
cmp dword [esp + 0x9a8], edi
jb 0x420582
mov eax, dword [esp + 0x994]
push eax
call fcn.00445171
add esp, 4
mov dword [esp + 0x9a8], esi
mov dword [esp + 0x9a4], ebx
mov byte [esp + 0x994], bl
cmp dword [esp + 0x58], ebx
je 0x420815
mov dword [esp + 0x740], esi
push 0x61c14c
mov esi, 1
lea eax, [esp + 0x730]
mov dword [esp + 0x740], ebx
mov byte [esp + 0x730], bl
call fcn.004375a0
lea ecx, [esp + 0x72c]
push ecx
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x47
call fcn.0043f480
add esp, 8
cmp dword [esp + 0x740], 0x10
jb 0x420607
mov eax, dword [esp + 0x72c]
push eax
call fcn.00445171
add esp, 4
mov eax, 0xf
mov dword [esp + 0x740], eax
mov dword [esp + 0x73c], ebx
mov byte [esp + 0x72c], bl
mov dword [esp + 0x174], eax
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
mov byte [esp + 0x18f0], 0x4a
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x20]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
xor edi, edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x18], edi
cmp esi, ebx
jle 0x4207d6
jmp 0x420670
mov eax, edi
sub eax, ebx
je 0x4206da
dec eax
je 0x4206ad
dec eax
jne 0x4207af
mov eax, dword [esp + 0x20]
add eax, 0x38
cmp dword [eax + 0x14], 0x10
jb 0x42068f
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
add esp, 4
mov dword [edx + 0x154], eax
jmp 0x4207af
mov eax, dword [esp + 0x20]
add eax, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x4206bc
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
add esp, 4
mov dword [edx + 0x150], eax
jmp 0x4207af
push 0x61c6bc
mov esi, 1
lea eax, [esp + 0xae8]
mov dword [esp + 0xafc], 0xf
mov dword [esp + 0xaf8], ebx
mov byte [esp + 0xae8], bl
call fcn.004375a0
mov byte [esp + 0x18f0], 0x4b
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xae4]
call fcn.0043f650
push ebx
push eax
or ecx, 0xffffffff
lea edi, [esp + 0x168]
call fcn.00437050
mov byte [esp + 0x18f0], 0x4a
cmp dword [esp + 0xaf8], 0x10
jb 0x420754
mov eax, dword [esp + 0xae4]
push eax
call fcn.00445171
add esp, 4
cmp dword [esp + 0x174], 0x10
mov eax, dword [esp + 0x160]
mov dword [esp + 0xaf8], 0xf
mov dword [esp + 0xaf4], ebx
mov byte [esp + 0xae4], bl
jae 0x420785
lea eax, [esp + 0x160]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [edx + 0xa4]
inc ecx
push ecx
add eax, 0x130
push eax
call fcn.00547e61
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x44]
add esp, 0xc
inc edi
mov dword [esp + 0x18], edi
cmp edi, esi
jl 0x420670
cmp dword [esp + 0x174], 0x10
jb 0x4207d6
mov ecx, dword [esp + 0x160]
push ecx
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x174], 0xf
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
cmp dword [esp + 0x20], ebx
je 0x420815
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov eax, esi
call fcn.00437bd0
push esi
call fcn.00445171
add esp, 4
lea eax, [esp + 0x1634]
mov dword [esp + 0x1634], 0x4345523c
mov dword [esp + 0x1638], 0x5245564f
mov dword [esp + 0x163c], 0x4e54425f
mov word [esp + 0x1640], 0x3e
mov dword [esp + 0x9e0], 0xf
mov dword [esp + 0x9dc], ebx
mov byte [esp + 0x9cc], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x420863
sub eax, esi
lea edx, [esp + 0x1634]
mov esi, eax
push edx
lea eax, [esp + 0x9d0]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x4c
lea eax, [esp + 0x15c8]
mov dword [esp + 0x778], 0xf
mov dword [esp + 0x774], ebx
mov byte [esp + 0x764], bl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4208b0
sub eax, edx
lea ecx, [esp + 0x15c8]
mov esi, eax
push ecx
lea eax, [esp + 0x768]
call fcn.004375a0
lea edx, [esp + 0x9cc]
push edx
lea eax, [esp + 0x1450]
push eax
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x76c]
mov byte [esp + 0x18f8], 0x4d
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x4e
call fcn.00436fe0
cmp dword [esp + 0x1460], 0x10
jb 0x420924
mov ecx, dword [esp + 0x144c]
push ecx
call fcn.00445171
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x1460], esi
mov dword [esp + 0x145c], ebx
mov byte [esp + 0x144c], bl
cmp dword [esp + 0x778], edi
jb 0x42095c
mov edx, dword [esp + 0x764]
push edx
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x778], esi
mov dword [esp + 0x774], ebx
mov byte [esp + 0x764], bl
cmp dword [esp + 0x9e0], edi
jb 0x420992
mov eax, dword [esp + 0x9cc]
push eax
call fcn.00445171
add esp, 4
mov dword [esp + 0x9e0], esi
mov dword [esp + 0x9dc], ebx
mov byte [esp + 0x9cc], bl
cmp dword [esp + 0x58], ebx
je 0x420c46
mov edi, esi
push 0x61c14c
mov esi, 1
lea eax, [esp + 0x7a0]
mov dword [esp + 0x7b4], edi
mov dword [esp + 0x7b0], ebx
mov byte [esp + 0x7a0], bl
call fcn.004375a0
lea ecx, [esp + 0x79c]
push ecx
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x4f
call fcn.0043f480
add esp, 8
cmp dword [esp + 0x7b0], 0x10
jb 0x420a19
mov eax, dword [esp + 0x79c]
push eax
call fcn.00445171
add esp, 4
mov dword [esp + 0x7b0], edi
mov dword [esp + 0x7ac], ebx
mov byte [esp + 0x79c], bl
mov dword [esp + 0x21c], edi
mov dword [esp + 0x218], ebx
mov byte [esp + 0x208], bl
mov byte [esp + 0x18f0], 0x52
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x20]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
cmp eax, ebx
jle 0x420c09
jmp 0x420a80
cmp dword [esp + 0x1c], 3
ja case.default.0x420a8f
mov ecx, dword [esp + 0x1c]
jmp dword [ecx*4 + 0x425f00]
push 0x61c6bc
mov esi, 1
lea eax, [esp + 0xb90]
mov dword [esp + 0xba4], 0xf
mov dword [esp + 0xba0], ebx
mov byte [esp + 0xb90], bl
call fcn.004375a0
mov byte [esp + 0x18f0], 0x53
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xb8c]
call fcn.0043f650
push ebx
push eax
or ecx, 0xffffffff
lea edi, [esp + 0x210]
call fcn.00437050
mov byte [esp + 0x18f0], 0x52
cmp dword [esp + 0xba0], 0x10
jb 0x420b10
mov edx, dword [esp + 0xb8c]
push edx
call fcn.00445171
add esp, 4
cmp dword [esp + 0x21c], 0x10
mov eax, dword [esp + 0x208]
mov dword [esp + 0xba0], 0xf
mov dword [esp + 0xb9c], ebx
mov byte [esp + 0xb8c], bl
jae 0x420b41
lea eax, [esp + 0x208]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xa4]
push eax
mov eax, dword [esp + 0x21c]
inc eax
push eax
add edx, 0x15c
push edx
call fcn.00547e61
add esp, 0xc
jmp case.default.0x420a8f
mov eax, dword [esp + 0x20]
add eax, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x420b75
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0x158], eax
jmp 0x420bd9
mov eax, dword [esp + 0x20]
add eax, 0x38
cmp dword [eax + 0x14], 0x10
jb 0x420b9c
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0x17c], eax
jmp 0x420bd9
mov eax, dword [esp + 0x20]
add eax, 0x54
cmp dword [eax + 0x14], 0x10
jb 0x420bc3
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov dword [edx + 0x180], eax
add esp, 4
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x18]
jl 0x420a80
cmp dword [esp + 0x21c], 0x10
jb 0x420c09
mov eax, dword [esp + 0x208]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov esi, dword [esp + 0x20]
mov dword [esp + 0x21c], 0xf
mov dword [esp + 0x218], ebx
mov byte [esp + 0x208], bl
cmp esi, ebx
je 0x420c46
mov edi, dword [esp + 0x24]
mov eax, esi
call fcn.00437bd0
push esi
call fcn.00445171
add esp, 4
lea eax, [esp + 0x15ec]
mov dword [esp + 0x15ec], 0x4245573c
mov dword [esp + 0x15f0], 0x4e49575f
mov word [esp + 0x15f4], 0x3e
mov dword [esp + 0xa18], 0xf
mov dword [esp + 0xa14], ebx
mov byte [esp + 0xa04], bl
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x420c90
sub eax, esi
lea ecx, [esp + 0x15ec]
mov esi, eax
push ecx
lea eax, [esp + 0xa08]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x54
lea eax, [esp + 0x15c8]
mov dword [esp + 0x7e8], 0xf
mov dword [esp + 0x7e4], ebx
mov byte [esp + 0x7d4], bl
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x420ce0
sub eax, edx
lea edx, [esp + 0x15c8]
mov esi, eax
push edx
lea eax, [esp + 0x7d8]
call fcn.004375a0
lea eax, [esp + 0xa04]
push eax
lea ecx, [esp + 0x1220]
push ecx
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x7dc]
mov byte [esp + 0x18f8], 0x55
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x56
call fcn.00436fe0
cmp dword [esp + 0x1230], 0x10
jb 0x420d54
mov edx, dword [esp + 0x121c]
push edx
call fcn.00445171
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x1230], edi
mov dword [esp + 0x122c], ebx
mov byte [esp + 0x121c], bl
cmp dword [esp + 0x7e8], esi
jb 0x420d8c
mov eax, dword [esp + 0x7d4]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x7e8], edi
mov dword [esp + 0x7e4], ebx
mov byte [esp + 0x7d4], bl
cmp dword [esp + 0xa18], esi
jb 0x420dc2
mov ecx, dword [esp + 0xa04]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0xa18], edi
mov dword [esp + 0xa14], ebx
mov byte [esp + 0xa04], bl
cmp dword [esp + 0x58], ebx
je 0x420f5b
push 0x61c14c
mov esi, 1
lea eax, [esp + 0x3cc]
mov dword [esp + 0x3e0], edi
mov dword [esp + 0x3dc], ebx
mov byte [esp + 0x3cc], bl
call fcn.004375a0
lea edx, [esp + 0x3c8]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x57
call fcn.0043f480
add esp, 8
mov byte [esp + 0x18f0], 6
cmp dword [esp + 0x3dc], 0x10
jb 0x420e4f
mov ecx, dword [esp + 0x3c8]
push ecx
call fcn.00445171
add esp, 4
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov dword [esp + 0x3dc], edi
mov edi, edx
shr edi, 0x1f
add edi, edx
mov dword [esp + 0x3d8], ebx
mov byte [esp + 0x3c8], bl
mov dword [esp + 0x30], ebx
cmp edi, ebx
jle 0x420f43
lea ecx, [ecx]
mov eax, dword [esp + 0x30]
cmp eax, 3
ja case.default.0x420e9d
jmp dword [eax*4 + 0x425f10]
cmp dword [esi + 0x14], 0x10
jb 0x420eae
mov eax, dword [esi]
jmp 0x420eb0
mov eax, esi
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
mov dword [ecx + 0x184], eax
jmp 0x420f2f
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x420ed3
mov eax, dword [eax]
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
mov dword [ecx + 0x188], eax
jmp 0x420f2f
cmp dword [esi + 0x4c], 0x10
lea eax, [esi + 0x38]
jb 0x420ef6
mov eax, dword [eax]
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
mov dword [ecx + 0x18c], eax
jmp 0x420f2f
cmp dword [esi + 0x68], 0x10
lea eax, [esi + 0x54]
jb 0x420f19
mov eax, dword [eax]
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
mov dword [ecx + 0x190], eax
add esp, 4
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, edi
jl 0x420e90
cmp esi, ebx
je 0x420f5b
mov edi, dword [esp + 0x24]
mov eax, esi
call fcn.00437bd0
push esi
call fcn.00445171
add esp, 4
xor eax, eax
mov byte [esp + 0x18c0], bl
mov dword [esp + 0x18c1], eax
mov dword [esp + 0x18c5], eax
mov dword [esp + 0x18c9], eax
mov dword [esp + 0x18cd], eax
mov dword [esp + 0x18d1], eax
mov dword [esp + 0x18d5], eax
mov dword [esp + 0x18d9], eax
mov word [esp + 0x18dd], ax
mov byte [esp + 0x18df], al
mov dword [esp + 0x17a0], 0x5059483c
mov dword [esp + 0x17a4], 0x425f5245
mov dword [esp + 0x17a8], 0x64255455
mov word [esp + 0x17ac], 0x3e
mov dword [esp + 0x18], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x1c], 0xad4
nop
inc eax
push eax
lea edx, [esp + 0x17a4]
push edx
lea edx, [esp + 0x18c8]
mov dword [esp + 0x3c], eax
call fcn.004386c0
mov edi, 0xf
lea eax, [esp + 0x18c8]
add esp, 8
mov dword [esp + 0x44c], edi
mov dword [esp + 0x448], ebx
mov byte [esp + 0x438], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x421021
sub eax, edx
lea ecx, [esp + 0x18c0]
mov esi, eax
push ecx
lea eax, [esp + 0x43c]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x58
lea eax, [esp + 0x15c8]
mov dword [esp + 0x414], edi
mov dword [esp + 0x410], ebx
mov byte [esp + 0x400], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x421067
sub eax, edx
lea edx, [esp + 0x15c8]
mov esi, eax
push edx
lea eax, [esp + 0x404]
call fcn.004375a0
lea eax, [esp + 0x438]
push eax
lea ecx, [esp + 0x1370]
push ecx
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x408]
mov byte [esp + 0x18f8], 0x59
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x5a
call fcn.00436fe0
cmp dword [esp + 0x1380], 0x10
jb 0x4210db
mov edx, dword [esp + 0x136c]
push edx
call fcn.00445171
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x1380], edi
mov dword [esp + 0x137c], ebx
mov byte [esp + 0x136c], bl
cmp dword [esp + 0x414], esi
jb 0x421113
mov eax, dword [esp + 0x400]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x414], edi
mov dword [esp + 0x410], ebx
mov byte [esp + 0x400], bl
cmp dword [esp + 0x44c], esi
jb 0x421149
mov ecx, dword [esp + 0x438]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0x44c], edi
mov dword [esp + 0x448], ebx
mov byte [esp + 0x438], bl
cmp dword [esp + 0x58], ebx
je 0x4214f1
push 0x61c14c
mov esi, 1
lea eax, [esp + 0x474]
mov dword [esp + 0x488], edi
mov dword [esp + 0x484], ebx
mov byte [esp + 0x474], bl
call fcn.004375a0
lea edx, [esp + 0x470]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x5b
call fcn.0043f480
add esp, 8
cmp dword [esp + 0x484], 0x10
jb 0x4211ce
mov ecx, dword [esp + 0x470]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0x484], edi
mov dword [esp + 0x480], ebx
mov byte [esp + 0x470], bl
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
mov byte [esp + 0x18f0], 0x5e
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x20]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], ebx
cmp eax, ebx
jle 0x4214a8
jmp 0x421230
cmp dword [esp + 0x30], 4
ja case.default.0x42123f
mov edx, dword [esp + 0x30]
jmp dword [edx*4 + 0x425f20]
push 0x61c6bc
mov esi, 1
lea eax, [esp + 0x4ac]
mov dword [esp + 0x4c0], 0xf
mov dword [esp + 0x4bc], ebx
mov byte [esp + 0x4ac], bl
call fcn.004375a0
mov byte [esp + 0x18f0], 0x5f
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x4a8]
call fcn.0043f650
push ebx
push eax
or ecx, 0xffffffff
lea edi, [esp + 0x88]
call fcn.00437050
mov byte [esp + 0x18f0], 0x5e
cmp dword [esp + 0x4bc], 0x10
jb 0x4212c0
mov eax, dword [esp + 0x4a8]
push eax
call fcn.00445171
add esp, 4
cmp dword [esp + 0x94], 0x10
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4bc], 0xf
mov dword [esp + 0x4b8], ebx
mov byte [esp + 0x4a8], bl
jae 0x4212f1
lea eax, [esp + 0x80]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [edx + 0xa4]
inc ecx
push ecx
mov ecx, dword [esp + 0x40]
lea edx, [ecx + eax + 0x1b4]
push edx
jmp 0x421473
mov eax, dword [esp + 0x20]
add eax, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x421325
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [ecx + edx - 0x940], eax
jmp case.default.0x42123f
mov eax, dword [esp + 0x20]
add eax, 0x38
cmp dword [eax + 0x14], 0x10
jb 0x421357
mov eax, dword [eax]
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
mov edx, dword [esp + 0x20]
add esp, 4
mov dword [edx + ecx], eax
jmp case.default.0x42123f
mov eax, dword [esp + 0x20]
add eax, 0x54
cmp dword [eax + 0x14], 0x10
jb 0x421385
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [ecx + edx + 0x20], eax
jmp case.default.0x42123f
push 0x61c6bc
mov esi, 1
lea eax, [esp + 0x4e4]
mov dword [esp + 0x4f8], 0xf
mov dword [esp + 0x4f4], ebx
mov byte [esp + 0x4e4], bl
call fcn.004375a0
mov byte [esp + 0x18f0], 0x60
mov ecx, dword [esp + 0x20]
add ecx, 0x70
lea eax, [esp + 0x4e0]
call fcn.0043f650
push ebx
push eax
or ecx, 0xffffffff
lea edi, [esp + 0x88]
call fcn.00437050
mov byte [esp + 0x18f0], 0x5e
cmp dword [esp + 0x4f4], 0x10
jb 0x421422
mov edx, dword [esp + 0x4e0]
push edx
call fcn.00445171
add esp, 4
cmp dword [esp + 0x94], 0x10
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4f4], 0xf
mov dword [esp + 0x4f0], ebx
mov byte [esp + 0x4e0], bl
jae 0x421453
lea eax, [esp + 0x80]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xa4]
push eax
mov eax, dword [esp + 0x94]
inc eax
push eax
mov eax, dword [esp + 0x20]
lea ecx, [eax + edx + 0x2b4]
push ecx
call fcn.00547e61
add esp, 0xc
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, dword [esp + 0x44]
jl 0x421230
cmp dword [esp + 0x94], 0x10
jb 0x4214a8
mov edx, dword [esp + 0x80]
push edx
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov esi, dword [esp + 0x20]
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
cmp esi, ebx
je 0x4214e5
mov edi, dword [esp + 0x24]
mov eax, esi
call fcn.00437bd0
push esi
call fcn.00445171
add esp, 4
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0x1c]
add dword [esp + 0x38], 0x20
add dword [esp + 0x18], 0x104
mov eax, dword [esp + 0x34]
add ecx, 4
mov dword [esp + 0x1c], ecx
cmp ecx, 0xaf4
jl 0x420fe0
mov dword [esp + 0x17e0], 0x5059483c
mov dword [esp + 0x17e4], 0x4c5f5245
mov dword [esp + 0x17e8], 0x4c454241
mov dword [esp + 0x17ec], 0x3e6425
xor eax, eax
mov dword [esp + 0x1c], 0xb34
nop
inc eax
push eax
mov dword [esp + 0x38], eax
lea eax, [esp + 0x17e4]
push eax
lea edx, [esp + 0x18c8]
call fcn.004386c0
mov edi, 0xf
lea eax, [esp + 0x18c8]
add esp, 8
mov dword [esp + 0x564], edi
mov dword [esp + 0x560], ebx
mov byte [esp + 0x550], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x421591
sub eax, edx
lea ecx, [esp + 0x18c0]
mov esi, eax
push ecx
lea eax, [esp + 0x554]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x61
lea eax, [esp + 0x15c8]
mov dword [esp + 0x52c], edi
mov dword [esp + 0x528], ebx
mov byte [esp + 0x518], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4215d7
sub eax, edx
lea edx, [esp + 0x15c8]
mov esi, eax
push edx
lea eax, [esp + 0x51c]
call fcn.004375a0
lea eax, [esp + 0x550]
push eax
lea ecx, [esp + 0x1258]
push ecx
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x520]
mov byte [esp + 0x18f8], 0x62
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x63
call fcn.00436fe0
cmp dword [esp + 0x1268], 0x10
jb 0x42164b
mov edx, dword [esp + 0x1254]
push edx
call fcn.00445171
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x1268], edi
mov dword [esp + 0x1264], ebx
mov byte [esp + 0x1254], bl
cmp dword [esp + 0x52c], esi
jb 0x421683
mov eax, dword [esp + 0x518]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x52c], edi
mov dword [esp + 0x528], ebx
mov byte [esp + 0x518], bl
cmp dword [esp + 0x564], esi
jb 0x4216b9
mov ecx, dword [esp + 0x550]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0x564], edi
mov dword [esp + 0x560], ebx
mov byte [esp + 0x550], bl
cmp dword [esp + 0x58], ebx
je 0x421899
push 0x61c14c
mov esi, 1
lea eax, [esp + 0x58c]
mov dword [esp + 0x5a0], edi
mov dword [esp + 0x59c], ebx
mov byte [esp + 0x58c], bl
call fcn.004375a0
lea edx, [esp + 0x588]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x64
call fcn.0043f480
add esp, 8
mov byte [esp + 0x18f0], 6
cmp dword [esp + 0x59c], 0x10
jb 0x421746
mov ecx, dword [esp + 0x588]
push ecx
call fcn.00445171
add esp, 4
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov dword [esp + 0x59c], edi
mov edi, edx
shr edi, 0x1f
add edi, edx
mov dword [esp + 0x598], ebx
mov byte [esp + 0x588], bl
mov dword [esp + 0x18], ebx
cmp edi, ebx
jle 0x421875
jmp 0x421790
mov eax, dword [esp + 0x18]
cmp eax, 4
ja case.default.0x42179d
jmp dword [eax*4 + 0x425f34]
cmp dword [esi + 0x14], 0x10
jb 0x4217ae
mov eax, dword [esi]
jmp 0x4217b0
mov eax, esi
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
mov edx, dword [esp + 0x20]
mov dword [edx + ecx - 0x20], eax
jmp 0x421861
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x4217d8
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov ecx, dword [esp + 0x20]
mov dword [ecx + edx], eax
jmp 0x421861
cmp dword [esi + 0x4c], 0x10
lea eax, [esi + 0x38]
jb 0x4217fc
mov eax, dword [eax]
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
mov edx, dword [esp + 0x20]
mov dword [edx + ecx + 0x20], eax
jmp 0x421861
cmp dword [esi + 0x68], 0x10
lea eax, [esi + 0x54]
jb 0x421821
mov eax, dword [eax]
push eax
call fcn.005450f2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa4]
mov ecx, dword [esp + 0x20]
mov dword [ecx + edx + 0x40], eax
jmp 0x421861
cmp dword [esi + 0x84], 0x10
lea eax, [esi + 0x70]
jb 0x421849
mov eax, dword [eax]
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
mov edx, dword [esp + 0x20]
mov dword [edx + ecx + 0x60], eax
add esp, 4
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, edi
jl 0x421790
cmp esi, ebx
je 0x42188d
mov edi, dword [esp + 0x24]
mov eax, esi
call fcn.00437bd0
push esi
call fcn.00445171
add esp, 4
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
add ecx, 4
mov dword [esp + 0x1c], ecx
cmp ecx, 0xb54
jl 0x421550
mov edi, 0xf
lea eax, [esp + 0x15e4]
mov dword [esp + 0x15b8], 0x5245533c
mov dword [esp + 0x15bc], 0x5f524556
mov dword [esp + 0x15c0], 0x3e4e4957
mov byte [esp + 0x15c4], bl
mov dword [esp + 0x60c], edi
mov dword [esp + 0x608], ebx
mov byte [esp + 0x5f8], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x421900
sub eax, esi
lea ecx, [esp + 0x15e4]
mov esi, eax
push ecx
lea eax, [esp + 0x5fc]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x65
lea eax, [esp + 0x15b8]
mov dword [esp + 0x5d4], edi
mov dword [esp + 0x5d0], ebx
mov byte [esp + 0x5c0], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x421946
sub eax, edx
lea edx, [esp + 0x15b8]
mov esi, eax
push edx
lea eax, [esp + 0x5c4]
call fcn.004375a0
lea eax, [esp + 0x5f8]
push eax
lea ecx, [esp + 0x1418]
push ecx
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x5c8]
mov byte [esp + 0x18f8], 0x66
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x67
call fcn.00436fe0
cmp dword [esp + 0x1428], 0x10
jb 0x4219ba
mov edx, dword [esp + 0x1414]
push edx
call fcn.00445171
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x1428], edi
mov dword [esp + 0x1424], ebx
mov byte [esp + 0x1414], bl
cmp dword [esp + 0x5d4], esi
jb 0x4219f2
mov eax, dword [esp + 0x5c0]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x5d4], edi
mov dword [esp + 0x5d0], ebx
mov byte [esp + 0x5c0], bl
cmp dword [esp + 0x60c], esi
jb 0x421a28
mov ecx, dword [esp + 0x5f8]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0x60c], edi
mov dword [esp + 0x608], ebx
mov byte [esp + 0x5f8], bl
cmp dword [esp + 0x58], ebx
je 0x421b59
push 0x61c6bc
mov esi, 1
lea eax, [esp + 0x634]
mov dword [esp + 0x648], edi
mov dword [esp + 0x644], ebx
mov byte [esp + 0x634], bl
call fcn.004375a0
lea eax, [esp + 0x630]
lea ecx, [esp + 0x48]
mov byte [esp + 0x18f0], 0x68
call fcn.0043f650
push ebx
mov dword [esp + 0x1b0], edi
push eax
or ecx, 0xffffffff
lea edi, [esp + 0x1a0]
mov dword [esp + 0x1b0], ebx
mov byte [esp + 0x1a0], bl
call fcn.00437050
mov byte [esp + 0x18f0], 6
cmp dword [esp + 0x644], 0x10
jb 0x421ad2
mov edx, dword [esp + 0x630]
push edx
call fcn.00445171
add esp, 4
mov eax, dword [esp + 0x198]
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x644], edi
mov dword [esp + 0x640], ebx
mov byte [esp + 0x630], bl
cmp dword [esp + 0x1ac], esi
jae 0x421b08
lea eax, [esp + 0x198]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xa4]
push eax
mov eax, dword [esp + 0x1ac]
inc eax
push eax
add edx, 0xbb4
push edx
call fcn.00547e61
add esp, 0xc
cmp dword [esp + 0x1ac], esi
jb 0x421b44
mov eax, dword [esp + 0x198]
push eax
call fcn.00445171
add esp, 4
mov dword [esp + 0x1ac], edi
mov dword [esp + 0x1a8], ebx
mov byte [esp + 0x198], bl
lea eax, [esp + 0x15f8]
mov dword [esp + 0x15f8], 0x4d554e3c
mov dword [esp + 0x15fc], 0x524f485f
mov word [esp + 0x1600], 0x3e5a
mov byte [esp + 0x1602], bl
mov dword [esp + 0x6b4], edi
mov dword [esp + 0x6b0], ebx
mov byte [esp + 0x6a0], bl
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x421ba0
sub eax, esi
lea ecx, [esp + 0x15f8]
mov esi, eax
push ecx
lea eax, [esp + 0x6a4]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x69
lea eax, [esp + 0x15b8]
mov dword [esp + 0x67c], edi
mov dword [esp + 0x678], ebx
mov byte [esp + 0x668], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x421be6
sub eax, edx
lea edx, [esp + 0x15b8]
mov esi, eax
push edx
lea eax, [esp + 0x66c]
call fcn.004375a0
lea eax, [esp + 0x6a0]
push eax
lea ecx, [esp + 0x1290]
push ecx
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x670]
mov byte [esp + 0x18f8], 0x6a
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x6b
call fcn.00436fe0
cmp dword [esp + 0x12a0], 0x10
jb 0x421c5a
mov edx, dword [esp + 0x128c]
push edx
call fcn.00445171
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x12a0], edi
mov dword [esp + 0x129c], ebx
mov byte [esp + 0x128c], bl
cmp dword [esp + 0x67c], esi
jb 0x421c92
mov eax, dword [esp + 0x668]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x67c], edi
mov dword [esp + 0x678], ebx
mov byte [esp + 0x668], bl
cmp dword [esp + 0x6b4], esi
jb 0x421cc8
mov ecx, dword [esp + 0x6a0]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0x6b4], edi
mov dword [esp + 0x6b0], ebx
mov byte [esp + 0x6a0], bl
cmp dword [esp + 0x58], ebx
je 0x421d85
push 0x61c6c0
mov esi, 2
lea eax, [esp + 0x2b4]
mov dword [esp + 0x2c8], edi
mov dword [esp + 0x2c4], ebx
mov byte [esp + 0x2b4], bl
call fcn.004375a0
lea eax, [esp + 0x2b0]
lea ecx, [esp + 0x48]
mov byte [esp + 0x18f0], 0x6c
call fcn.0043f650
mov esi, 0x10
cmp dword [eax + 0x14], esi
jb 0x421d36
mov eax, dword [eax]
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
add esp, 4
mov dword [ecx + 0xbd4], eax
mov byte [esp + 0x18f0], 6
cmp dword [esp + 0x2c4], esi
jb 0x421d70
mov edx, dword [esp + 0x2b0]
push edx
call fcn.00445171
add esp, 4
mov dword [esp + 0x2c4], edi
mov dword [esp + 0x2c0], ebx
mov byte [esp + 0x2b0], bl
lea eax, [esp + 0x1604]
mov dword [esp + 0x1604], 0x4d554e3c
mov dword [esp + 0x1608], 0x5245565f
mov word [esp + 0x160c], 0x3e54
mov byte [esp + 0x160e], bl
mov dword [esp + 0x724], edi
mov dword [esp + 0x720], ebx
mov byte [esp + 0x710], bl
lea esi, [eax + 1]
jmp 0x421dd0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x421dd0
sub eax, esi
lea ecx, [esp + 0x1604]
mov esi, eax
push ecx
lea eax, [esp + 0x714]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x6d
lea eax, [esp + 0x15b8]
mov dword [esp + 0x6ec], edi
mov dword [esp + 0x6e8], ebx
mov byte [esp + 0x6d8], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x421e16
sub eax, edx
lea edx, [esp + 0x15b8]
mov esi, eax
push edx
lea eax, [esp + 0x6dc]
call fcn.004375a0
lea eax, [esp + 0x710]
push eax
lea ecx, [esp + 0x13a8]
push ecx
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x6e0]
mov byte [esp + 0x18f8], 0x6e
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x6f
call fcn.00436fe0
cmp dword [esp + 0x13b8], 0x10
jb 0x421e8a
mov edx, dword [esp + 0x13a4]
push edx
call fcn.00445171
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x13b8], edi
mov dword [esp + 0x13b4], ebx
mov byte [esp + 0x13a4], bl
cmp dword [esp + 0x6ec], esi
jb 0x421ec2
mov eax, dword [esp + 0x6d8]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x6ec], edi
mov dword [esp + 0x6e8], ebx
mov byte [esp + 0x6d8], bl
cmp dword [esp + 0x724], esi
jb 0x421ef8
mov ecx, dword [esp + 0x710]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0x724], edi
mov dword [esp + 0x720], ebx
mov byte [esp + 0x710], bl
cmp dword [esp + 0x58], ebx
je 0x421fb5
push 0x61c6c0
mov esi, 2
lea eax, [esp + 0x74c]
mov dword [esp + 0x760], edi
mov dword [esp + 0x75c], ebx
mov byte [esp + 0x74c], bl
call fcn.004375a0
lea eax, [esp + 0x748]
lea ecx, [esp + 0x48]
mov byte [esp + 0x18f0], 0x70
call fcn.0043f650
mov esi, 0x10
cmp dword [eax + 0x14], esi
jb 0x421f66
mov eax, dword [eax]
push eax
call fcn.005450f2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa4]
add esp, 4
mov dword [ecx + 0xbd8], eax
mov byte [esp + 0x18f0], 6
cmp dword [esp + 0x75c], esi
jb 0x421fa0
mov edx, dword [esp + 0x748]
push edx
call fcn.00445171
add esp, 4
mov dword [esp + 0x75c], edi
mov dword [esp + 0x758], ebx
mov byte [esp + 0x748], bl
lea eax, [esp + 0x1694]
mov dword [esp + 0x1694], 0x4e54423c
mov dword [esp + 0x1698], 0x4154535f
mov dword [esp + 0x169c], 0x505f5452
mov dword [esp + 0x16a0], 0x3e534f
mov dword [esp + 0x7cc], edi
mov dword [esp + 0x7c8], ebx
mov byte [esp + 0x7b8], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x422000
sub eax, esi
lea ecx, [esp + 0x1694]
mov esi, eax
push ecx
lea eax, [esp + 0x7bc]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x71
lea eax, [esp + 0x15b8]
mov dword [esp + 0x794], edi
mov dword [esp + 0x790], ebx
mov byte [esp + 0x780], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x422046
sub eax, edx
lea edx, [esp + 0x15b8]
mov esi, eax
push edx
lea eax, [esp + 0x784]
call fcn.004375a0
lea eax, [esp + 0x7b8]
push eax
lea ecx, [esp + 0x10d0]
push ecx
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x788]
mov byte [esp + 0x18f8], 0x72
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x73
call fcn.00436fe0
cmp dword [esp + 0x10e0], 0x10
jb 0x4220ba
mov edx, dword [esp + 0x10cc]
push edx
call fcn.00445171
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x10e0], edi
mov dword [esp + 0x10dc], ebx
mov byte [esp + 0x10cc], bl
cmp dword [esp + 0x794], esi
jb 0x4220f2
mov eax, dword [esp + 0x780]
push eax
call fcn.00445171
add esp, 4
mov byte [esp + 0x18f0], 6
mov dword [esp + 0x794], edi
mov dword [esp + 0x790], ebx
mov byte [esp + 0x780], bl
cmp dword [esp + 0x7cc], esi
jb 0x422128
mov ecx, dword [esp + 0x7b8]
push ecx
call fcn.00445171
add esp, 4
mov dword [esp + 0x7cc], edi
mov dword [esp + 0x7c8], ebx
mov byte [esp + 0x7b8], bl
cmp dword [esp + 0x58], ebx
je 0x42226d
push 0x61c14c
mov esi, 1
lea eax, [esp + 0x7f4]
mov dword [esp + 0x808], edi
mov dword [esp + 0x804], ebx
mov byte [esp + 0x7f4], bl
call fcn.004375a0
lea edx, [esp + 0x7f0]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x18f8], 0x74
call fcn.0043f480
add esp, 8
mov byte [esp + 0x18f0], 6
cmp dword [esp + 0x804], 0x10
jb 0x4221b5
mov ecx, dword [esp + 0x7f0]
push ecx
call fcn.00445171
add esp, 4
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov dword [esp + 0x804], edi
mov edi, edx
shr edi, 0x1f
add edi, edx
mov dword [esp + 0x800], ebx
mov byte [esp + 0x7f0], bl
mov dword [esp + 0x18], ebx
cmp edi, ebx
jle 0x422250
nop
mov eax, dword [esp + 0x18]
sub eax, ebx
je 0x42221e
dec eax
jne 0x422243
cmp dword [esi + 0x14], 0x10
jb 0x422228
cmp esi, ebx
je 0x422268
mov edi, dword [esp + 0x24]
mov eax, esi
call fcn.00437bd0
push esi
call fcn.00445171
add esp, 4
mov edi, 0xf
lea eax, [esp + 0x1778]
mov dword [esp + 0x1778], 0x4e54423c
mov dword [esp + 0x177c], 0x4152465f
mov dword [esp + 0x1780], 0x535f454d
mov dword [esp + 0x1784], 0x44454c45
mov dword [esp + 0x1788], 0x4c4f435f
mov dword [esp + 0x178c], 0x3e524f
mov dword [esp + 0x874], edi
mov dword [esp + 0x870], ebx
mov byte [esp + 0x860], bl
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4222d0
sub eax, esi
lea edx, [esp + 0x1778]
mov esi, eax
push edx
lea eax, [esp + 0x864]
call fcn.004375a0
mov byte [esp + 0x18f0], 0x75
lea eax, [esp + 0x15b8]
mov dword [esp + 0x3c0], edi
mov dword [esp + 0x3bc], ebx
mov byte [esp + 0x3ac], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x422316
sub eax, edx
lea ecx, [esp + 0x15b8]
mov esi, eax
push ecx
lea eax, [esp + 0x3b0]
call fcn.004375a0
lea edx, [esp + 0x860]
push edx
lea eax, [esp + 0x10ec]
push eax
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x3b4]
mov byte [esp + 0x18f8], 0x76
call fcn.00426890
mov edi, eax
lea esi, [esp + 0x48]
mov byte [esp + 0x18f0], 0x77
call fcn.00436fe0
cmp dword [esp + 0x10fc], 0x10
jb 0x42238a
mov ecx, dword [esp + 0x10e8]
push ecx
call fcn.00445171
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x10fc], edi
mov dword [esp + 0x10f8], ebx
mov byte [esp + 0x10e8], bl
cmp dword [esp + 0x3c0], esi
jb 0x4223c2
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 7
lea ecx, [esp + 0x3c]
call fcn.00406de0
xor eax, eax
mov ecx, dword [esp + 0x18e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18d0]
xor ecx, esp
call fcn.00544a28
mov esp, ebp
pop ebp
ret 4