Function at 0x476b60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x1338
call fcn.00461390
push esi
push edi
push 0x104
lea eax, [esp + 0x1134]
push 0
push eax
call fcn.0043c520
mov edi, dword [0x4bcc48]
add esp, 0xc
mov dword [esp + 0x18], 0x8c52
mov eax, dword [esp + 0x18]
xor eax, 0x17
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
xor ecx, 0
mov dword [esp + 0x74], ecx
mov dword [esp + 0x28], 0x17
mov dword [esp + 0x2c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x58], 0x88b5
mov dword [esp + 0x5c], 0
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
add edx, eax
mov ecx, dword [esp + 0x2c]
adc esi, ecx
add edx, 1
mov dword [esp + 0x28], edx
adc esi, 0
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
sub edx, eax
mov dword [esp + 0x18], edx
sbb esi, ecx
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push eax
push ecx
push edx
push esi
call fcn.00460cc0
mov dword [esp + 0x18], eax
lea eax, [esp + 0x1130]
push eax
push 0
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push 0
push ecx
push 0
call edi
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x4bcf3c]
cmp eax, dword [ecx + 4]
jg 0x47bdaa
mov ecx, dword [0x4bcf34]
mov eax, ecx
mov edx, dword [0x4bcf30]
sub eax, edx
sar eax, 2
cmp eax, 0x28
jae 0x476cb8
mov dword [esp + 0x3dc], eax
cmp ecx, dword [0x4bcf38]
je 0x476ca8
mov dword [ecx], eax
add dword [0x4bcf34], 4
jmp 0x476cbe
lea eax, [esp + 0x3dc]
push eax
push ecx
call fcn.00410340
jmp 0x476cbe
mov dword [0x4bcf34], edx
push 0x104
lea eax, [esp + 0x123c]
push 0
push eax
call fcn.0043c520
mov edi, dword [0x4bcc48]
add esp, 0xc
mov dword [esp + 0x18], 0x8b42
mov eax, dword [esp + 0x18]
xor eax, 0x17
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
xor ecx, 0
mov dword [esp + 0x74], ecx
mov dword [esp + 0x28], 0x17
mov dword [esp + 0x2c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x58], 0x88b5
mov dword [esp + 0x5c], 0
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
add edx, eax
mov ecx, dword [esp + 0x2c]
adc esi, ecx
add edx, 1
mov dword [esp + 0x28], edx
adc esi, 0
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
sub edx, eax
mov dword [esp + 0x18], edx
sbb esi, ecx
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push eax
push ecx
push edx
push esi
call fcn.00460cc0
mov dword [esp + 0x18], eax
lea eax, [esp + 0x1238]
push eax
push 0
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push 0
push ecx
push 0
call edi
push 0x18
mov dword [esp + 0x70], 0
call fcn.00408fd0
mov edi, eax
lea edx, [esp + 0x14c]
add esp, 4
mov dword [esp + 0x4c], edi
mov ecx, edi
mov dword [esp + 0x148], edi
call fcn.004096f0
lea ecx, [edi + 4]
call fcn.004096f0
lea ecx, [edi + 8]
call fcn.004096f0
mov word [edi + 0xc], 0x101
mov ecx, edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x1a4], 0xe4
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], 0
cmp byte [eax + 0xd], 0
jne 0x476e42
cmp dword [eax + 0x10], 0xe4
mov dword [esp + 0x14], eax
jge 0x476e2c
mov eax, dword [eax + 8]
mov dword [esp + 0x34], 0
jmp 0x476e38
mov ecx, eax
mov dword [esp + 0x34], 1
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x476e12
mov edi, dword [esp + 0x4c]
cmp byte [ecx + 0xd], 0
jne 0x476e55
cmp dword [ecx + 0x10], 0xe4
jle 0x476f2a
cmp dword [esp + 0x6c], 0xaaaaaaa
je 0x47be01
lea eax, [esp + 0x1a4]
mov dword [esp + 0x14c], edi
mov dword [esp + 0xd44], eax
lea eax, [esp + 0x68]
push 0x18
mov dword [esp + 0x2cc], eax
call fcn.00408fd0
mov esi, eax
lea edx, [esp + 0x1a8]
mov al, byte [0x4aa8fb]
mov byte [esp + 0x5c], al
mov dword [esp + 0x2d0], esi
lea ecx, [esi + 0x10]
push ecx
mov eax, esp
push dword [esp + 0x60]
mov dword [eax], edx
call fcn.00417970
lea edx, [esp + 0x14c]
mov ecx, esi
call fcn.004096f0
lea ecx, [esi + 4]
call fcn.004096f0
lea ecx, [esi + 8]
call fcn.004096f0
lea edx, [esp + 0x41c]
mov word [esi + 0xc], 0
lea ecx, [esp + 0x2cc]
mov dword [esp + 0x41c], 0
call fcn.00409b30
mov ecx, dword [esp + 0x2cc]
mov esi, eax
test ecx, ecx
je 0x476f0e
push 0x18
push ecx
call fcn.00409000
add esp, 8
push esi
push dword [esp + 0x38]
lea ecx, [esp + 0x70]
push dword [esp + 0x1c]
call fcn.004098a0
mov edi, dword [esp + 0x68]
mov ecx, eax
mov dword [esp + 0x4c], edi
cmp dword [ecx + 0x14], 5
jne 0x476f54
push dword [edi + 4]
lea eax, [esp + 0x6c]
push eax
mov ecx, eax
call fcn.004102f0
mov dword [edi + 4], edi
mov dword [edi], edi
mov dword [edi + 8], edi
mov dword [esp + 0x6c], 0
jmp 0x477084
mov edx, dword [esp + 0x6c]
mov ecx, edi
mov dword [esp + 0x1a8], edx
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], 0
cmp byte [eax + 0xd], 0
jne 0x476fa2
mov dword [esp + 0x14], eax
cmp dword [eax + 0x10], edx
jge 0x476f8c
mov eax, dword [eax + 8]
mov dword [esp + 0x34], 0
jmp 0x476f98
mov ecx, eax
mov dword [esp + 0x34], 1
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x476f76
mov edi, dword [esp + 0x4c]
cmp byte [ecx + 0xd], 0
jne 0x476fb1
cmp edx, dword [ecx + 0x10]
jge 0x47707d
cmp edx, 0xaaaaaaa
je 0x47be06
lea eax, [esp + 0x1a8]
mov dword [esp + 0x150], edi
mov dword [esp + 0xd48], eax
lea eax, [esp + 0x68]
push 0x18
mov dword [esp + 0x2d4], eax
call fcn.00408fd0
mov dl, byte [0x4aa8fb]
mov esi, eax
mov byte [esp + 0x5c], dl
lea eax, [esp + 0x1ac]
mov dword [esp + 0x2d8], esi
lea ecx, [esi + 0x10]
push ecx
mov edx, esp
push dword [esp + 0x60]
mov dword [edx], eax
call fcn.00417970
lea edx, [esp + 0x150]
mov ecx, esi
call fcn.004096f0
lea ecx, [esi + 4]
call fcn.004096f0
lea ecx, [esi + 8]
call fcn.004096f0
lea edx, [esp + 0x420]
mov word [esi + 0xc], 0
lea ecx, [esp + 0x2d4]
mov dword [esp + 0x420], 0
call fcn.00409b30
mov ecx, dword [esp + 0x2d4]
mov esi, eax
test ecx, ecx
je 0x477069
push 0x18
push ecx
call fcn.00409000
add esp, 8
push esi
push dword [esp + 0x38]
lea ecx, [esp + 0x70]
push dword [esp + 0x1c]
call fcn.004098a0
mov ecx, eax
mov dword [ecx + 0x14], 5
mov eax, dword [esp + 0x68]
push dword [eax + 4]
lea eax, [esp + 0x6c]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0x6c]
call fcn.00409000
mov dword [esp + 0x6c8], 0x7e318e3d
lea ecx, [esp + 0x6c8]
mov dword [esp + 0x6cc], 0x9763defc
lea edx, [ecx + 1]
mov dword [esp + 0x6d0], 0x8078085
add esp, 8
mov dword [esp + 0x6cc], 0xbf00c2eb
movaps xmm1, xmmword [esp + 0x6c0]
mov dword [esp + 0x1f0], 0x115ec961
mov dword [esp + 0x1f4], 0xcb06b29b
mov dword [esp + 0x1f8], 0x6775e8c6
mov dword [esp + 0x1fc], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x1f0]
mov dword [esp + 0x6d0], 0xb470f093
mov dword [esp + 0x6d4], 0x649d5ade
mov dword [esp + 0x6d8], 0x6cbba867
mov dword [esp + 0x6dc], 0xc37e98b8
movaps xmmword [esp + 0x6c0], xmm1
movaps xmm1, xmmword [esp + 0x6d0]
mov dword [esp + 0x200], 0xdd1c80e3
mov dword [esp + 0x204], 0xde93bbd
mov dword [esp + 0x208], 0x6cbbc608
mov dword [esp + 0x20c], 0xc37e98b8
pxor xmm1, xmmword [esp + 0x200]
movaps xmmword [esp + 0x6d0], xmm1
mov dword [esp + 0x7f8], 0
mov dword [esp + 0x7fc], 0xf
mov byte [esp + 0x7e8], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4771b0
sub ecx, edx
lea eax, [esp + 0x6c0]
push ecx
push eax
lea ecx, [esp + 0x7f0]
call fcn.004072f0
lea eax, [esp + 0x7e8]
push eax
lea eax, [esp + 0x1134]
push eax
lea eax, [esp + 0x194]
push eax
call fcn.0040f380
mov eax, dword [esp + 0x808]
add esp, 0xc
cmp eax, 0x10
jb 0x47720b
inc eax
push eax
push dword [esp + 0x7ec]
call fcn.00409000
add esp, 8
cmp dword [esp + 0x1a0], 0x10
lea ecx, [esp + 0x18c]
mov dword [esp + 0x7f8], 0
mov dword [esp + 0x7fc], 0xf
mov byte [esp + 0x7e8], 0
mov dword [esp + 0x22c], 0xf
mov dword [esp + 0x228], 0
mov byte [esp + 0x218], 0
jb 0x47725f
mov ecx, dword [esp + 0x18c]
call fcn.0048b800
test al, al
jne 0x477777
cmp dword [esp + 0x1a0], 0x10
lea eax, [esp + 0x18c]
mov dword [esp + 0x9c0], 0x2926e141
mov dword [esp + 0x9c4], 0x8c5a9bad
mov dword [esp + 0x9c8], 0xb1287a9
mov dword [esp + 0x9cc], 0x961ffbe3
mov dword [esp + 0x9d0], 0xb871ef91
mov dword [esp + 0x9d4], 0x7d997ae1
mov dword [esp + 0x9d8], 0xdd8af64
mov dword [esp + 0x9dc], 0xad11f1cc
mov dword [esp + 0x9e0], 0x7a007915
mov dword [esp + 0x9e4], 0x3123fe0f
mov dword [esp + 0x9e8], 0x300d9d0a
mov dword [esp + 0x9ec], 0xa2341b7a
movaps xmm1, xmmword [esp + 0x9c0]
mov dword [esp + 0xe0], 0x115ec961
mov dword [esp + 0xe4], 0xcb06b29b
mov dword [esp + 0xe8], 0x6775e8c6
mov dword [esp + 0xec], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xe0]
movaps xmmword [esp + 0x9c0], xmm1
movaps xmm1, xmmword [esp + 0x9d0]
mov dword [esp + 0xf0], 0xdd1c80e3
mov dword [esp + 0xf4], 0xde93bbd
mov dword [esp + 0xf8], 0x6cbbc608
mov dword [esp + 0xfc], 0xc37e98b8
pxor xmm1, xmmword [esp + 0xf0]
movaps xmmword [esp + 0x9d0], xmm1
movaps xmm1, xmmword [esp + 0x9e0]
mov dword [esp + 0x100], 0x7a007915
mov dword [esp + 0x104], 0x3123fe0f
mov dword [esp + 0x108], 0x300d9d0a
mov dword [esp + 0x10c], 0xa2341b7a
pxor xmm1, xmmword [esp + 0x100]
movaps xmmword [esp + 0x9e0], xmm1
jb 0x4773d7
mov eax, dword [esp + 0x18c]
lea ecx, [esp + 0x9c0]
push ecx
push eax
call fcn.0043beb0
add esp, 8
test eax, eax
je 0x477777
mov dword [esp + 0x6e0], 0x7e318e3d
lea ecx, [esp + 0x6e0]
mov dword [esp + 0x6e4], 0x9763defc
lea edx, [ecx + 1]
mov dword [esp + 0x6e8], 0x8078085
mov dword [esp + 0x6ec], 0xbf00c2eb
movaps xmm1, xmmword [esp + 0x6e0]
mov dword [esp + 0x1f0], 0x115ec961
mov dword [esp + 0x1f4], 0xcb06b29b
mov dword [esp + 0x1f8], 0x6775e8c6
mov dword [esp + 0x1fc], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x1f0]
mov dword [esp + 0x6f0], 0xb470f093
mov dword [esp + 0x6f4], 0x649d5ade
mov dword [esp + 0x6f8], 0x6cbba867
mov dword [esp + 0x6fc], 0xc37e98b8
movaps xmmword [esp + 0x6e0], xmm1
movaps xmm1, xmmword [esp + 0x6f0]
mov dword [esp + 0x200], 0xdd1c80e3
mov dword [esp + 0x204], 0xde93bbd
mov dword [esp + 0x208], 0x6cbbc608
mov dword [esp + 0x20c], 0xc37e98b8
pxor xmm1, xmmword [esp + 0x200]
movaps xmmword [esp + 0x6f0], xmm1
mov dword [esp + 0x828], 0
mov dword [esp + 0x82c], 0xf
mov byte [esp + 0x818], 0
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x477500
sub ecx, edx
lea eax, [esp + 0x6e0]
push ecx
push eax
lea ecx, [esp + 0x820]
call fcn.004072f0
mov dword [esp + 0x8c0], 0x2926e141
lea ecx, [esp + 0x8c0]
mov dword [esp + 0x8c4], 0x8c5a9bad
lea edx, [ecx + 1]
mov dword [esp + 0x8c8], 0xb1287a9
mov dword [esp + 0x8cc], 0x961ffbe3
movaps xmm1, xmmword [esp + 0x8c0]
mov dword [esp + 0xe0], 0x115ec961
mov dword [esp + 0xe4], 0xcb06b29b
mov dword [esp + 0xe8], 0x6775e8c6
mov dword [esp + 0xec], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xe0]
movaps xmmword [esp + 0x8c0], xmm1
mov dword [esp + 0x8d0], 0xb871ef91
mov dword [esp + 0x8d4], 0x7d997ae1
mov dword [esp + 0x8d8], 0xdd8af64
mov dword [esp + 0x8dc], 0xad11f1cc
movaps xmm1, xmmword [esp + 0x8d0]
mov dword [esp + 0xf0], 0xdd1c80e3
mov dword [esp + 0xf4], 0xde93bbd
mov dword [esp + 0xf8], 0x6cbbc608
mov dword [esp + 0xfc], 0xc37e98b8
pxor xmm1, xmmword [esp + 0xf0]
mov dword [esp + 0x8e0], 0x7a007915
mov dword [esp + 0x8e4], 0x3123fe0f
mov dword [esp + 0x8e8], 0x300d9d0a
mov dword [esp + 0x8ec], 0xa2341b7a
movaps xmmword [esp + 0x8d0], xmm1
movaps xmm1, xmmword [esp + 0x8e0]
mov dword [esp + 0x100], 0x7a007915
mov dword [esp + 0x104], 0x3123fe0f
mov dword [esp + 0x108], 0x300d9d0a
mov dword [esp + 0x10c], 0xa2341b7a
pxor xmm1, xmmword [esp + 0x100]
movaps xmmword [esp + 0x8e0], xmm1
mov dword [esp + 0x810], 0
mov dword [esp + 0x814], 0xf
mov byte [esp + 0x800], 0
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4776a0
sub ecx, edx
lea eax, [esp + 0x8c0]
push ecx
push eax
lea ecx, [esp + 0x808]
call fcn.004072f0
lea eax, [esp + 0x818]
push eax
lea edx, [esp + 0x804]
lea ecx, [esp + 0x190]
call fcn.0048ba00
mov eax, dword [esp + 0x818]
add esp, 4
cmp eax, 0x10
jb 0x4776f9
inc eax
push eax
push dword [esp + 0x804]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x82c]
mov dword [esp + 0x810], 0
mov dword [esp + 0x814], 0xf
mov byte [esp + 0x800], 0
cmp eax, 0x10
jb 0x477734
inc eax
push eax
push dword [esp + 0x81c]
call fcn.00409000
add esp, 8
cmp dword [esp + 0x1a0], 0x10
lea ecx, [esp + 0x18c]
mov dword [esp + 0x828], 0
mov dword [esp + 0x82c], 0xf
mov byte [esp + 0x818], 0
jb 0x47776a
mov ecx, dword [esp + 0x18c]
call fcn.0048b800
test al, al
je 0x47bd2d
mov eax, dword [0x4bcc44]
push 6
push 0xa035c123
mov dword [esp + 0x78], eax
call fcn.0048fc50
push 0x1b
push 0x9e2eadd1
mov dword [esp + 0x68], eax
call fcn.0048fcf0
mov dword [esp + 0x950], 0x45188632
mov edi, eax
mov dword [esp + 0x954], 0x8e54f3cc
add esp, 0x10
mov dword [esp + 0x948], 0x81aaf9a
mov dword [esp + 0x94c], 0xa239cbe1
mov dword [esp + 0x950], 0xb26ee8a0
mov dword [esp + 0x954], 0x4fb55ed0
mov dword [esp + 0x958], 0xdde8444
mov dword [esp + 0x95c], 0xc310f7db
movaps xmm1, xmmword [esp + 0x940]
mov dword [esp + 0x120], 0x115ec961
mov dword [esp + 0x124], 0xcb06b29b
mov dword [esp + 0x128], 0x6775e8c6
mov dword [esp + 0x12c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x120]
movaps xmmword [esp + 0x940], xmm1
movaps xmm1, xmmword [esp + 0x950]
mov dword [esp + 0x50], 0x88a2
mov eax, dword [esp + 0x50]
mov dword [esp + 0x130], 0xdd1c80e3
xor eax, 0x17
mov dword [esp + 0x134], 0xde93bbd
mov dword [esp + 0x138], 0x6cbbc608
mov dword [esp + 0x13c], 0xc37e98b8
pxor xmm1, xmmword [esp + 0x130]
mov dword [esp + 0x54], 0
mov ecx, dword [esp + 0x54]
movaps xmmword [esp + 0x950], xmm1
xor ecx, 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x50], 0x17
mov dword [esp + 0x54], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x168], 0x88b5
mov dword [esp + 0x16c], 0
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
add edx, eax
mov ecx, dword [esp + 0x1c]
adc esi, ecx
add edx, 1
mov dword [esp + 0x18], edx
adc esi, 0
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
sub edx, eax
mov dword [esp + 0x50], edx
sbb esi, ecx
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.00460cc0
mov dword [esp + 0x50], eax
lea eax, [esp + 0x1ac]
push eax
push dword [esp + 0x5c]
mov dword [esp + 0x5c], edx
lea eax, [esp + 0x948]
push edi
push eax
push 0x80000001
call dword [esp + 0x84]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
cdq
cmp eax, ecx
jne 0x47bd2d
cmp edx, esi
jne 0x47bd2d
push 0x104
lea eax, [esp + 0xf2c]
push 0
push eax
call fcn.0043c520
add esp, 0xc
mov dword [esp + 0x670], 0x622cac17
lea eax, [esp + 0x424]
mov dword [esp + 0x674], 0xcb68ddf2
mov dword [esp + 0x678], 0x6775e8c6
mov dword [esp + 0x67c], 0xfe5ca786
push eax
lea eax, [esp + 0xf2c]
mov dword [esp + 0x42c], 0
push eax
lea eax, [esp + 0x430]
mov dword [esp + 0x42c], 0x104
movaps xmm1, xmmword [esp + 0x678]
push eax
push 0
lea eax, [esp + 0x680]
mov dword [esp + 0xe0], 0x115ec961
push eax
push dword [esp + 0x1c0]
mov dword [esp + 0xec], 0xcb06b29b
mov dword [esp + 0xf0], 0x6775e8c6
mov dword [esp + 0xf4], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xe8]
movaps xmmword [esp + 0x688], xmm1
call dword [0x4bcc24]
push dword [esp + 0x1ac]
call dword [0x4bcbfc]
mov dword [esp + 0x690], 0x623bbb3d
lea ecx, [esp + 0xf28]
mov dword [esp + 0x694], 0xa874c7f4
lea edx, [ecx + 1]
mov dword [esp + 0x698], 0x175b9ba3
mov dword [esp + 0x69c], 0xfe5ccce7
movaps xmm1, xmmword [esp + 0x690]
mov dword [esp + 0xd0], 0x115ec961
mov dword [esp + 0xd4], 0xcb06b29b
mov dword [esp + 0xd8], 0x6775e8c6
mov dword [esp + 0xdc], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xd0]
movaps xmmword [esp + 0x690], xmm1
mov dword [esp + 0x840], 0
mov dword [esp + 0x844], 0xf
mov byte [esp + 0x830], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x477af1
sub ecx, edx
lea eax, [esp + 0xf28]
push ecx
push eax
lea ecx, [esp + 0x838]
call fcn.004072f0
lea eax, [esp + 0x680]
mov dword [esp + 0x680], 0x115ec93d
push eax
mov dword [esp + 0x688], 0xcb06b29b
lea eax, [esp + 0x190]
mov dword [esp + 0x68c], 0x6775e8c6
mov dword [esp + 0x690], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x684]
push eax
mov dword [esp + 0xd8], 0x115ec961
lea eax, [esp + 0xd94]
mov dword [esp + 0xdc], 0xcb06b29b
mov dword [esp + 0xe0], 0x6775e8c6
mov dword [esp + 0xe4], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xd8]
push eax
movaps xmmword [esp + 0x68c], xmm1
call fcn.00407b60
add esp, 0xc
lea ecx, [esp + 0x830]
push ecx
push eax
lea eax, [esp + 0xd7c]
push eax
call fcn.00407cb0
add esp, 0xc
lea ecx, [esp + 0x690]
push ecx
push eax
lea eax, [esp + 0xd64]
push eax
call fcn.00407bd0
mov edx, eax
add esp, 0xc
lea eax, [esp + 0x218]
cmp eax, edx
je 0x477c2b
mov ecx, dword [edx]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x218], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x224], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x21c], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x228], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0x220], ecx
mov dword [esp + 0x22c], eax
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov eax, dword [esp + 0xd70]
cmp eax, 0x10
jb 0x477c48
inc eax
push eax
push dword [esp + 0xd60]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0xd88]
mov dword [esp + 0xd6c], 0
mov dword [esp + 0xd70], 0xf
mov byte [esp + 0xd5c], 0
cmp eax, 0x10
jb 0x477c83
inc eax
push eax
push dword [esp + 0xd78]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0xda0]
mov dword [esp + 0xd84], 0
mov dword [esp + 0xd88], 0xf
mov byte [esp + 0xd74], 0
cmp eax, 0x10
jb 0x477cbe
inc eax
push eax
push dword [esp + 0xd90]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x844]
mov dword [esp + 0xd9c], 0
mov dword [esp + 0xda0], 0xf
mov byte [esp + 0xd8c], 0
cmp eax, 0x10
jb 0x477cf9
inc eax
push eax
push dword [esp + 0x834]
call fcn.00409000
add esp, 8
lea ecx, [esp + 0xf28]
mov dword [esp + 0x840], 0
mov dword [esp + 0x844], 0xf
lea edx, [ecx + 1]
mov byte [esp + 0x830], 0
mov dword [esp + 0x278], 0
mov dword [esp + 0x27c], 0xf
mov byte [esp + 0x268], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x477d40
sub ecx, edx
lea eax, [esp + 0xf28]
push ecx
push eax
lea ecx, [esp + 0x270]
call fcn.004072f0
mov eax, dword [esp + 0x268]
sub esp, 0x18
mov edi, dword [esp + 0x294]
mov ecx, esp
mov dword [esp + 0x508], eax
mov eax, dword [esp + 0x284]
mov dword [esp + 0x50c], eax
mov eax, dword [esp + 0x288]
mov dword [esp + 0x510], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x514], eax
mov eax, dword [esp + 0x290]
mov dword [esp + 0x518], eax
lea eax, [esp + 0x230]
push eax
mov dword [esp + 0x520], edi
mov dword [esp + 0x294], 0
mov dword [esp + 0x298], 0xf
mov byte [esp + 0x284], 0
call fcn.00406220
lea ecx, [esp + 0x12c]
call fcn.0047d340
mov dword [esp + 0x908], 0x45188632
lea ecx, [esp + 0x908]
mov dword [esp + 0x90c], 0x8e54f3cc
lea esi, [ecx + 1]
mov dword [esp + 0x910], 0x81aaf9a
mov edx, esp
mov dword [esp + 0x914], 0xa239cbe1
movaps xmm1, xmmword [esp + 0x908]
mov dword [esp + 0xf8], 0x115ec961
mov dword [esp + 0xfc], 0xcb06b29b
mov dword [esp + 0x100], 0x6775e8c6
mov dword [esp + 0x104], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xf8]
movaps xmmword [esp + 0x908], xmm1
mov dword [esp + 0x918], 0xb26ee8a0
mov dword [esp + 0x91c], 0x5db55ed0
mov dword [esp + 0x920], 0x9dda37a
mov dword [esp + 0x924], 0xa010fdca
movaps xmm1, xmmword [esp + 0x918]
mov dword [esp + 0x108], 0xdd1c80e3
mov dword [esp + 0x10c], 0xde93bbd
mov dword [esp + 0x110], 0x6cbbc608
mov dword [esp + 0x114], 0xc37e98b8
pxor xmm1, xmmword [esp + 0x108]
mov dword [esp + 0x928], 0x39413470
mov dword [esp + 0x92c], 0x3123fe7c
mov dword [esp + 0x930], 0x300d9d0a
mov dword [esp + 0x934], 0xa2341b7a
movaps xmmword [esp + 0x918], xmm1
movaps xmm1, xmmword [esp + 0x928]
mov dword [esp + 0x118], 0x7a007915
mov dword [esp + 0x11c], 0x3123fe0f
mov dword [esp + 0x120], 0x300d9d0a
mov dword [esp + 0x124], 0xa2341b7a
pxor xmm1, xmmword [esp + 0x118]
movaps xmmword [esp + 0x928], xmm1
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x477f60
sub ecx, esi
lea eax, [esp + 0x908]
push ecx
push eax
mov ecx, edx
call fcn.004072f0
lea ecx, [esp + 0x274]
call fcn.0047bf70
mov eax, dword [esp + 0x278]
lea ecx, [esp + 0x540]
mov esi, dword [esp + 0x274]
add esp, 0x18
mov dword [esp + 0x70], eax
mov dword [esp + 0x58], esi
mov byte [esp + 0x13], 0
push 0
push 0x4aa41e
mov byte [esp + 0x2f], 0
mov dword [esp + 0x540], 0
mov dword [esp + 0x544], 0xf
mov byte [esp + 0x530], 0
call fcn.004072f0
mov eax, dword [esp + 0x70]
xor ecx, ecx
sub eax, esi
mov dword [esp + 0x1cc], ecx
sar eax, 3
imul eax, eax, 0xaaaaaaab
test eax, eax
je 0x47ba6b
mov dword [esp + 0x1e0], 0xdd1c80e3
mov dword [esp + 0x1e4], 0xde93bbd
mov dword [esp + 0x1e8], 0x6cbbc608
mov dword [esp + 0x1ec], 0xc37e98b8
movaps xmm0, xmmword [esp + 0x1e0]
mov dword [esp + 0x120], 0x115ec961
mov dword [esp + 0x124], 0xcb06b29b
mov dword [esp + 0x128], 0x6775e8c6
mov dword [esp + 0x12c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x120]
mov dword [esp + 0x130], 0xdd1c80e3
mov dword [esp + 0x134], 0xde93bbd
mov dword [esp + 0x138], 0x6cbbc608
mov dword [esp + 0x13c], 0xc37e98b8
movaps xmm2, xmmword [esp + 0x130]
mov dword [esp + 0x1d0], 0x115ec961
mov dword [esp + 0x1d4], 0xcb06b29b
mov dword [esp + 0x1d8], 0x6775e8c6
mov dword [esp + 0x1dc], 0xfe5ca786
movaps xmmword [esp + 0xef0], xmm0
movaps xmm0, xmmword [esp + 0x1d0]
movaps xmmword [esp + 0x1f0], xmm2
movaps xmmword [esp + 0xee0], xmm1
movaps xmmword [esp + 0xf00], xmm0
lea esp, [esp]
mov dword [esp + 0x700], 0x7e318e3d
lea eax, [ecx + ecx*2]
mov dword [esp + 0x704], 0x9763defc
lea esi, [esi + eax*8]
mov dword [esp + 0x708], 0x8078085
lea ecx, [esp + 0x700]
mov dword [esp + 0x70c], 0xab00c2eb
lea edx, [ecx + 1]
movaps xmm0, xmmword [esp + 0x700]
pxor xmm0, xmm1
mov dword [esp + 0x710], 0xfd6ee590
mov dword [esp + 0x714], 0x6c9d5af9
mov dword [esp + 0x718], 0x6cbbc654
mov dword [esp + 0x71c], 0xc37e98b8
movaps xmmword [esp + 0x700], xmm0
movaps xmm0, xmmword [esp + 0x710]
pxor xmm0, xmm2
mov dword [esp + 0x28], esi
movaps xmmword [esp + 0x710], xmm0
mov dword [esp + 0x858], 0
mov dword [esp + 0x85c], 0xf
mov byte [esp + 0x848], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4781a2
sub ecx, edx
lea eax, [esp + 0x700]
push ecx
push eax
lea ecx, [esp + 0x850]
call fcn.004072f0
lea eax, [esp + 0x848]
push eax
lea eax, [esp + 0x123c]
push eax
lea eax, [esp + 0xdac]
push eax
call fcn.0040f380
add esp, 0xc
push esi
push eax
lea eax, [esp + 0xd34]
push eax
call fcn.0040f3f0
mov eax, dword [esp + 0xdc4]
add esp, 0xc
cmp eax, 0x10
jb 0x47820f
inc eax
push eax
push dword [esp + 0xda8]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x85c]
mov dword [esp + 0xdb4], 0
mov dword [esp + 0xdb8], 0xf
mov byte [esp + 0xda4], 0
cmp eax, 0x10
jb 0x47824a
inc eax
push eax
push dword [esp + 0x84c]
call fcn.00409000
add esp, 8
lea ecx, [esp + 0x90]
mov dword [esp + 0x858], 0
mov dword [esp + 0x85c], 0xf
mov byte [esp + 0x848], 0
call fcn.0040c750
lea eax, [esp + 0x154]
mov dword [esp + 0x154], 0xe4
push eax
lea ecx, [esp + 0x94]
call fcn.0040c650
lea ecx, [esp + 0x90]
cmp dword [eax], 5
jne 0x4782c6
mov esi, dword [esp + 0x90]
mov eax, ecx
push dword [esi + 4]
push eax
call fcn.004102f0
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [esp + 0x94], 0
jmp 0x4782e7
mov eax, dword [esp + 0x94]
mov dword [esp + 0x42c], eax
lea eax, [esp + 0x42c]
push eax
call fcn.0040c650
mov dword [eax], 5
mov eax, dword [esp + 0x90]
push dword [eax + 4]
lea eax, [esp + 0x94]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0x94]
call fcn.00409000
mov dword [esp + 0x928], 0x723b9a3d
lea eax, [esp + 0x928]
mov dword [esp + 0x92c], 0xeb63c0ee
mov dword [esp + 0x930], 0x1109a96
mov dword [esp + 0x934], 0x9039d5e3
movaps xmm0, xmmword [esp + 0x928]
pxor xmm0, xmmword [esp + 0xf08]
push eax
mov dword [esp + 0x93c], 0xdd6fe580
lea eax, [esp + 0xd38]
mov dword [esp + 0x940], 0xde93bbd
mov dword [esp + 0x944], 0x6cbbc608
mov dword [esp + 0x948], 0xc37e98b8
movaps xmmword [esp + 0x92c], xmm0
movaps xmm0, xmmword [esp + 0x93c]
pxor xmm0, xmmword [esp + 0xefc]
push eax
lea eax, [esp + 0xa40]
movaps xmmword [esp + 0x940], xmm0
push eax
call fcn.00407b60
mov eax, dword [esp + 0xa58]
cmp eax, 0x10
push ecx
mov edi, esp
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0xa48]
lea ecx, [esp + 0xa48]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
jb 0x4783f5
mov ecx, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xa58]
mov dword [esp + 0x4c], eax
cmp eax, 0x10
jae 0x478422
mov eax, dword [ecx]
mov dword [edi], eax
mov eax, dword [ecx + 4]
mov dword [edi + 4], eax
mov eax, dword [ecx + 8]
mov dword [edi + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [edi + 0xc], eax
mov eax, 0xf
jmp 0x478483
or eax, 0xf
mov dword [esp + 0xd64], 0x7fffffff
mov dword [esp + 0x64], eax
mov dword [esp + 0xd70], eax
cmp eax, 0x7fffffff
jbe 0x47844b
mov eax, 0x7fffffff
mov dword [esp + 0x64], eax
inc eax
push eax
call fcn.00408fd0
add esp, 4
mov esi, eax
lea eax, [esp + 0x448]
mov dword [esp + 0x448], esi
push eax
push edi
call fcn.00408fc0
mov ecx, dword [esp + 0x54]
inc ecx
push ecx
push dword [esp + 0x38]
push esi
call fcn.0043c680
mov eax, dword [esp + 0x78]
add esp, 0x14
mov ecx, dword [esp + 0x4c]
mov dword [edi + 0x10], ecx
lea ecx, [esp + 0x298]
mov dword [edi + 0x14], eax
call fcn.0047e470
add esp, 0x18
cmp dword [esp + 0x290], 0
je 0x47b995
sub esp, 0x28
lea edx, [esp + 0x2a8]
mov eax, esp
lea ecx, [esp + 0x180]
sub esp, 8
mov dword [eax + 0x24], 0
call fcn.0040f510
mov eax, dword [esp + 0x188]
add esp, 0x30
test al, al
je 0x47b988
cmp al, 1
je 0x4784ea
cmp al, 2
jne 0x47b988
sub esp, 0x28
lea edx, [ebp + 0x20]
mov eax, esp
lea ecx, [esp + 0x60]
sub esp, 8
mov dword [eax + 0x24], 0
call fcn.0040f510
add esp, 0x30
lea ecx, [esp + 0x38]
call fcn.0047d5a0
test al, al
je 0x478545
jmp 0x478520
mov esi, dword [0x4bcc40]
push 0x1b
push 0x9e2eadd1
call fcn.0048fcf0
add esp, 8
push eax
call esi
lea ecx, [esp + 0x38]
call fcn.0047d5a0
test al, al
jne 0x478520
lea eax, [esp + 0xf18]
push eax
lea ecx, [esp + 0x3c]
call fcn.0040bf50
mov ecx, dword [eax]
cmp byte [ecx], 1
jne 0x47be0b
mov eax, dword [eax + 4]
lea ecx, [esp + 0xb8]
add eax, 0x10
push eax
call fcn.00406220
cmp dword [esp + 0x538], 0
jne 0x4785aa
cmp dword [esp + 0xcc], 0x10
lea eax, [esp + 0xb8]
jb 0x478596
mov eax, dword [esp + 0xb8]
push dword [esp + 0xc8]
lea ecx, [esp + 0x52c]
push eax
call fcn.004072f0
mov al, byte [esp + 0x38]
test al, al
jne 0x4785c8
mov byte [esp + 0x38], 1
call fcn.0040fc40
mov ecx, eax
mov al, byte [esp + 0x38]
mov dword [esp + 0x40], ecx
jmp 0x4785cc
mov ecx, dword [esp + 0x40]
cmp al, 1
jne 0x47be0b
lea eax, [esp + 0xb8]
push eax
call fcn.0040e020
mov dword [esp + 0x6a0], 0x6532a007
lea ecx, [esp + 0x6a0]
mov dword [esp + 0x6a4], 0xa959c0fe
mov dword [esp + 0x6a8], 0x140287b4
mov dword [esp + 0x6ac], 0xfe2fd5e3
movaps xmm1, xmmword [esp + 0x6a0]
mov dword [esp + 0xb60], 0x115ec961
mov dword [esp + 0xb64], 0xcb06b29b
mov dword [esp + 0xb68], 0x6775e8c6
mov dword [esp + 0xb6c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xb60]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x6a4], xmm1
call fcn.0040f7b0
cmp byte [eax], 0
je 0x478cda
mov al, byte [esp + 0x38]
mov byte [esp + 0x13], 0
test al, al
jne 0x47868d
mov byte [esp + 0x38], 1
call fcn.0040fc40
mov ecx, eax
mov al, byte [esp + 0x38]
mov dword [esp + 0x40], ecx
jmp 0x478691
mov ecx, dword [esp + 0x40]
cmp al, 1
jne 0x47be0b
lea eax, [esp + 0xb8]
push eax
call fcn.0040e020
mov dword [esp + 0x6b0], 0x6532a007
lea ecx, [esp + 0x6b0]
mov dword [esp + 0x6b4], 0xa959c0fe
mov dword [esp + 0x6b8], 0x140287b4
mov dword [esp + 0x6bc], 0xfe2fd5e3
movaps xmm1, xmmword [esp + 0x6b0]
mov dword [esp + 0xb70], 0x115ec961
mov dword [esp + 0xb74], 0xcb06b29b
mov dword [esp + 0xb78], 0x6775e8c6
mov dword [esp + 0xb7c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xb70]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x6b4], xmm1
call fcn.0040f7b0
sub esp, 0x10
mov esi, eax
mov ecx, esi
mov dword [esp + 0xd60], esi
push esp
call fcn.0040bf50
lea ecx, [esp + 0xe48]
call fcn.0040d9d0
sub esp, 0x10
mov ecx, esi
push esp
call fcn.0040e2d0
lea ecx, [esp + 0xe90]
call fcn.0040d9d0
lea eax, [esp + 0xe80]
push eax
lea ecx, [esp + 0xe3c]
call fcn.0040bdf0
test al, al
je 0x478a9f
mov dword [esp + 0xb80], 0x115ec961
mov dword [esp + 0xb84], 0xcb06b29b
mov dword [esp + 0xb88], 0x6775e8c6
mov dword [esp + 0xb8c], 0xfe5ca786
mov dword [esp + 0x510], 0x7e2ca102
lea ecx, [esp + 0x510]
mov dword [esp + 0x514], 0xcb06d7f6
lea edx, [ecx + 1]
mov dword [esp + 0x518], 0x6775e8c6
mov dword [esp + 0x51c], 0xfe5ca786
movaps xmm0, xmmword [esp + 0x510]
pxor xmm0, xmmword [esp + 0xb80]
movaps xmmword [esp + 0x510], xmm0
mov dword [esp + 0x798], 0
mov dword [esp + 0x79c], 0xf
mov byte [esp + 0x788], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x478812
sub ecx, edx
lea eax, [esp + 0x510]
push ecx
push eax
lea ecx, [esp + 0x790]
call fcn.004072f0
mov esi, dword [esp + 0xe38]
movzx eax, byte [esi]
sub eax, 0
je 0x47be0b
sub eax, 1
je 0x478866
sub eax, 1
je 0x47885d
cmp dword [esp + 0xe44], 0
jne 0x47be0b
jmp 0x478870
mov esi, dword [esp + 0xe40]
jmp 0x478870
mov esi, dword [esp + 0xe3c]
add esi, 0x28
mov al, byte [esi]
mov dword [esp + 0x440], 0x6631bb03
mov dword [esp + 0x444], 0xcb74d7e8
mov dword [esp + 0x448], 0x6775e8c6
mov dword [esp + 0x44c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x440]
mov dword [esp + 0xc80], 0x115ec961
mov dword [esp + 0xc84], 0xcb06b29b
mov dword [esp + 0xc88], 0x6775e8c6
mov dword [esp + 0xc8c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xc80]
movaps xmmword [esp + 0x440], xmm1
test al, al
jne 0x47890e
push 1
lea ecx, [esp + 0xa2c]
mov byte [esi], 1
call fcn.0040de80
mov eax, dword [esp + 0xa28]
mov dword [esi + 8], eax
mov eax, dword [esp + 0xa2c]
mov dword [esi + 0xc], eax
mov al, byte [esi]
cmp al, 1
jne 0x47be0b
mov esi, dword [esi + 8]
lea edx, [esp + 0x440]
mov dword [esp + 0x870], 0
lea ecx, [edx + 1]
mov dword [esp + 0x874], 0xf
mov byte [esp + 0x860], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x478941
sub edx, ecx
lea eax, [esp + 0x440]
push edx
push eax
lea ecx, [esp + 0x868]
call fcn.004072f0
lea eax, [esp + 0x860]
mov ecx, esi
push eax
call fcn.004112e0
mov ecx, dword [esp + 0x874]
mov esi, eax
cmp ecx, 0x10
jb 0x47898d
inc ecx
push ecx
push dword [esp + 0x864]
call fcn.00409000
add esp, 8
lea edx, [esp + 0x878]
mov dword [esp + 0x870], 0
mov ecx, esi
mov dword [esp + 0x874], 0xf
mov byte [esp + 0x860], 0
mov dword [esp + 0x888], 0
mov dword [esp + 0x88c], 0xf
mov byte [esp + 0x878], 0
call fcn.00418530
lea eax, [esp + 0x788]
push eax
lea eax, [esp + 0x87c]
push eax
call fcn.00408c90
mov ecx, dword [esp + 0x894]
add esp, 8
mov byte [esp + 0x12], al
cmp ecx, 0x10
jb 0x478a10
inc ecx
push ecx
push dword [esp + 0x87c]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x79c]
mov dword [esp + 0x888], 0
mov dword [esp + 0x88c], 0xf
mov byte [esp + 0x878], 0
cmp eax, 0x10
jb 0x478a4b
inc eax
push eax
push dword [esp + 0x78c]
call fcn.00409000
add esp, 8
cmp byte [esp + 0x12], 0
mov dword [esp + 0x798], 0
mov dword [esp + 0x79c], 0xf
mov byte [esp + 0x788], 0
jne 0x478a9a
lea ecx, [esp + 0xe38]
call fcn.0040be40
lea eax, [esp + 0xe80]
push eax
lea ecx, [esp + 0xe3c]
call fcn.0040bdf0
test al, al
jne 0x4787a5
jmp 0x478a9f
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0xec4]
cmp eax, 0x10
jb 0x478abc
inc eax
push eax
push dword [esp + 0xeb4]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0xeac]
mov dword [esp + 0xec0], 0
mov dword [esp + 0xec4], 0xf
mov byte [esp + 0xeb0], 0
cmp eax, 0x10
jb 0x478af7
inc eax
push eax
push dword [esp + 0xe9c]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0xe7c]
mov dword [esp + 0xea8], 0
mov dword [esp + 0xeac], 0xf
mov byte [esp + 0xe98], 0
cmp eax, 0x10
jb 0x478b32
inc eax
push eax
push dword [esp + 0xe6c]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0xe64]
mov dword [esp + 0xe78], 0
mov dword [esp + 0xe7c], 0xf
mov byte [esp + 0xe68], 0
cmp eax, 0x10
jb 0x478b6d
inc eax
push eax
push dword [esp + 0xe54]
call fcn.00409000
add esp, 8
cmp byte [esp + 0x13], 0
mov dword [esp + 0xe60], 0
mov dword [esp + 0xe64], 0xf
mov byte [esp + 0xe50], 0
je 0x47b939
mov dword [esp + 0x450], 0x6532a007
lea ecx, [esp + 0x450]
mov dword [esp + 0x454], 0xa959c0fe
lea edx, [ecx + 1]
mov dword [esp + 0x458], 0x140287b4
mov dword [esp + 0x45c], 0xfe2fd5e3
movaps xmm1, xmmword [esp + 0x450]
mov dword [esp + 0xba0], 0x115ec961
mov dword [esp + 0xba4], 0xcb06b29b
mov dword [esp + 0xba8], 0x6775e8c6
mov dword [esp + 0xbac], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xba0]
movaps xmmword [esp + 0x450], xmm1
mov dword [esp + 0x7b0], 0
mov dword [esp + 0x7b4], 0xf
mov byte [esp + 0x7a0], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x478c30
sub ecx, edx
lea eax, [esp + 0x450]
push ecx
push eax
lea ecx, [esp + 0x7a8]
call fcn.004072f0
mov cl, byte [esp + 0x38]
test cl, cl
jne 0x478c6a
mov byte [esp + 0x38], 1
call fcn.0040fc40
mov cl, byte [esp + 0x38]
mov dword [esp + 0x40], eax
jmp 0x478c6e
mov eax, dword [esp + 0x40]
cmp cl, 1
jne 0x47be0b
lea ecx, [esp + 0xb8]
push ecx
mov ecx, eax
call fcn.0040e020
cmp byte [eax], 1
jne 0x47be0b
lea ecx, [esp + 0x7a0]
push ecx
mov ecx, dword [eax + 8]
call fcn.0040e130
mov eax, dword [esp + 0x7b4]
cmp eax, 0x10
jb 0x478cbc
inc eax
push eax
push dword [esp + 0x7a4]
call fcn.00409000
add esp, 8
mov dword [esp + 0x7b0], 0
mov dword [esp + 0x7b4], 0xf
mov byte [esp + 0x7a0], 0
mov al, byte [esp + 0x38]
test al, al
jne 0x478cf8
mov byte [esp + 0x38], 1
call fcn.0040fc40
mov ecx, eax
mov al, byte [esp + 0x38]
mov dword [esp + 0x40], ecx
jmp 0x478cfc
mov ecx, dword [esp + 0x40]
cmp al, 1
jne 0x47be0b
lea eax, [esp + 0xb8]
push eax
call fcn.0040e020
mov dword [esp + 0x960], 0x4e3bba14
lea ecx, [esp + 0x960]
mov dword [esp + 0x964], 0xa563c2f4
mov dword [esp + 0x968], 0x8078a99
mov dword [esp + 0x96c], 0x8c39d4f1
movaps xmm1, xmmword [esp + 0x960]
mov dword [esp + 0xbf0], 0x115ec961
mov dword [esp + 0xbf4], 0xcb06b29b
mov dword [esp + 0xbf8], 0x6775e8c6
mov dword [esp + 0xbfc], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xbf0]
mov dword [esp + 0x970], 0xdd1c80e3
mov dword [esp + 0x974], 0xde93bbd
mov dword [esp + 0x978], 0x6cbbc608
mov dword [esp + 0x97c], 0xc37e98b8
movaps xmmword [esp + 0x960], xmm1
movaps xmm1, xmmword [esp + 0x970]
mov dword [esp + 0xc00], 0xdd1c80e3
mov dword [esp + 0xc04], 0xde93bbd
mov dword [esp + 0xc08], 0x6cbbc608
mov dword [esp + 0xc0c], 0xc37e98b8
pxor xmm1, xmmword [esp + 0xc00]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x974], xmm1
call fcn.0040f7b0
cmp byte [eax], 0
je 0x478f51
mov al, byte [esp + 0x38]
test al, al
jne 0x478e29
mov byte [esp + 0x38], 1
call fcn.0040fc40
mov ecx, eax
mov al, byte [esp + 0x38]
mov dword [esp + 0x40], ecx
jmp 0x478e2d
mov ecx, dword [esp + 0x40]
cmp al, 1
jne 0x47be0b
lea eax, [esp + 0xb8]
push eax
call fcn.0040e020
mov dword [esp + 0x1d0], 0x4e3bba14
lea ecx, [esp + 0x1d0]
mov dword [esp + 0x1d4], 0xa563c2f4
mov dword [esp + 0x1d8], 0x8078a99
mov dword [esp + 0x1dc], 0x8c39d4f1
movaps xmm1, xmmword [esp + 0x1d0]
mov dword [esp + 0xc10], 0x115ec961
mov dword [esp + 0xc14], 0xcb06b29b
mov dword [esp + 0xc18], 0x6775e8c6
mov dword [esp + 0xc1c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xc10]
mov dword [esp + 0x1e0], 0xdd1c80e3
mov dword [esp + 0x1e4], 0xde93bbd
mov dword [esp + 0x1e8], 0x6cbbc608
mov dword [esp + 0x1ec], 0xc37e98b8
movaps xmmword [esp + 0x1d0], xmm1
movaps xmm1, xmmword [esp + 0x1e0]
mov dword [esp + 0xc20], 0xdd1c80e3
mov dword [esp + 0xc24], 0xde93bbd
mov dword [esp + 0xc28], 0x6cbbc608
mov dword [esp + 0xc2c], 0xc37e98b8
pxor xmm1, xmmword [esp + 0xc20]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x1e4], xmm1
call fcn.0040f7b0
lea edx, [esp + 0x26]
mov byte [esp + 0x26], 0
mov ecx, eax
call fcn.00418560
cmp byte [esp + 0x26], 1
jne 0x478f51
mov byte [0x4bcbee], 1
mov dword [esp + 0x720], 0x742ab104
lea eax, [esp + 0x720]
mov dword [esp + 0x724], 0xa46fc1f5
lea ecx, [esp + 0x158]
mov dword [esp + 0x728], 0x67759ba8
mov dword [esp + 0x72c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x720]
mov dword [esp + 0xbb0], 0x115ec961
mov dword [esp + 0xbb4], 0xcb06b29b
mov dword [esp + 0xbb8], 0x6775e8c6
mov dword [esp + 0xbbc], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xbb0]
push eax
movaps xmmword [esp + 0x724], xmm1
call fcn.0040f7b0
mov dword [esp + 0x730], 0x652aac12
lea ecx, [esp + 0x730]
mov dword [esp + 0x734], 0xb861dcf2
mov dword [esp + 0x738], 0x6775e8c6
mov dword [esp + 0x73c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x730]
mov dword [esp + 0xbc0], 0x115ec961
mov dword [esp + 0xbc4], 0xcb06b29b
mov dword [esp + 0xbc8], 0x6775e8c6
mov dword [esp + 0xbcc], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xbc0]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x734], xmm1
call fcn.0040f7b0
mov cl, byte [esp + 0x38]
mov esi, eax
test cl, cl
jne 0x479074
mov byte [esp + 0x38], 1
call fcn.0040fc40
mov cl, byte [esp + 0x38]
mov dword [esp + 0x40], eax
jmp 0x479078
mov eax, dword [esp + 0x40]
cmp cl, 1
jne 0x47be0b
lea ecx, [esp + 0xb8]
push ecx
mov ecx, eax
call fcn.0040e020
mov cl, byte [esi]
mov edi, eax
test cl, cl
jne 0x4790a5
mov byte [esi], 1
call fcn.0040fc40
mov cl, byte [esi]
mov dword [esi + 8], eax
cmp cl, 1
jne 0x47be0b
mov ecx, dword [esi + 8]
lea eax, [esp + 0xb8]
push eax
call fcn.0040e020
push edi
lea ecx, [esp + 0xbd4]
mov esi, eax
call fcn.0040c170
lea edx, [esp + 0xbd0]
mov ecx, esi
call fcn.00409040
lea ecx, [esi + 8]
lea edx, [esp + 0xbd8]
call fcn.0040fc20
push dword [esp + 0xbd0]
mov ecx, edx
call fcn.0040da90
mov dword [esp + 0x740], 0x742ab104
lea eax, [esp + 0x740]
mov dword [esp + 0x744], 0xa46fc1f5
lea ecx, [esp + 0x158]
mov dword [esp + 0x748], 0x67759ba8
mov dword [esp + 0x74c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x740]
mov dword [esp + 0xbe0], 0x115ec961
mov dword [esp + 0xbe4], 0xcb06b29b
mov dword [esp + 0xbe8], 0x6775e8c6
mov dword [esp + 0xbec], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xbe0]
push eax
movaps xmmword [esp + 0x744], xmm1
call fcn.0040f7b0
mov dword [esp + 0x540], 0x652aac12
lea ecx, [esp + 0x540]
mov dword [esp + 0x544], 0xb861dcf2
mov dword [esp + 0x548], 0x6775e8c6
mov dword [esp + 0x54c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x540]
mov dword [esp + 0xc70], 0x115ec961
mov dword [esp + 0xc74], 0xcb06b29b
mov dword [esp + 0xc78], 0x6775e8c6
mov dword [esp + 0xc7c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xc70]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x544], xmm1
call fcn.0040f7b0
mov esi, eax
mov al, byte [esi]
test al, al
jne 0x479212
mov byte [esi], 1
call fcn.0040fc40
mov dword [esi + 8], eax
mov al, byte [esi]
cmp al, 1
jne 0x47be0b
mov ecx, dword [esi + 8]
lea eax, [esp + 0xb8]
push eax
call fcn.0040e020
mov dword [esp + 0x550], 0x652da708
mov esi, eax
mov dword [esp + 0x554], 0x946adefa
mov dword [esp + 0x558], 0x21881b2
mov dword [esp + 0x55c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x550]
mov dword [esp + 0xc90], 0x115ec961
mov dword [esp + 0xc94], 0xcb06b29b
mov dword [esp + 0xc98], 0x6775e8c6
mov dword [esp + 0xc9c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xc90]
movaps xmmword [esp + 0x550], xmm1
call fcn.0048b940
push edx
push eax
lea ecx, [esp + 0xd1c]
call fcn.0040f2b0
add esp, 8
mov byte [esp + 0x460], 0
xor eax, eax
lea edx, [esp + 0xd14]
lea ecx, [esp + 0x460]
mov dword [esp + 0x468], eax
mov dword [esp + 0x46c], eax
call fcn.004177e0
lea eax, [esp + 0x550]
mov ecx, esi
push eax
call fcn.0040f7b0
mov ecx, eax
lea edx, [esp + 0x460]
call fcn.00409040
add ecx, 8
lea edx, [esp + 0x468]
call fcn.0040fc20
push dword [esp + 0x460]
mov ecx, edx
call fcn.0040da90
mov eax, dword [esp + 0xd28]
cmp eax, 0x10
jb 0x479335
inc eax
push eax
push dword [esp + 0xd18]
call fcn.00409000
add esp, 8
mov dword [esp + 0x560], 0x742ab104
lea eax, [esp + 0x560]
mov dword [esp + 0x564], 0xa46fc1f5
lea ecx, [esp + 0x158]
mov dword [esp + 0x568], 0x67759ba8
mov dword [esp + 0x56c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x560]
mov dword [esp + 0xca0], 0x115ec961
mov dword [esp + 0xca4], 0xcb06b29b
mov dword [esp + 0xca8], 0x6775e8c6
mov dword [esp + 0xcac], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xca0]
push eax
mov dword [esp + 0xd28], 0
mov dword [esp + 0xd2c], 0xf
mov byte [esp + 0xd18], 0
movaps xmmword [esp + 0x564], xmm1
call fcn.0040f7b0
mov dword [esp + 0x570], 0x652aac12
lea ecx, [esp + 0x570]
mov dword [esp + 0x574], 0xb861dcf2
mov dword [esp + 0x578], 0x6775e8c6
mov dword [esp + 0x57c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x570]
mov dword [esp + 0xa60], 0x115ec961
mov dword [esp + 0xa64], 0xcb06b29b
mov dword [esp + 0xa68], 0x6775e8c6
mov dword [esp + 0xa6c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xa60]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x574], xmm1
call fcn.0040f7b0
mov esi, eax
mov al, byte [esi]
test al, al
jne 0x47946d
mov byte [esi], 1
call fcn.0040fc40
mov dword [esi + 8], eax
mov al, byte [esi]
cmp al, 1
jne 0x47be0b
mov ecx, dword [esi + 8]
lea eax, [esp + 0xb8]
push eax
call fcn.0040e020
mov dword [esp + 0x580], 0x792aa811
lea ecx, [esp + 0x580]
mov dword [esp + 0x584], 0xcb06b29b
mov dword [esp + 0x588], 0x6775e8c6
mov dword [esp + 0x58c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x580]
mov dword [esp + 0xa70], 0x115ec961
mov dword [esp + 0xa74], 0xcb06b29b
mov dword [esp + 0xa78], 0x6775e8c6
mov dword [esp + 0xa7c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xa70]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x584], xmm1
call fcn.0040f7b0
lea edx, [esp + 0x7b8]
mov dword [esp + 0x7c8], 0
mov ecx, eax
mov dword [esp + 0x7cc], 0xf
mov byte [esp + 0x7b8], 0
call fcn.00418530
lea eax, [esp + 0x590]
mov dword [esp + 0x590], 0x65268c3d
push eax
mov dword [esp + 0x598], 0xa275dcfe
lea eax, [esp + 0xd30]
mov dword [esp + 0x59c], 0x3b0686a9
mov dword [esp + 0x5a0], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x594]
push eax
mov dword [esp + 0xa88], 0x115ec961
lea eax, [esp + 0xdc4]
mov dword [esp + 0xa8c], 0xcb06b29b
mov dword [esp + 0xa90], 0x6775e8c6
mov dword [esp + 0xa94], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xa88]
push eax
movaps xmmword [esp + 0x59c], xmm1
call fcn.00407b60
add esp, 0xc
lea ecx, [esp + 0x7b8]
push ecx
push eax
lea eax, [esp + 0x1bc]
push eax
call fcn.00407cb0
mov eax, dword [esp + 0xddc]
add esp, 0xc
cmp eax, 0x10
jb 0x4795f8
inc eax
push eax
push dword [esp + 0xdc0]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x7cc]
mov dword [esp + 0xdcc], 0
mov dword [esp + 0xdd0], 0xf
mov byte [esp + 0xdbc], 0
cmp eax, 0x10
jb 0x479633
inc eax
push eax
push dword [esp + 0x7bc]
call fcn.00409000
add esp, 8
mov dword [esp + 0x7c8], 0
xor esi, esi
mov dword [esp + 0x7cc], 0xf
mov byte [esp + 0x7b8], 0
mov dword [esp + 0xa90], 0x115ec961
mov dword [esp + 0xa94], 0xcb06b29b
mov dword [esp + 0xa98], 0x6775e8c6
mov dword [esp + 0xa9c], 0xfe5ca786
nop
mov dword [esp + 0x240], 0x115ee63d
lea ecx, [esi + 1]
mov dword [esp + 0x244], 0xcb06b29b
lea esi, [esp + 0x240]
mov dword [esp + 0x248], 0x6775e8c6
lea edx, [esi + 1]
mov dword [esp + 0x24c], 0xfe5ca786
movaps xmm0, xmmword [esp + 0x240]
pxor xmm0, xmmword [esp + 0xa90]
movaps xmmword [esp + 0x240], xmm0
mov dword [esp + 0x4c], ecx
mov al, byte [esi]
inc esi
test al, al
jne 0x4796d6
sub esi, edx
lea eax, [esp + 0x1b4]
cmp dword [esp + 0x1c8], 0x10
mov dword [esp + 0x14], eax
jb 0x4796ff
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x1c4]
test esi, esi
je 0x479778
cmp ecx, edi
jae 0x479778
push 0x100
lea eax, [esp + 0x1034]
push 0
push eax
call fcn.0043c520
lea ecx, [esp + 0x24c]
add esp, 0xc
mov edx, ecx
mov eax, ecx
add edx, esi
cmp eax, edx
je 0x479750
jmp 0x479740
movzx eax, byte [ecx]
inc ecx
mov byte [esp + eax + 0x1030], 1
cmp ecx, edx
jne 0x479740
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x4c]
add esi, edx
lea ecx, [edi + edx]
cmp esi, ecx
jae 0x479778
movzx eax, byte [esi]
mov al, byte [esp + eax + 0x1030]
test al, al
jne 0x47a53e
inc esi
cmp esi, ecx
jb 0x479761
or esi, 0xffffffff
mov dword [esp + 0x4d0], 0
mov dword [esp + 0x4d4], 0xf
mov byte [esp + 0x4c0], 0
mov dword [esp + 0x168], esi
mov dword [esp + 0x50], edi
cmp edi, esi
jb 0x4797aa
mov edi, esi
cmp dword [esp + 0x1c8], 0x10
lea eax, [esp + 0x1b4]
jb 0x4797c2
mov eax, dword [esp + 0x1b4]
push edi
push eax
lea ecx, [esp + 0x4c8]
call fcn.004072f0
cmp dword [esp + 0x4d4], 0x10
lea ecx, [esp + 0x4c0]
jb 0x4797e8
mov ecx, dword [esp + 0x4c0]
call fcn.0048b800
test al, al
mov eax, dword [esp + 0x4d4]
sete byte [esp + 0x12]
cmp eax, 0x10
jb 0x479811
inc eax
push eax
push dword [esp + 0x4c4]
call fcn.00409000
add esp, 8
cmp byte [esp + 0x12], 0
mov dword [esp + 0x4d0], 0
mov dword [esp + 0x4d4], 0xf
mov byte [esp + 0x4c0], 0
je 0x4798f7
mov eax, dword [esp + 0x1c4]
mov edi, dword [0x4bcc00]
mov dword [esp + 0x4e8], 0
mov dword [esp + 0x4ec], 0xf
mov byte [esp + 0x4d8], 0
mov dword [esp + 0xd54], esi
mov dword [esp + 0xdd4], eax
cmp eax, esi
jb 0x479879
mov eax, esi
cmp dword [esp + 0x1c8], 0x10
lea ecx, [esp + 0x1b4]
jb 0x479891
mov ecx, dword [esp + 0x1b4]
push eax
push ecx
lea ecx, [esp + 0x4e0]
call fcn.004072f0
cmp dword [esp + 0x4ec], 0x10
lea eax, [esp + 0x4d8]
jb 0x4798b7
mov eax, dword [esp + 0x4d8]
push 0
push eax
call edi
mov eax, dword [esp + 0x4ec]
cmp eax, 0x10
jb 0x4798d9
inc eax
push eax
push dword [esp + 0x4dc]
call fcn.00409000
add esp, 8
mov dword [esp + 0x4e8], 0
mov dword [esp + 0x4ec], 0xf
mov byte [esp + 0x4d8], 0
cmp esi, 0xffffffff
jne 0x479680
sub esp, 0x18
lea eax, [esp + 0x1cc]
mov ecx, esp
push eax
call fcn.00406220
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.00406220
call fcn.0047e970
add esp, 0x30
mov dword [esp + 0x5a0], 0x742ab104
mov dword [esp + 0x5a4], 0xa46fc1f5
lea eax, [esp + 0x5a0]
mov dword [esp + 0x5a8], 0x67759ba8
lea ecx, [esp + 0x158]
mov dword [esp + 0x5ac], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x5a0]
mov dword [esp + 0xaa0], 0x115ec961
mov dword [esp + 0xaa4], 0xcb06b29b
mov dword [esp + 0xaa8], 0x6775e8c6
mov dword [esp + 0xaac], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xaa0]
push eax
movaps xmmword [esp + 0x5a4], xmm1
call fcn.0040f7b0
mov dword [esp + 0x5b0], 0x652aac12
lea ecx, [esp + 0x5b0]
mov dword [esp + 0x5b4], 0xb861dcf2
mov dword [esp + 0x5b8], 0x6775e8c6
mov dword [esp + 0x5bc], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x5b0]
mov dword [esp + 0xab0], 0x115ec961
mov dword [esp + 0xab4], 0xcb06b29b
mov dword [esp + 0xab8], 0x6775e8c6
mov dword [esp + 0xabc], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xab0]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x5b4], xmm1
call fcn.0040f7b0
mov esi, eax
mov al, byte [esi]
test al, al
jne 0x479a42
mov byte [esi], 1
call fcn.0040fc40
mov dword [esi + 8], eax
mov al, byte [esi]
cmp al, 1
jne 0x47be0b
mov ecx, dword [esi + 8]
lea eax, [esp + 0xb8]
push eax
call fcn.0040e020
sub esp, 0x10
lea ecx, [esp + 0xa58]
push ecx
mov ecx, eax
call fcn.0040c010
mov dword [esp + 0xac0], 0x115ec961
mov dword [esp + 0xac4], 0xcb06b29b
mov dword [esp + 0xac8], 0x6775e8c6
mov dword [esp + 0xacc], 0xfe5ca786
mov dword [esp + 0xad0], 0x115ec961
mov dword [esp + 0xad4], 0xcb06b29b
mov dword [esp + 0xad8], 0x6775e8c6
mov dword [esp + 0xadc], 0xfe5ca786
mov dword [esp + 0x470], 0x216ebc3d
lea ecx, [esp + 0x470]
mov dword [esp + 0x474], 0xcb06f1a8
lea edx, [ecx + 1]
mov dword [esp + 0x478], 0x6775e8c6
mov dword [esp + 0x47c], 0xfe5ca786
movaps xmm0, xmmword [esp + 0x470]
pxor xmm0, xmmword [esp + 0xac0]
movaps xmmword [esp + 0x470], xmm0
mov dword [esp + 0x780], 0
mov dword [esp + 0x784], 0xf
mov byte [esp + 0x770], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x479b31
sub ecx, edx
lea eax, [esp + 0x470]
push ecx
push eax
lea ecx, [esp + 0x778]
call fcn.004072f0
mov dword [esp + 0x480], 0x115ec95d
lea ecx, [esp + 0x480]
mov dword [esp + 0x484], 0xcb06b29b
lea edx, [ecx + 1]
mov dword [esp + 0x488], 0x6775e8c6
mov dword [esp + 0x48c], 0xfe5ca786
movaps xmm0, xmmword [esp + 0x480]
pxor xmm0, xmmword [esp + 0xad0]
movaps xmmword [esp + 0x480], xmm0
mov dword [esp + 0x7e0], 0
mov dword [esp + 0x7e4], 0xf
mov byte [esp + 0x7d0], 0
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x479bc0
sub ecx, edx
lea eax, [esp + 0x480]
push ecx
push eax
lea ecx, [esp + 0x7d8]
call fcn.004072f0
lea eax, [esp + 0x770]
push eax
lea edx, [esp + 0x7d4]
lea ecx, [esp + 0xa4c]
call fcn.0048ba00
mov ecx, dword [esp + 0x7e8]
add esp, 4
mov byte [esp + 0x12], al
cmp ecx, 0x10
jb 0x479c1d
inc ecx
push ecx
push dword [esp + 0x7d4]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x784]
mov dword [esp + 0x7e0], 0
mov dword [esp + 0x7e4], 0xf
mov byte [esp + 0x7d0], 0
cmp eax, 0x10
jb 0x479c58
inc eax
push eax
push dword [esp + 0x774]
call fcn.00409000
add esp, 8
cmp byte [esp + 0x12], 0
mov dword [esp + 0x780], 0
mov dword [esp + 0x784], 0xf
mov byte [esp + 0x770], 0
jne 0x479ac4
mov dword [esp + 0x5c0], 0x6531bb11
lea eax, [esp + 0x5c0]
mov dword [esp + 0x5c4], 0xa272d1fe
lea ecx, [esp + 0x158]
mov dword [esp + 0x5c8], 0x677586a9
mov dword [esp + 0x5cc], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x5c0]
mov dword [esp + 0xae0], 0x115ec961
mov dword [esp + 0xae4], 0xcb06b29b
mov dword [esp + 0xae8], 0x6775e8c6
mov dword [esp + 0xaec], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xae0]
push eax
movaps xmmword [esp + 0x5c4], xmm1
call fcn.0040f7b0
mov dword [esp + 0x5d0], 0x623da80c
lea ecx, [esp + 0x5d0]
mov dword [esp + 0x5d4], 0xcb06b29b
mov dword [esp + 0x5d8], 0x6775e8c6
mov dword [esp + 0x5dc], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x5d0]
mov dword [esp + 0xb90], 0x115ec961
mov dword [esp + 0xb94], 0xcb06b29b
mov dword [esp + 0xb98], 0x6775e8c6
mov dword [esp + 0xb9c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xb90]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x5d4], xmm1
call fcn.0040f7b0
mov dword [esp + 0x5e0], 0x742ab104
lea ecx, [esp + 0x5e0]
mov dword [esp + 0x5e4], 0xa46fc1f5
mov dword [esp + 0x5e8], 0x67759ba8
mov dword [esp + 0x5ec], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x5e0]
mov dword [esp + 0xaf0], 0x115ec961
mov dword [esp + 0xaf4], 0xcb06b29b
mov dword [esp + 0xaf8], 0x6775e8c6
mov dword [esp + 0xafc], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xaf0]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x5e4], xmm1
call fcn.0040f7b0
mov dword [esp + 0x5f0], 0x652aac12
lea ecx, [esp + 0x5f0]
mov dword [esp + 0x5f4], 0xb861dcf2
mov dword [esp + 0x5f8], 0x6775e8c6
mov dword [esp + 0x5fc], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x5f0]
mov dword [esp + 0xb00], 0x115ec961
mov dword [esp + 0xb04], 0xcb06b29b
mov dword [esp + 0xb08], 0x6775e8c6
mov dword [esp + 0xb0c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xb00]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x5f4], xmm1
call fcn.0040f7b0
mov dword [esp + 0x120], 0x742ab104
mov edi, eax
mov dword [esp + 0x124], 0xa46fc1f5
mov dword [esp + 0x128], 0x145b9ba8
mov dword [esp + 0x12c], 0x9728d3e3
movaps xmm1, xmmword [esp + 0x120]
mov dword [esp + 0xc30], 0x115ec961
mov dword [esp + 0xc34], 0xcb06b29b
mov dword [esp + 0xc38], 0x6775e8c6
mov dword [esp + 0xc3c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xc30]
mov dword [esp + 0x130], 0xf36fe78d
mov dword [esp + 0x134], 0xde93bbd
mov dword [esp + 0x138], 0x6cbbc608
mov dword [esp + 0x13c], 0xc37e98b8
movaps xmmword [esp + 0x120], xmm1
movaps xmm1, xmmword [esp + 0x130]
mov dword [esp + 0xc40], 0xdd1c80e3
mov dword [esp + 0xc44], 0xde93bbd
mov dword [esp + 0xc48], 0x6cbbc608
mov dword [esp + 0xc4c], 0xc37e98b8
pxor xmm1, xmmword [esp + 0xc40]
lea eax, [esp + 0xa48]
sub esp, 0x18
movaps xmmword [esp + 0x148], xmm1
mov ecx, esp
push eax
call fcn.00406220
sub esp, 0x18
lea ecx, [esp + 0xe8]
mov eax, esp
push ecx
lea ecx, [esp + 0x154]
push ecx
push eax
call fcn.00407c40
mov ecx, dword [esp + 0x154]
mov eax, esp
mov dword [esp + 0x50], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esp + 0x150]
cmp eax, ecx
je 0x47a011
mov esi, ecx
sub esi, eax
push esi
call fcn.00408fd0
mov edx, dword [esp + 0x54]
push eax
lea ecx, [eax + esi]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
call fcn.0040a5f0
mov ecx, dword [esp + 0x58]
add esp, 8
mov dword [esp + 0x470], 0
mov dword [ecx + 4], eax
lea ecx, [esp + 0x470]
call fcn.0040a5b0
lea ecx, [esp + 0xe14]
call fcn.0047cc10
xor ecx, ecx
mov byte [esp + 0x4d4], 0
add esp, 0x3c
mov dword [esp + 0x4a0], ecx
mov dword [esp + 0x4a4], ecx
mov edx, eax
lea ecx, [esp + 0x498]
call fcn.004177e0
mov al, byte [edi]
test al, al
jne 0x47a059
mov byte [edi], 1
call fcn.0040fc40
mov dword [edi + 8], eax
mov al, byte [edi]
cmp al, 1
jne 0x47be0b
mov ecx, dword [edi + 8]
lea eax, [esp + 0xb8]
push eax
call fcn.0040e020
mov ecx, eax
lea edx, [esp + 0x498]
call fcn.00409040
add ecx, 8
lea edx, [esp + 0x4a0]
call fcn.0040fc20
push dword [esp + 0x498]
mov ecx, edx
call fcn.0040da90
mov eax, dword [esp + 0xdec]
cmp eax, 0x10
jb 0x47a0b9
inc eax
push eax
push dword [esp + 0xddc]
call fcn.00409000
add esp, 8
mov dword [esp + 0x600], 0x6531bb11
lea eax, [esp + 0x600]
mov dword [esp + 0x604], 0xa272d1fe
lea ecx, [esp + 0x158]
mov dword [esp + 0x608], 0x677586a9
mov dword [esp + 0x60c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x600]
mov dword [esp + 0xb10], 0x115ec961
mov dword [esp + 0xb14], 0xcb06b29b
mov dword [esp + 0xb18], 0x6775e8c6
mov dword [esp + 0xb1c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xb10]
push eax
mov dword [esp + 0xdec], 0
mov dword [esp + 0xdf0], 0xf
mov byte [esp + 0xddc], 0
movaps xmmword [esp + 0x604], xmm1
call fcn.0040f7b0
mov dword [esp + 0x610], 0x623da80c
lea ecx, [esp + 0x610]
mov dword [esp + 0x614], 0xcb06b29b
mov dword [esp + 0x618], 0x6775e8c6
mov dword [esp + 0x61c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x610]
mov dword [esp + 0xb20], 0x115ec961
mov dword [esp + 0xb24], 0xcb06b29b
mov dword [esp + 0xb28], 0x6775e8c6
mov dword [esp + 0xb2c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xb20]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x614], xmm1
call fcn.0040f7b0
mov dword [esp + 0x620], 0x6531bb11
lea ecx, [esp + 0x158]
mov dword [esp + 0x624], 0xa272d1fe
mov esi, eax
mov dword [esp + 0x628], 0x677586a9
lea eax, [esp + 0x620]
mov dword [esp + 0x62c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x620]
mov dword [esp + 0xb30], 0x115ec961
mov dword [esp + 0xb34], 0xcb06b29b
mov dword [esp + 0xb38], 0x6775e8c6
mov dword [esp + 0xb3c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xb30]
push eax
movaps xmmword [esp + 0x624], xmm1
call fcn.0040f7b0
sub esp, 0x18
mov dword [esp + 0x2c], eax
mov eax, esp
mov dword [esp + 0x648], 0x742ebc12
sub esp, 0x10
mov dword [esp + 0x65c], 0xaa6bede9
mov dword [esp + 0x660], 0x6775e8a5
mov ecx, esi
mov dword [esp + 0x664], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x658]
mov dword [esp + 0xb68], 0x115ec961
mov dword [esp + 0xb6c], 0xcb06b29b
mov dword [esp + 0xb70], 0x6775e8c6
mov dword [esp + 0xb74], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xb68]
push eax
movaps xmmword [esp + 0x65c], xmm1
call fcn.0040c010
sub esp, 0x18
mov ecx, esp
push 0
push 0x4aa41f
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.004072f0
mov eax, dword [esp + 0x144]
sub esp, 0xc
mov edi, esp
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [esp + 0x154]
cmp eax, ecx
je 0x47a37a
mov esi, ecx
sub esi, eax
push esi
call fcn.00408fd0
mov edx, dword [esp + 0x158]
add esi, eax
mov ecx, dword [esp + 0x154]
mov dword [edi], eax
mov dword [edi + 4], eax
push eax
mov dword [edi + 8], esi
call fcn.0040a5f0
add esp, 8
mov dword [edi + 4], eax
lea ecx, [esp + 0x4f8]
mov dword [esp + 0x4f8], 0
call fcn.0040a5b0
lea ecx, [esp + 0xe2c]
call fcn.0047cc10
xor ecx, ecx
mov byte [esp + 0x4e4], 0
add esp, 0x3c
mov dword [esp + 0x4b0], ecx
mov dword [esp + 0x4b4], ecx
mov edx, eax
lea ecx, [esp + 0x4a8]
call fcn.004177e0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x630]
push eax
call fcn.0040f7b0
mov ecx, eax
lea edx, [esp + 0x4a8]
call fcn.00409040
add ecx, 8
lea edx, [esp + 0x4b0]
call fcn.0040fc20
push dword [esp + 0x4a8]
mov ecx, edx
call fcn.0040da90
mov eax, dword [esp + 0xe04]
cmp eax, 0x10
jb 0x47a408
inc eax
push eax
push dword [esp + 0xdf4]
call fcn.00409000
add esp, 8
mov dword [esp + 0x170], 0x7e2ca102
lea ecx, [esp + 0x170]
mov dword [esp + 0x174], 0xae28d7f6
mov dword [esp + 0x178], 0x67758dbe
mov dword [esp + 0x17c], 0xfe5ca786
movaps xmm0, xmmword [esp + 0x170]
mov dword [esp + 0xd0], 0x115ec961
mov dword [esp + 0xd4], 0xcb06b29b
mov dword [esp + 0xd8], 0x6775e8c6
mov dword [esp + 0xdc], 0xfe5ca786
pxor xmm0, xmmword [esp + 0xd0]
mov dword [esp + 0xe00], 0
mov dword [esp + 0xe04], 0xf
mov byte [esp + 0xdf0], 0
movaps xmmword [esp + 0x170], xmm0
call fcn.00488e60
push 0x1b
push 0x9e2ead53
mov esi, eax
mov dword [esp + 0x1c], eax
call fcn.0048fcf0
xor ecx, ecx
add esp, 8
cmp ecx, edx
jb 0x47a8d5
ja 0x47a4cc
cmp esi, eax
jbe 0x47a8d5
mov dword [esp + 0x2d8], 0x88da
mov dword [esp + 0x2dc], ecx
mov edi, edi
lea ecx, [esp + 0x98]
call fcn.0040c750
lea eax, [esp + 0x508]
mov dword [esp + 0x508], 0xe4
push eax
lea ecx, [esp + 0x9c]
call fcn.0040c650
lea ecx, [esp + 0x98]
cmp dword [eax], 5
jne 0x47a545
mov esi, dword [esp + 0x98]
mov eax, ecx
push dword [esi + 4]
push eax
call fcn.004102f0
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [esp + 0x9c], 0
jmp 0x47a566
sub esi, edx
jmp 0x47977b
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x50c], eax
lea eax, [esp + 0x50c]
push eax
call fcn.0040c650
mov dword [eax], 5
mov eax, dword [esp + 0x98]
push dword [eax + 4]
lea eax, [esp + 0x9c]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0x9c]
call fcn.00409000
mov eax, dword [esp + 0x2e0]
add esp, 8
mov ecx, dword [esp + 0x2dc]
xor eax, 0x17
mov edi, dword [0x4bcbf0]
xor ecx, 0
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2fc], ecx
mov dword [esp + 0x2e0], 0x17
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2ec], 0
mov dword [esp + 0x2f0], 0x88b5
mov dword [esp + 0x2f4], 0
mov edx, dword [esp + 0x2e0]
mov esi, dword [esp + 0x2e4]
mov eax, dword [esp + 0x2e8]
add edx, eax
mov ecx, dword [esp + 0x2ec]
adc esi, ecx
add edx, 1
mov dword [esp + 0x308], edx
adc esi, 0
mov dword [esp + 0x30c], esi
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2f4]
mov edx, dword [esp + 0x2f8]
mov esi, dword [esp + 0x2fc]
sub edx, eax
mov dword [esp + 0x300], edx
sbb esi, ecx
mov dword [esp + 0x304], esi
mov esi, dword [esp + 0x300]
mov edx, dword [esp + 0x304]
mov ecx, dword [esp + 0x308]
mov eax, dword [esp + 0x30c]
push eax
push ecx
push edx
push esi
call fcn.00460cc0
push dword [esp + 0x14]
mov dword [esp + 0x314], eax
mov dword [esp + 0x318], edx
mov ecx, dword [esp + 0x314]
mov eax, dword [esp + 0x318]
push 0
push ecx
call edi
mov esi, eax
test esi, esi
je 0x47a85b
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx]
mov ecx, dword [0x4bcf3c]
cmp ecx, dword [edx + 4]
jg 0x47be10
mov ecx, dword [0x4bcf34]
mov eax, ecx
mov edx, dword [0x4bcf30]
sub eax, edx
sar eax, 2
cmp eax, 0x28
jae 0x47a70d
mov dword [esp + 0x298], eax
cmp ecx, dword [0x4bcf38]
je 0x47a6fd
mov dword [ecx], eax
add dword [0x4bcf34], 4
jmp 0x47a713
lea eax, [esp + 0x298]
push eax
push ecx
call fcn.00410340
jmp 0x47a713
mov dword [0x4bcf34], edx
mov eax, dword [0x4bcc34]
push 0
push esi
call eax
test eax, eax
je 0x47a85b
cmp byte [0x4bcbee], 0
jne 0x47a735
mov byte [0x4bcbee], 1
mov edi, dword [0x4bcc40]
mov dword [esp + 0x318], 0x8d72
mov eax, dword [esp + 0x318]
xor eax, 0x17
mov dword [esp + 0x31c], 0
mov ecx, dword [esp + 0x31c]
mov dword [esp + 0x338], eax
xor ecx, 0
mov dword [esp + 0x33c], ecx
mov dword [esp + 0x328], 0x17
mov dword [esp + 0x32c], 0
mov dword [esp + 0x320], 0
mov dword [esp + 0x324], 0
mov dword [esp + 0x330], 0x88b5
mov dword [esp + 0x334], 0
mov edx, dword [esp + 0x320]
mov esi, dword [esp + 0x324]
mov eax, dword [esp + 0x328]
add edx, eax
mov ecx, dword [esp + 0x32c]
adc esi, ecx
add edx, 1
mov dword [esp + 0x348], edx
adc esi, 0
mov dword [esp + 0x34c], esi
mov eax, dword [esp + 0x330]
mov ecx, dword [esp + 0x334]
mov edx, dword [esp + 0x338]
mov esi, dword [esp + 0x33c]
sub edx, eax
mov dword [esp + 0x340], edx
sbb esi, ecx
mov dword [esp + 0x344], esi
mov esi, dword [esp + 0x340]
mov edx, dword [esp + 0x344]
mov ecx, dword [esp + 0x348]
mov eax, dword [esp + 0x34c]
push eax
push ecx
push edx
push esi
call fcn.00460cc0
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], edx
mov ecx, dword [esp + 0x350]
mov eax, dword [esp + 0x354]
push ecx
call edi
mov dword [esp + 0x170], 0x7e2ca102
lea ecx, [esp + 0x170]
mov dword [esp + 0x174], 0xae28d7f6
mov dword [esp + 0x178], 0x67758dbe
mov dword [esp + 0x17c], 0xfe5ca786
movaps xmm0, xmmword [esp + 0x170]
pxor xmm0, xmmword [esp + 0xd0]
movaps xmmword [esp + 0x170], xmm0
call fcn.00488e60
mov esi, eax
push 0x1b
push 0x9e2ead53
mov dword [esp + 0x1c], esi
call fcn.0048fcf0
xor ecx, ecx
add esp, 8
cmp ecx, edx
ja 0x47a4e0
jb 0x47a8d5
cmp esi, eax
ja 0x47a4e0
mov dword [esp + 0x640], 0x742ab104
lea eax, [esp + 0x640]
mov dword [esp + 0x644], 0xa46fc1f5
lea ecx, [esp + 0x158]
mov dword [esp + 0x648], 0x67759ba8
mov dword [esp + 0x64c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x640]
mov dword [esp + 0xb50], 0x115ec961
mov dword [esp + 0xb54], 0xcb06b29b
mov dword [esp + 0xb58], 0x6775e8c6
mov dword [esp + 0xb5c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xb50]
push eax
movaps xmmword [esp + 0x644], xmm1
call fcn.0040f7b0
mov dword [esp + 0x650], 0x652aac12
lea ecx, [esp + 0x650]
mov dword [esp + 0x654], 0xb861dcf2
mov dword [esp + 0x658], 0x6775e8c6
mov dword [esp + 0x65c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x650]
mov dword [esp + 0x230], 0x115ec961
mov dword [esp + 0x234], 0xcb06b29b
mov dword [esp + 0x238], 0x6775e8c6
mov dword [esp + 0x23c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x230]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x654], xmm1
call fcn.0040f7b0
mov esi, eax
mov al, byte [esi]
test al, al
jne 0x47a9ef
mov byte [esi], 1
call fcn.0040fc40
mov dword [esi + 8], eax
mov al, byte [esi]
cmp al, 1
jne 0x47be0b
mov ecx, dword [esi + 8]
lea eax, [esp + 0xb8]
push eax
call fcn.0040e020
mov dword [esp + 0x9a0], 0x742ab104
sub esp, 0x18
mov dword [esp + 0x9bc], 0xa46fc1f5
mov ecx, eax
mov dword [esp + 0x9c0], 0x145b9ba8
mov eax, esp
mov dword [esp + 0x9c4], 0x9728d3e3
sub esp, 0x10
movaps xmm1, xmmword [esp + 0x9c8]
mov dword [esp + 0xc78], 0x115ec961
mov dword [esp + 0xc7c], 0xcb06b29b
mov dword [esp + 0xc80], 0x6775e8c6
mov dword [esp + 0xc84], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xc78]
movaps xmmword [esp + 0x9c8], xmm1
mov dword [esp + 0x9d8], 0xf36fe78d
mov dword [esp + 0x9dc], 0xde93bbd
mov dword [esp + 0x9e0], 0x6cbbc608
mov dword [esp + 0x9e4], 0xc37e98b8
movaps xmm1, xmmword [esp + 0x9d8]
mov dword [esp + 0xc88], 0xdd1c80e3
mov dword [esp + 0xc8c], 0xde93bbd
mov dword [esp + 0xc90], 0x6cbbc608
mov dword [esp + 0xc94], 0xc37e98b8
pxor xmm1, xmmword [esp + 0xc88]
movaps xmmword [esp + 0x9d8], xmm1
mov dword [esp + 0x8b8], 0x7e2ca122
mov dword [esp + 0x8bc], 0xae54d7f6
mov dword [esp + 0x8c0], 0x130681a1
mov dword [esp + 0x8c4], 0x9f14def4
movaps xmm1, xmmword [esp + 0x8b8]
mov dword [esp + 0xcd8], 0x115ec961
mov dword [esp + 0xcdc], 0xcb06b29b
mov dword [esp + 0xce0], 0x6775e8c6
mov dword [esp + 0xce4], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xcd8]
movaps xmmword [esp + 0x8b8], xmm1
mov dword [esp + 0x8c8], 0xa94fe890
mov dword [esp + 0x8cc], 0x5b8c49d2
mov dword [esp + 0x8d0], 0x8d2aa69
mov dword [esp + 0x8d4], 0xac17ecd9
movaps xmm1, xmmword [esp + 0x8c8]
mov dword [esp + 0xce8], 0xdd1c80e3
mov dword [esp + 0xcec], 0xde93bbd
mov dword [esp + 0xcf0], 0x6cbbc608
mov dword [esp + 0xcf4], 0xc37e98b8
pxor xmm1, xmmword [esp + 0xce8]
movaps xmmword [esp + 0x8c8], xmm1
mov dword [esp + 0x8d8], 0x1f652a7b
mov dword [esp + 0x8dc], 0x3123fe6b
mov dword [esp + 0x8e0], 0x300d9d0a
mov dword [esp + 0x8e4], 0xa2341b7a
movaps xmm1, xmmword [esp + 0x8d8]
mov dword [esp + 0xcf8], 0x7a007915
mov dword [esp + 0xcfc], 0x3123fe0f
mov dword [esp + 0xd00], 0x300d9d0a
mov dword [esp + 0xd04], 0xa2341b7a
pxor xmm1, xmmword [esp + 0xcf8]
push eax
movaps xmmword [esp + 0x8dc], xmm1
call fcn.0040c010
sub esp, 0x18
lea ecx, [esp + 0xe8]
mov eax, esp
push ecx
lea ecx, [esp + 0x9d4]
push ecx
push eax
call fcn.00407c40
mov esi, esp
lea ecx, [esp + 0x8cc]
sub esp, 0x18
lea edi, [ecx + 1]
mov edx, esp
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47ac90
sub ecx, edi
lea eax, [esp + 0x8e4]
push ecx
push eax
mov ecx, edx
call fcn.004072f0
mov ecx, esi
call fcn.0047cba0
add esp, 0x18
lea ecx, [esp + 0x794]
call fcn.0047cc10
mov edi, dword [0x4bcc44]
add esp, 0x3c
mov dword [esp + 0x358], 0x308952
mov eax, dword [esp + 0x358]
xor eax, 0x17
mov dword [esp + 0x35c], 0
mov ecx, dword [esp + 0x35c]
mov dword [esp + 0x378], eax
xor ecx, 0
mov dword [esp + 0x37c], ecx
mov dword [esp + 0x368], 0x17
mov dword [esp + 0x36c], 0
mov dword [esp + 0x360], 0
mov dword [esp + 0x364], 0
mov dword [esp + 0x370], 0x88b5
mov dword [esp + 0x374], 0
mov edx, dword [esp + 0x360]
mov esi, dword [esp + 0x364]
mov eax, dword [esp + 0x368]
add edx, eax
mov ecx, dword [esp + 0x36c]
adc esi, ecx
add edx, 1
mov dword [esp + 0x388], edx
adc esi, 0
mov dword [esp + 0x38c], esi
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x374]
mov edx, dword [esp + 0x378]
mov esi, dword [esp + 0x37c]
sub edx, eax
mov dword [esp + 0x380], edx
sbb esi, ecx
mov dword [esp + 0x384], esi
mov esi, dword [esp + 0x380]
mov edx, dword [esp + 0x384]
mov ecx, dword [esp + 0x388]
mov eax, dword [esp + 0x38c]
push eax
push ecx
push edx
push esi
call fcn.00460cc0
mov dword [esp + 0x390], eax
mov dword [esp + 0x394], edx
mov eax, dword [esp + 0x390]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x398], 0x88da
mov eax, dword [esp + 0x398]
xor eax, 0x17
mov dword [esp + 0x39c], 0
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x3b8], eax
xor ecx, 0
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3a8], 0x17
mov dword [esp + 0x3ac], 0
mov dword [esp + 0x3a0], 0
mov dword [esp + 0x3a4], 0
mov dword [esp + 0x3b0], 0x88b5
mov dword [esp + 0x3b4], 0
mov edx, dword [esp + 0x3a0]
mov esi, dword [esp + 0x3a4]
mov eax, dword [esp + 0x3a8]
add edx, eax
mov ecx, dword [esp + 0x3ac]
adc esi, ecx
add edx, 1
adc esi, 0
mov dword [esp + 0x3c8], edx
mov dword [esp + 0x3cc], esi
mov eax, dword [esp + 0x3b0]
mov ecx, dword [esp + 0x3b4]
mov edx, dword [esp + 0x3b8]
mov esi, dword [esp + 0x3bc]
sub edx, eax
mov dword [esp + 0x3c0], edx
sbb esi, ecx
mov dword [esp + 0x3c4], esi
mov esi, dword [esp + 0x3c0]
mov edx, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
push eax
push ecx
push edx
push esi
call fcn.00460cc0
push dword [esp + 0x28]
mov dword [esp + 0x3d4], eax
mov dword [esp + 0x3d8], edx
mov esi, dword [esp + 0x3d4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x984], 0x6526ac3d
lea eax, [esp + 0x9f4]
mov dword [esp + 0x988], 0xa275dcfe
mov dword [esp + 0x98c], 0x490686a9
mov dword [esp + 0x990], 0x8a28c2f5
movaps xmm1, xmmword [esp + 0x984]
mov dword [esp + 0xe4], 0x115ec961
mov dword [esp + 0xe8], 0xcb06b29b
mov dword [esp + 0xec], 0x6775e8c6
mov dword [esp + 0xf0], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xe4]
movaps xmmword [esp + 0x984], xmm1
mov dword [esp + 0x994], 0xae7bee8a
mov dword [esp + 0x998], 0xde93bbd
mov dword [esp + 0x99c], 0x6cbbc608
mov dword [esp + 0x9a0], 0xc37e98b8
movaps xmm1, xmmword [esp + 0x994]
mov dword [esp + 0xf4], 0xdd1c80e3
mov dword [esp + 0xf8], 0xde93bbd
mov dword [esp + 0xfc], 0x6cbbc608
mov dword [esp + 0x100], 0xc37e98b8
pxor xmm1, xmmword [esp + 0xf4]
movaps xmmword [esp + 0x994], xmm1
mov dword [esp + 0x9f4], 0x45188632
mov dword [esp + 0x9f8], 0x8e54f3cc
mov dword [esp + 0x9fc], 0x81aaf9a
mov dword [esp + 0xa00], 0xa239cbe1
movaps xmm1, xmmword [esp + 0x9f4]
mov dword [esp + 0xce4], 0x115ec961
mov dword [esp + 0xce8], 0xcb06b29b
mov dword [esp + 0xcec], 0x6775e8c6
mov dword [esp + 0xcf0], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xce4]
movaps xmmword [esp + 0x9f4], xmm1
mov dword [esp + 0xa04], 0xb26ee8a0
mov dword [esp + 0xa08], 0x5db55ed0
mov dword [esp + 0xa0c], 0x9dda37a
mov dword [esp + 0xa10], 0xa010fdca
movaps xmm1, xmmword [esp + 0xa04]
mov dword [esp + 0xcf4], 0xdd1c80e3
mov dword [esp + 0xcf8], 0xde93bbd
mov dword [esp + 0xcfc], 0x6cbbc608
mov dword [esp + 0xd00], 0xc37e98b8
pxor xmm1, xmmword [esp + 0xcf4]
mov dword [esp + 0xa14], 0x39413470
mov dword [esp + 0xa18], 0x3123a27c
mov dword [esp + 0xa1c], 0x300d9d0a
mov dword [esp + 0xa20], 0xa2341b7a
movaps xmmword [esp + 0xa04], xmm1
movaps xmm1, xmmword [esp + 0xa14]
mov dword [esp + 0xd04], 0x7a007915
mov dword [esp + 0xd08], 0x3123fe0f
mov dword [esp + 0xd0c], 0x300d9d0a
mov dword [esp + 0xd10], 0xa2341b7a
pxor xmm1, xmmword [esp + 0xd04]
movaps xmmword [esp + 0xa14], xmm1
push eax
lea eax, [esp + 0xe28]
push eax
call fcn.00407c40
add esp, 0xc
lea ecx, [esp + 0x980]
push ecx
push eax
lea eax, [esp + 0xe10]
push eax
call fcn.00407bd0
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x47b178
mov eax, dword [eax]
lea ecx, [esp + 0x1b0]
push ecx
push dword [esp + 0x18]
push esi
push eax
push 0x80000001
call edi
test eax, eax
mov eax, dword [esp + 0xe1c]
sete byte [esp + 0x12]
cmp eax, 0x10
jb 0x47b1b1
inc eax
push eax
push dword [esp + 0xe0c]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0xe34]
mov dword [esp + 0xe18], 0
mov dword [esp + 0xe1c], 0xf
mov byte [esp + 0xe08], 0
cmp eax, 0x10
jb 0x47b1ec
inc eax
push eax
push dword [esp + 0xe24]
call fcn.00409000
add esp, 8
cmp byte [esp + 0x12], 0
mov dword [esp + 0xe30], 0
mov dword [esp + 0xe34], 0xf
mov byte [esp + 0xe20], 0
je 0x47b648
lea ecx, [esp + 0xa0]
call fcn.0040c750
lea eax, [esp + 0x29c]
mov dword [esp + 0x29c], 0xe4
push eax
lea ecx, [esp + 0xa4]
call fcn.0040c650
lea ecx, [esp + 0xa0]
cmp dword [eax], 5
jne 0x47b273
mov esi, dword [esp + 0xa0]
mov eax, ecx
push dword [esi + 4]
push eax
call fcn.004102f0
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [esp + 0xa4], 0
jmp 0x47b294
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x2a0], eax
lea eax, [esp + 0x2a0]
push eax
call fcn.0040c650
mov dword [eax], 5
mov eax, dword [esp + 0xa0]
push dword [eax + 4]
lea eax, [esp + 0xa4]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0xa4]
call fcn.00409000
mov eax, dword fs:[0x2c]
add esp, 8
mov ecx, dword [eax]
mov eax, dword [0x4bcf3c]
cmp eax, dword [ecx + 4]
jg 0x47be67
mov eax, dword [0x4bcf34]
mov ecx, dword [0x4bcf30]
sub eax, ecx
sar eax, 2
cmp eax, 0x28
jae 0x47b302
mov dword [esp + 0x2a4], eax
lea eax, [esp + 0x2a4]
push eax
call fcn.0040c7a0
jmp 0x47b308
mov dword [0x4bcf34], ecx
cmp dword [esp + 0x76c], 0x10
lea edi, [esp + 0x758]
mov eax, dword [0x4bcc5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x768]
mov dword [esp + 0x28], eax
jb 0x47b334
mov edi, dword [esp + 0x758]
push 0
push 0x146b3773
call fcn.0048fc50
mov dword [esp + 0x15c], eax
add esp, 8
mov dword [esp + 0x438], 0x88a2
mov ecx, dword [esp + 0x438]
xor ecx, 0x17
mov dword [esp + 0x43c], 0
mov edx, dword [esp + 0x43c]
mov dword [esp + 0x3f8], ecx
xor edx, 0
mov dword [esp + 0x3fc], edx
mov dword [esp + 0x3e8], 0x17
mov dword [esp + 0x3ec], 0
mov dword [esp + 0x3e0], 0
mov dword [esp + 0x3e4], 0
mov dword [esp + 0x3f0], 0x88b5
mov dword [esp + 0x3f4], 0
mov edx, dword [esp + 0x3e0]
mov esi, dword [esp + 0x3e4]
mov eax, dword [esp + 0x3e8]
add edx, eax
mov ecx, dword [esp + 0x3ec]
adc esi, ecx
add edx, 1
mov dword [esp + 0x408], edx
adc esi, 0
mov dword [esp + 0x40c], esi
mov eax, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3f4]
mov edx, dword [esp + 0x3f8]
mov esi, dword [esp + 0x3fc]
sub edx, eax
mov dword [esp + 0x400], edx
sbb esi, ecx
mov dword [esp + 0x404], esi
mov esi, dword [esp + 0x400]
mov edx, dword [esp + 0x404]
mov ecx, dword [esp + 0x408]
mov eax, dword [esp + 0x40c]
push eax
push ecx
push edx
push esi
call fcn.00460cc0
mov dword [esp + 0x410], eax
mov dword [esp + 0x414], edx
mov ecx, dword [esp + 0x410]
mov eax, dword [esp + 0x414]
cmp dword [esp + 0xcc], 0x10
lea eax, [esp + 0xb8]
jb 0x47b47f
mov eax, dword [esp + 0xb8]
push dword [esp + 0x28]
push edi
push dword [esp + 0x15c]
push ecx
push eax
push dword [esp + 0x1c4]
call dword [esp + 0x2c]
lea ecx, [esp + 0x88]
call fcn.0040c750
lea eax, [esp + 0x2a8]
mov dword [esp + 0x2a8], 0xe4
push eax
lea ecx, [esp + 0x8c]
call fcn.0040c650
lea ecx, [esp + 0x88]
cmp dword [eax], 5
jne 0x47b4f6
mov esi, dword [esp + 0x88]
mov eax, ecx
push dword [esi + 4]
push eax
call fcn.004102f0
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [esp + 0x8c], 0
jmp 0x47b517
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x2ac], eax
lea eax, [esp + 0x2ac]
push eax
call fcn.0040c650
mov dword [eax], 5
mov eax, dword [esp + 0x88]
push dword [eax + 4]
lea eax, [esp + 0x8c]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0x8c]
call fcn.00409000
add esp, 8
push dword [esp + 0x1b0]
call dword [0x4bcbfc]
lea ecx, [esp + 0xa8]
call fcn.0040c750
lea eax, [esp + 0x2b0]
mov dword [esp + 0x2b0], 0xe4
push eax
lea ecx, [esp + 0xac]
call fcn.0040c650
lea ecx, [esp + 0xa8]
cmp dword [eax], 5
jne 0x47b5ac
mov esi, dword [esp + 0xa8]
mov eax, ecx
push dword [esi + 4]
push eax
call fcn.004102f0
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [esp + 0xac], 0
jmp 0x47b5cd
mov eax, dword [esp + 0xac]
mov dword [esp + 0x2b4], eax
lea eax, [esp + 0x2b4]
push eax
call fcn.0040c650
mov dword [eax], 5
mov eax, dword [esp + 0xa8]
push dword [eax + 4]
lea eax, [esp + 0xac]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0xac]
call fcn.00409000
mov eax, dword fs:[0x2c]
add esp, 8
mov byte [esp + 0x27], 1
mov ecx, dword [eax]
mov eax, dword [0x4bcf3c]
cmp eax, dword [ecx + 4]
jg 0x47bebe
mov eax, dword [0x4bcf34]
sub eax, dword [0x4bcf30]
sar eax, 2
cmp eax, 0x28
jae 0x47b63e
mov dword [esp + 0x2b8], eax
lea eax, [esp + 0x2b8]
push eax
call fcn.0040c7a0
jmp 0x47b648
mov eax, dword [0x4bcf30]
mov dword [0x4bcf34], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x4bcf3c]
cmp eax, dword [ecx + 4]
jg 0x47bf15
mov eax, dword [0x4bcf34]
sub eax, dword [0x4bcf30]
sar eax, 2
cmp eax, 0x28
jae 0x47b68a
mov dword [esp + 0x2bc], eax
lea eax, [esp + 0x2bc]
push eax
call fcn.0040c7a0
jmp 0x47b694
mov eax, dword [0x4bcf30]
mov dword [0x4bcf34], eax
sub esp, 0x18
lea ecx, [esp + 0x170]
mov eax, esp
sub esp, 0x10
push eax
call fcn.0040c010
sub esp, 0x18
lea eax, [esp + 0xa60]
mov ecx, esp
push eax
call fcn.00406220
call fcn.0047dcf0
add esp, 0x30
lea ecx, [esp + 0xb0]
call fcn.0040c750
lea eax, [esp + 0x2c0]
mov dword [esp + 0x2c0], 0xe4
push eax
lea ecx, [esp + 0xb4]
call fcn.0040c650
lea ecx, [esp + 0xb0]
cmp dword [eax], 5
jne 0x47b721
mov esi, dword [esp + 0xb0]
mov eax, ecx
push dword [esi + 4]
push eax
call fcn.004102f0
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [esp + 0xb4], 0
jmp 0x47b742
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x2c4], eax
lea eax, [esp + 0x2c4]
push eax
call fcn.0040c650
mov dword [eax], 5
mov eax, dword [esp + 0xb0]
push dword [eax + 4]
lea eax, [esp + 0xb4]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0xb4]
call fcn.00409000
mov eax, dword [esp + 0x774]
add esp, 8
mov byte [esp + 0x13], 1
cmp eax, 0x10
jb 0x47b78e
inc eax
push eax
push dword [esp + 0x75c]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0xa5c]
mov dword [esp + 0x768], 0
mov dword [esp + 0x76c], 0xf
mov byte [esp + 0x758], 0
cmp eax, 0x10
jb 0x47b7c9
inc eax
push eax
push dword [esp + 0xa4c]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0xa58], 0
mov dword [esp + 0xa5c], 0xf
mov byte [esp + 0xa48], 0
cmp eax, 0x10
jb 0x47b804
inc eax
push eax
push dword [esp + 0x1b8]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0xf
mov byte [esp + 0x1b4], 0
cmp eax, 0x10
jb 0x47b83f
inc eax
push eax
push dword [esp + 0xbc]
call fcn.00409000
add esp, 8
push dword [esp + 0x38]
lea ecx, [esp + 0x44]
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0xf
mov byte [esp + 0xbc], 0
call fcn.0040da90
push dword [esp + 0x158]
lea ecx, [esp + 0x164]
call fcn.0040da90
mov eax, dword [esp + 0x294]
cmp eax, 0x10
jb 0x47b89a
inc eax
push eax
push dword [esp + 0x284]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0xa44]
mov dword [esp + 0x290], 0
mov dword [esp + 0x294], 0xf
mov byte [esp + 0x280], 0
cmp eax, 0x10
jb 0x47b8d5
inc eax
push eax
push dword [esp + 0xa34]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0xd40]
cmp eax, 0x10
jb 0x47b8f2
inc eax
push eax
push dword [esp + 0xd30]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x260]
sub eax, dword [esp + 0x25c]
mov ecx, dword [esp + 0x1cc]
sar eax, 3
inc ecx
imul eax, eax, 0xaaaaaaab
mov dword [esp + 0x1cc], ecx
cmp ecx, eax
jae 0x47ba64
movaps xmm1, xmmword [esp + 0xee0]
movaps xmm2, xmmword [esp + 0x1f0]
mov esi, dword [esp + 0x58]
jmp 0x4780f0
mov eax, dword [esp + 0xcc]
cmp eax, 0x10
jb 0x47b956
inc eax
push eax
push dword [esp + 0xbc]
call fcn.00409000
add esp, 8
push dword [esp + 0x38]
lea ecx, [esp + 0x44]
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0xf
mov byte [esp + 0xbc], 0
call fcn.0040da90
mov eax, dword [esp + 0x158]
push eax
lea ecx, [esp + 0x164]
call fcn.0040da90
mov eax, dword [esp + 0x294]
cmp eax, 0x10
jb 0x47b9b2
inc eax
push eax
push dword [esp + 0x284]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x168]
mov dword [esp + 0x290], 0
mov dword [esp + 0x294], 0xf
mov byte [esp + 0x280], 0
cmp eax, 0x10
jb 0x47b9ea
inc eax
push eax
push dword [esp + 0x1c]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0xd40]
cmp eax, 0x10
jb 0x47ba07
inc eax
push eax
push dword [esp + 0xd30]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x53c]
cmp eax, 0x10
jb 0x47ba24
inc eax
push eax
push dword [esp + 0x52c]
call fcn.00409000
add esp, 8
lea ecx, [esp + 0x25c]
call fcn.0040c600
mov ecx, dword [esp + 0x114]
test ecx, ecx
je 0x47ba4e
mov eax, dword [esp + 0x11c]
sub eax, ecx
push eax
push ecx
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x504]
cmp eax, 0x10
jb 0x47bd10
inc eax
jmp 0x47bd00
mov edi, dword [esp + 0x504]
lea ecx, [esp + 0x78]
call fcn.0040c750
lea eax, [esp + 0x64]
mov dword [esp + 0x64], 0xe4
push eax
lea ecx, [esp + 0x7c]
call fcn.0040c650
lea ecx, [esp + 0x78]
cmp dword [eax], 5
jne 0x47bab4
mov esi, dword [esp + 0x78]
mov eax, ecx
push dword [esi + 4]
push eax
call fcn.004102f0
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [esp + 0x7c], 0
jmp 0x47bacc
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
push eax
call fcn.0040c650
mov dword [eax], 5
mov eax, dword [esp + 0x78]
push dword [eax + 4]
lea eax, [esp + 0x7c]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0x7c]
call fcn.00409000
lea eax, [esp + 0x668]
mov dword [esp + 0x668], 0x6336aa3d
push eax
mov dword [esp + 0x670], 0xe563dff4
lea eax, [esp + 0x198]
mov dword [esp + 0x674], 0x671090a3
mov dword [esp + 0x678], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x66c]
push eax
mov dword [esp + 0x240], 0x115ec961
lea eax, [esp + 0xed8]
mov dword [esp + 0x244], 0xcb06b29b
mov dword [esp + 0x248], 0x6775e8c6
mov dword [esp + 0x24c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x240]
push eax
movaps xmmword [esp + 0x674], xmm1
call fcn.00407b60
add esp, 0x14
mov ecx, 0x4b6d9c
push eax
call fcn.004093a0
mov eax, dword [esp + 0xedc]
cmp eax, 0x10
jb 0x47bba3
inc eax
push eax
push dword [esp + 0xecc]
call fcn.00409000
add esp, 8
lea ecx, [esp + 0x80]
call fcn.0040c750
lea eax, [esp + 0x64]
mov dword [esp + 0x64], 0xe4
push eax
lea ecx, [esp + 0x84]
call fcn.0040c650
lea ecx, [esp + 0x80]
cmp dword [eax], 5
jne 0x47bbfb
mov esi, dword [esp + 0x80]
mov eax, ecx
push dword [esi + 4]
push eax
call fcn.004102f0
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [esp + 0x84], 0
jmp 0x47bc16
mov eax, dword [esp + 0x84]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
push eax
call fcn.0040c650
mov dword [eax], 5
mov eax, dword [esp + 0x80]
push dword [eax + 4]
lea eax, [esp + 0x84]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0x84]
call fcn.00409000
mov eax, dword [esp + 0x78]
add esp, 8
cmp eax, dword [esp + 0x58]
je 0x47bcb1
cmp byte [esp + 0x13], 0
je 0x47bcb1
cmp byte [esp + 0x27], 0
je 0x47bcb1
sub esp, 0x18
mov ecx, esp
push 0
push 0x4aa486
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.004072f0
sub esp, 0x18
lea eax, [esp + 0x520]
mov ecx, esp
push eax
call fcn.00406220
sub esp, 0x18
lea eax, [esp + 0x570]
mov ecx, esp
push eax
call fcn.00406220
xor dl, dl
mov cl, 1
call fcn.004889b0
mov edi, dword [esp + 0x54c]
add esp, 0x48
mov eax, dword [esp + 0x53c]
cmp eax, 0x10
jb 0x47bcce
inc eax
push eax
push dword [esp + 0x52c]
call fcn.00409000
add esp, 8
lea ecx, [esp + 0x25c]
call fcn.0040c600
mov ecx, dword [esp + 0x114]
test ecx, ecx
je 0x47bcf8
mov eax, dword [esp + 0x11c]
sub eax, ecx
push eax
push ecx
call fcn.00409000
add esp, 8
cmp edi, 0x10
jb 0x47bd10
lea eax, [edi + 1]
push eax
push dword [esp + 0x4f4]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x22c]
cmp eax, 0x10
jb 0x47bd2d
inc eax
push eax
push dword [esp + 0x21c]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x1a0]
cmp eax, 0x10
jb 0x47bd4a
inc eax
push eax
push dword [esp + 0x190]
call fcn.00409000
add esp, 8
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0xf
mov byte [esp + 0x18c], 0
cmp eax, 0x10
jb 0x47bd7d
inc eax
push eax
push dword [ebp + 8]
call fcn.00409000
add esp, 8
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0xf
mov byte [ebp + 8], 0
cmp eax, 0x10
jb 0x47bda4
inc eax
push eax
push dword [ebp + 0x20]
call fcn.00409000
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x4bcf3c
call fcn.00419156
add esp, 4
cmp dword [0x4bcf3c], 0xffffffff
jne 0x476c76
push 0x4934b0
mov dword [0x4bcf30], 0
mov dword [0x4bcf34], 0
mov dword [0x4bcf38], 0
call fcn.00418fd4
add esp, 4
push 0x4bcf3c
call fcn.0041910c
add esp, 4
jmp 0x476c76
call fcn.00401c20
call fcn.00401c20
call fcn.0044d55f
push 0x4bcf3c
call fcn.00419156
add esp, 4
cmp dword [0x4bcf3c], 0xffffffff
jne 0x47a6cb
push 0x4934b0
mov dword [0x4bcf30], 0
mov dword [0x4bcf34], 0
mov dword [0x4bcf38], 0
call fcn.00418fd4
add esp, 4
push 0x4bcf3c
call fcn.0041910c
add esp, 4
jmp 0x47a6cb
push 0x4bcf3c
call fcn.00419156
add esp, 4
cmp dword [0x4bcf3c], 0xffffffff
jne 0x47b2d7
push 0x4934b0
mov dword [0x4bcf30], 0
mov dword [0x4bcf34], 0
mov dword [0x4bcf38], 0
call fcn.00418fd4
add esp, 4
push 0x4bcf3c
call fcn.0041910c
add esp, 4
jmp 0x47b2d7
push 0x4bcf3c
call fcn.00419156
add esp, 4
cmp dword [0x4bcf3c], 0xffffffff
jne 0x47b615
push 0x4934b0
mov dword [0x4bcf30], 0
mov dword [0x4bcf34], 0
mov dword [0x4bcf38], 0
call fcn.00418fd4
add esp, 4
push 0x4bcf3c
call fcn.0041910c
add esp, 4
jmp 0x47b615
push 0x4bcf3c
call fcn.00419156
add esp, 4
cmp dword [0x4bcf3c], 0xffffffff
jne 0x47b661
push 0x4934b0
mov dword [0x4bcf30], 0
mov dword [0x4bcf34], 0
mov dword [0x4bcf38], 0
call fcn.00418fd4
add esp, 4
push 0x4bcf3c
call fcn.0041910c
add esp, 4
jmp 0x47b661