Function at 0x40ec88
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 3
add esp, 0xfffff004
push eax
dec eax
jne 0x40ec91
mov eax, dword [ebp - 4]
add esp, 0xfffffe3c
test dword [esp], ebx
push ebx
push esi
push edi
lea ebx, [ebp - 0x270]
lea esi, [ebp - 0x248]
mov eax, 0x5b3128
call fcn.005a26b0
mov dword [ebp - 0x6ac], 2
mov word [ebp - 0x6b8], 0xc
push 0x5b21c0
call fcn.005a2354
pop ecx
push eax
push 0
push 0x5b21c0
lea edx, [ebp + 8]
push edx
call fcn.0040d3e8
add esp, 0x10
cmp eax, 0xffffffff
je 0x40ed1f
push 0x5b21c3
call fcn.005a2354
pop ecx
push eax
push 0
push 0x5b21c3
lea ecx, [ebp + 8]
push ecx
call fcn.0040d3e8
add esp, 0x10
cmp eax, 0xffffffff
jne 0x40edfc
dec dword [ebp - 0x6ac]
cmp dword [ebp + 0x2c], 0x10
jb 0x40ed4d
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x6cc], eax
mov edx, dword [ebp - 0x6cc]
mov dword [ebp - 0x6d0], edx
mov ecx, dword [ebp - 0x6d0]
push ecx
call fcn.00597660
pop ecx
mov eax, 0xf
mov dword [ebp + 0x2c], eax
mov byte [ebp - 0x6d1], 0
cmp dword [ebp + 0x2c], 0x10
jb 0x40ed67
mov edx, dword [ebp + 0x18]
jmp 0x40ed6a
lea edx, [ebp + 0x18]
xor eax, eax
mov dword [ebp + 0x28], eax
add edx, eax
mov dword [ebp - 0x6d8], edx
mov edx, dword [ebp - 0x6d8]
mov cl, byte [ebp - 0x6d1]
mov byte [edx], cl
dec dword [ebp - 0x6ac]
cmp dword [ebp + 0x54], 0x10
jb 0x40edb3
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0x6dc], eax
mov edx, dword [ebp - 0x6dc]
mov dword [ebp - 0x6e0], edx
mov ecx, dword [ebp - 0x6e0]
push ecx
call fcn.00597660
pop ecx
mov eax, 0xf
mov dword [ebp + 0x54], eax
mov byte [ebp - 0x6e1], 0
cmp dword [ebp + 0x54], 0x10
jb 0x40edcd
mov edx, dword [ebp + 0x40]
jmp 0x40edd0
lea edx, [ebp + 0x40]
xor eax, eax
mov dword [ebp + 0x50], eax
add edx, eax
mov dword [ebp - 0x6e8], edx
mov edx, dword [ebp - 0x6e8]
mov cl, byte [ebp - 0x6e1]
mov byte [edx], cl
mov eax, dword [ebp - 0x6c8]
mov dword fs:[0], eax
jmp 0x4224fb
mov word [ebp - 0x6b8], 0x18
lea edx, [ebp - 0x6f0]
push edx
call fcn.00403e6c
pop ecx
lea ecx, [ebp - 0x6f0]
push ecx
lea ecx, [ebp - 0x20]
push ecx
call fcn.00403e94
add esp, 8
mov eax, 0xf
mov dword [ebp - 4], eax
mov byte [ebp - 0x6f1], 0
cmp dword [ebp - 4], 0x10
jb 0x40ee3f
mov edx, dword [ebp - 0x18]
jmp 0x40ee42
lea edx, [ebp - 0x18]
xor eax, eax
mov dword [ebp - 8], eax
add edx, eax
mov dword [ebp - 0x6f8], edx
mov edx, dword [ebp - 0x6f8]
mov cl, byte [ebp - 0x6f1]
mov byte [edx], cl
push 0x5b21c8
call fcn.005a2354
pop ecx
mov dword [ebp - 0x6fc], eax
mov ecx, 0x5b21c8
test ecx, ecx
je 0x40eea6
cmp dword [ebp - 4], 0x10
mov eax, 0x5b21c8
jb 0x40ee87
mov edx, dword [ebp - 0x18]
jmp 0x40ee8a
lea edx, [ebp - 0x18]
cmp eax, edx
jb 0x40eea6
cmp dword [ebp - 4], 0x10
jb 0x40ee99
mov eax, dword [ebp - 0x18]
jmp 0x40ee9c
lea eax, [ebp - 0x18]
add eax, dword [ebp - 8]
cmp eax, 0x5b21c8
ja 0x40eeaa
xor edx, edx
jmp 0x40eeac
mov dl, 1
test dl, dl
je 0x40f33a
cmp dword [ebp - 4], 0x10
mov eax, 0x5b21c8
jb 0x40eec4
mov ecx, dword [ebp - 0x18]
jmp 0x40eec7
lea ecx, [ebp - 0x18]
sub eax, ecx
mov dword [ebp - 0x700], eax
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x700]
jae 0x40eee4
lea edx, [ebp - 0x28]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0x700]
mov dword [ebp - 0x704], ecx
mov eax, dword [ebp - 0x6fc]
cmp eax, dword [ebp - 0x704]
jae 0x40ef0d
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x704], edx
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x28]
cmp ecx, eax
jne 0x40f11f
mov dword [ebp - 0x708], 0xffffffff
mov edx, dword [ebp - 0x700]
add edx, dword [ebp - 0x704]
mov dword [ebp - 0x70c], edx
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0x70c]
jae 0x40ef4c
lea eax, [ebp - 0x28]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x70c]
cmp edx, dword [ebp - 0x708]
jae 0x40ef6c
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x708], ecx
cmp dword [ebp - 0x708], 0
jbe 0x40f034
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x70c]
sub eax, dword [ebp - 0x708]
mov dword [ebp - 0x710], eax
cmp dword [ebp - 4], 0x10
jb 0x40ef99
mov edx, dword [ebp - 0x18]
jmp 0x40ef9c
lea edx, [ebp - 0x18]
add edx, dword [ebp - 0x70c]
add edx, dword [ebp - 0x708]
mov dword [ebp - 0x714], edx
cmp dword [ebp - 4], 0x10
jb 0x40efb9
mov eax, dword [ebp - 0x18]
jmp 0x40efbc
lea eax, [ebp - 0x18]
add eax, dword [ebp - 0x70c]
mov dword [ebp - 0x718], eax
mov edx, dword [ebp - 0x710]
push edx
mov ecx, dword [ebp - 0x714]
push ecx
mov ecx, dword [ebp - 0x718]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x708]
mov dword [ebp - 0x71c], eax
mov edx, dword [ebp - 0x71c]
mov dword [ebp - 0x720], edx
mov byte [ebp - 0x721], 0
cmp dword [ebp - 4], 0x10
jb 0x40f012
mov ecx, dword [ebp - 0x18]
jmp 0x40f015
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 0x720]
mov dword [ebp - 8], eax
add ecx, eax
mov dword [ebp - 0x728], ecx
mov edx, dword [ebp - 0x728]
mov cl, byte [ebp - 0x721]
mov byte [edx], cl
mov ecx, dword [ebp - 0x700]
mov dword [ebp - 0x72c], ecx
cmp dword [ebp - 8], 0
jae 0x40f050
lea eax, [ebp - 0x28]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x72c]
jae 0x40f064
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x72c], ecx
cmp dword [ebp - 0x72c], 0
jbe 0x40f50c
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x72c]
mov dword [ebp - 0x730], eax
cmp dword [ebp - 4], 0x10
jb 0x40f08b
mov edx, dword [ebp - 0x18]
jmp 0x40f08e
lea edx, [ebp - 0x18]
add edx, dword [ebp - 0x72c]
mov dword [ebp - 0x734], edx
cmp dword [ebp - 4], 0x10
jb 0x40f0a5
mov eax, dword [ebp - 0x18]
jmp 0x40f0a8
lea eax, [ebp - 0x18]
mov dword [ebp - 0x738], eax
mov edx, dword [ebp - 0x730]
push edx
mov ecx, dword [ebp - 0x734]
push ecx
mov ecx, dword [ebp - 0x738]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x72c]
mov dword [ebp - 0x73c], eax
mov edx, dword [ebp - 0x73c]
mov dword [ebp - 0x740], edx
mov byte [ebp - 0x741], 0
cmp dword [ebp - 4], 0x10
jb 0x40f0f8
mov ecx, dword [ebp - 0x18]
jmp 0x40f0fb
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 0x740]
mov dword [ebp - 8], eax
add ecx, eax
mov dword [ebp - 0x748], ecx
mov edx, dword [ebp - 0x748]
mov cl, byte [ebp - 0x741]
mov byte [edx], cl
jmp 0x40f50c
mov ecx, dword [ebp - 0x704]
mov dword [ebp - 0x74c], ecx
lea eax, [ebp - 0x20]
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0x750], eax
cmp dword [ebp - 0x750], 1
ja 0x40f14b
mov edx, 1
jmp 0x40f152
mov edx, dword [ebp - 0x750]
dec edx
cmp edx, dword [ebp - 0x74c]
jae 0x40f164
lea eax, [ebp - 0x28]
push eax
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x74c]
jae 0x40f250
mov ecx, dword [ebp - 8]
push ecx
mov eax, dword [ebp - 0x74c]
push eax
lea edx, [ebp - 0x28]
push edx
call fcn.00403ebc
add esp, 0xc
jmp 0x40f289
cmp dword [ebp - 0x74c], 0
jne 0x40f289
mov byte [ebp - 0x769], 0
cmp dword [ebp - 4], 0x10
jb 0x40f26b
mov ecx, dword [ebp - 0x18]
jmp 0x40f26e
lea ecx, [ebp - 0x18]
xor eax, eax
mov dword [ebp - 8], eax
add ecx, eax
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x770]
mov cl, byte [ebp - 0x769]
mov byte [edx], cl
cmp dword [ebp - 0x74c], 0
seta cl
and ecx, 1
test cl, cl
je 0x40f50c
mov eax, dword [ebp - 0x704]
mov dword [ebp - 0x774], eax
cmp dword [ebp - 4], 0x10
jb 0x40f2b5
mov edx, dword [ebp - 0x18]
jmp 0x40f2b8
lea edx, [ebp - 0x18]
add edx, dword [ebp - 0x700]
mov dword [ebp - 0x778], edx
cmp dword [ebp - 4], 0x10
jb 0x40f2cf
mov eax, dword [ebp - 0x18]
jmp 0x40f2d2
lea eax, [ebp - 0x18]
mov dword [ebp - 0x77c], eax
mov edx, dword [ebp - 0x774]
push edx
mov ecx, dword [ebp - 0x778]
push ecx
mov ecx, dword [ebp - 0x77c]
push ecx
call fcn.005a2008
add esp, 0xc
mov eax, dword [ebp - 0x704]
mov dword [ebp - 0x780], eax
mov byte [ebp - 0x781], 0
cmp dword [ebp - 4], 0x10
jb 0x40f313
mov edx, dword [ebp - 0x18]
jmp 0x40f316
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x780]
mov dword [ebp - 8], eax
add edx, eax
mov dword [ebp - 0x788], edx
mov edx, dword [ebp - 0x788]
mov cl, byte [ebp - 0x781]
mov byte [edx], cl
jmp 0x40f50c
lea ecx, [ebp - 0x20]
push ecx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x78c], eax
cmp dword [ebp - 0x78c], 1
ja 0x40f35a
mov eax, 1
jmp 0x40f361
mov eax, dword [ebp - 0x78c]
dec eax
cmp eax, dword [ebp - 0x6fc]
jae 0x40f373
lea edx, [ebp - 0x28]
push edx
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x6fc]
jae 0x40f45f
mov ecx, dword [ebp - 8]
push ecx
mov eax, dword [ebp - 0x6fc]
push eax
lea edx, [ebp - 0x28]
push edx
call fcn.00403ebc
add esp, 0xc
jmp 0x40f498
cmp dword [ebp - 0x6fc], 0
jne 0x40f498
mov byte [ebp - 0x7a5], 0
cmp dword [ebp - 4], 0x10
jb 0x40f47a
mov ecx, dword [ebp - 0x18]
jmp 0x40f47d
lea ecx, [ebp - 0x18]
xor eax, eax
mov dword [ebp - 8], eax
add ecx, eax
mov dword [ebp - 0x7ac], ecx
mov edx, dword [ebp - 0x7ac]
mov cl, byte [ebp - 0x7a5]
mov byte [edx], cl
cmp dword [ebp - 0x6fc], 0
seta cl
and ecx, 1
test cl, cl
je 0x40f50c
cmp dword [ebp - 4], 0x10
jb 0x40f4b4
mov eax, dword [ebp - 0x18]
jmp 0x40f4b7
lea eax, [ebp - 0x18]
mov dword [ebp - 0x7b0], eax
mov edx, dword [ebp - 0x6fc]
push edx
push 0x5b21c8
mov ecx, dword [ebp - 0x7b0]
push ecx
call fcn.005a2008
add esp, 0xc
mov byte [ebp - 0x7b1], 0
cmp dword [ebp - 4], 0x10
jb 0x40f4ea
mov ecx, dword [ebp - 0x18]
jmp 0x40f4ed
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 8], eax
add ecx, eax
mov dword [ebp - 0x7b8], ecx
mov edx, dword [ebp - 0x7b8]
mov cl, byte [ebp - 0x7b1]
mov byte [edx], cl
inc dword [ebp - 0x6ac]
mov word [ebp - 0x6b8], 0xc
push 0x5b21c9
call fcn.005a2354
pop ecx
push eax
push 0
push 0x5b21c9
lea ecx, [ebp + 8]
push ecx
call fcn.0040d3e8
add esp, 0x10
add eax, 2
mov dword [ebp - 0x7bc], eax
mov word [ebp - 0x6b8], 0xc
jmp 0x40f758
mov eax, dword [ebp - 0x7bc]
mov dword [ebp - 0x7c4], eax
cmp dword [ebp + 0x2c], 0x10
jb 0x40f568
mov edx, dword [ebp + 0x18]
jmp 0x40f56b
lea edx, [ebp + 0x18]
add edx, dword [ebp - 0x7c4]
mov al, byte [edx]
mov byte [ebp - 0x7bd], al
or ecx, 0xffffffff
sub ecx, dword [ebp - 8]
cmp ecx, 1
ja 0x40f58e
lea ecx, [ebp - 0x28]
push ecx
call fcn.0059ce64
pop ecx
mov eax, dword [ebp - 8]
lea edx, [ebp - 0x20]
inc eax
mov dword [ebp - 0x7c8], eax
push edx
mov edi, eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0x7cc], eax
cmp dword [ebp - 0x7cc], 1
ja 0x40f5ba
mov ecx, 1
jmp 0x40f5c1
mov ecx, dword [ebp - 0x7cc]
dec ecx
cmp edi, ecx
jbe 0x40f5cf
lea eax, [ebp - 0x28]
push eax
call fcn.0059ce64
pop ecx
cmp edi, dword [ebp - 4]
jbe 0x40f6a1
mov edx, dword [ebp - 8]
lea ecx, [ebp - 0x28]
push edx
push edi
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x40f6d5
test edi, edi
jne 0x40f6d5
mov byte [ebp - 0x7e5], 0
cmp dword [ebp - 4], 0x10
jb 0x40f6b7
mov ecx, dword [ebp - 0x18]
jmp 0x40f6ba
lea ecx, [ebp - 0x18]
xor eax, eax
mov dword [ebp - 8], eax
add ecx, eax
mov dword [ebp - 0x7ec], ecx
mov edx, dword [ebp - 0x7ec]
mov cl, byte [ebp - 0x7e5]
mov byte [edx], cl
test edi, edi
seta cl
and ecx, 1
test cl, cl
je 0x40f752
mov eax, dword [ebp - 8]
mov dword [ebp - 0x7f0], eax
cmp dword [ebp - 4], 0x10
jb 0x40f6f5
mov edx, dword [ebp - 0x18]
jmp 0x40f6f8
lea edx, [ebp - 0x18]
add edx, dword [ebp - 0x7f0]
mov dword [ebp - 0x7f4], edx
mov eax, dword [ebp - 0x7f4]
mov cl, byte [ebp - 0x7bd]
mov byte [eax], cl
mov ecx, dword [ebp - 0x7c8]
mov dword [ebp - 0x7f8], ecx
mov byte [ebp - 0x7f9], 0
cmp dword [ebp - 4], 0x10
jb 0x40f730
mov eax, dword [ebp - 0x18]
jmp 0x40f733
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x7f8]
mov dword [ebp - 8], edx
add eax, edx
mov dword [ebp - 0x800], eax
mov eax, dword [ebp - 0x800]
mov cl, byte [ebp - 0x7f9]
mov byte [eax], cl
inc dword [ebp - 0x7bc]
mov ecx, dword [ebp - 0x7bc]
cmp ecx, dword [ebp + 0x28]
jb 0x40f551
mov word [ebp - 0x6b8], 0x24
lea eax, [ebp - 0x808]
push eax
call fcn.00403e6c
pop ecx
lea edx, [ebp - 0x808]
push edx
lea ecx, [ebp - 0x48]
push ecx
call fcn.00403e94
add esp, 8
mov eax, 0xf
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x809], 0
cmp dword [ebp - 0x2c], 0x10
jb 0x40f7aa
mov edx, dword [ebp - 0x40]
jmp 0x40f7ad
lea edx, [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x30], eax
add edx, eax
mov dword [ebp - 0x810], edx
mov edx, dword [ebp - 0x810]
mov cl, byte [ebp - 0x809]
mov byte [edx], cl
push 0x5b21cc
call fcn.005a2354
pop ecx
mov dword [ebp - 0x814], eax
mov ecx, 0x5b21cc
test ecx, ecx
je 0x40f811
cmp dword [ebp - 0x2c], 0x10
mov eax, 0x5b21cc
jb 0x40f7f2
mov edx, dword [ebp - 0x40]
jmp 0x40f7f5
lea edx, [ebp - 0x40]
cmp eax, edx
jb 0x40f811
cmp dword [ebp - 0x2c], 0x10
jb 0x40f804
mov eax, dword [ebp - 0x40]
jmp 0x40f807
lea eax, [ebp - 0x40]
add eax, dword [ebp - 0x30]
cmp eax, 0x5b21cc
ja 0x40f815
xor edx, edx
jmp 0x40f817
mov dl, 1
test dl, dl
je 0x40fca5
cmp dword [ebp - 0x2c], 0x10
mov eax, 0x5b21cc
jb 0x40f82f
mov ecx, dword [ebp - 0x40]
jmp 0x40f832
lea ecx, [ebp - 0x40]
sub eax, ecx
mov dword [ebp - 0x818], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x818]
jae 0x40f84f
lea edx, [ebp - 0x50]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x818]
mov dword [ebp - 0x81c], ecx
mov eax, dword [ebp - 0x814]
cmp eax, dword [ebp - 0x81c]
jae 0x40f878
mov edx, dword [ebp - 0x814]
mov dword [ebp - 0x81c], edx
lea ecx, [ebp - 0x50]
lea eax, [ebp - 0x50]
cmp ecx, eax
jne 0x40fa8a
mov dword [ebp - 0x820], 0xffffffff
mov edx, dword [ebp - 0x818]
add edx, dword [ebp - 0x81c]
mov dword [ebp - 0x824], edx
mov ecx, dword [ebp - 0x30]
cmp ecx, dword [ebp - 0x824]
jae 0x40f8b7
lea eax, [ebp - 0x50]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x824]
cmp edx, dword [ebp - 0x820]
jae 0x40f8d7
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x824]
mov dword [ebp - 0x820], ecx
cmp dword [ebp - 0x820], 0
jbe 0x40f99f
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x824]
sub eax, dword [ebp - 0x820]
mov dword [ebp - 0x828], eax
cmp dword [ebp - 0x2c], 0x10
jb 0x40f904
mov edx, dword [ebp - 0x40]
jmp 0x40f907
lea edx, [ebp - 0x40]
add edx, dword [ebp - 0x824]
add edx, dword [ebp - 0x820]
mov dword [ebp - 0x82c], edx
cmp dword [ebp - 0x2c], 0x10
jb 0x40f924
mov eax, dword [ebp - 0x40]
jmp 0x40f927
lea eax, [ebp - 0x40]
add eax, dword [ebp - 0x824]
mov dword [ebp - 0x830], eax
mov edx, dword [ebp - 0x828]
push edx
mov ecx, dword [ebp - 0x82c]
push ecx
mov ecx, dword [ebp - 0x830]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x820]
mov dword [ebp - 0x834], eax
mov edx, dword [ebp - 0x834]
mov dword [ebp - 0x838], edx
mov byte [ebp - 0x839], 0
cmp dword [ebp - 0x2c], 0x10
jb 0x40f97d
mov ecx, dword [ebp - 0x40]
jmp 0x40f980
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0x838]
mov dword [ebp - 0x30], eax
add ecx, eax
mov dword [ebp - 0x840], ecx
mov edx, dword [ebp - 0x840]
mov cl, byte [ebp - 0x839]
mov byte [edx], cl
mov ecx, dword [ebp - 0x818]
mov dword [ebp - 0x844], ecx
cmp dword [ebp - 0x30], 0
jae 0x40f9bb
lea eax, [ebp - 0x50]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x844]
jae 0x40f9cf
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x844], ecx
cmp dword [ebp - 0x844], 0
jbe 0x40fe77
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x844]
mov dword [ebp - 0x848], eax
cmp dword [ebp - 0x2c], 0x10
jb 0x40f9f6
mov edx, dword [ebp - 0x40]
jmp 0x40f9f9
lea edx, [ebp - 0x40]
add edx, dword [ebp - 0x844]
mov dword [ebp - 0x84c], edx
cmp dword [ebp - 0x2c], 0x10
jb 0x40fa10
mov eax, dword [ebp - 0x40]
jmp 0x40fa13
lea eax, [ebp - 0x40]
mov dword [ebp - 0x850], eax
mov edx, dword [ebp - 0x848]
push edx
mov ecx, dword [ebp - 0x84c]
push ecx
mov ecx, dword [ebp - 0x850]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x844]
mov dword [ebp - 0x854], eax
mov edx, dword [ebp - 0x854]
mov dword [ebp - 0x858], edx
mov byte [ebp - 0x859], 0
cmp dword [ebp - 0x2c], 0x10
jb 0x40fa63
mov ecx, dword [ebp - 0x40]
jmp 0x40fa66
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0x858]
mov dword [ebp - 0x30], eax
add ecx, eax
mov dword [ebp - 0x860], ecx
mov edx, dword [ebp - 0x860]
mov cl, byte [ebp - 0x859]
mov byte [edx], cl
jmp 0x40fe77
mov ecx, dword [ebp - 0x81c]
mov dword [ebp - 0x864], ecx
lea eax, [ebp - 0x48]
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0x868], eax
cmp dword [ebp - 0x868], 1
ja 0x40fab6
mov edx, 1
jmp 0x40fabd
mov edx, dword [ebp - 0x868]
dec edx
cmp edx, dword [ebp - 0x864]
jae 0x40facf
lea eax, [ebp - 0x50]
push eax
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x864]
jae 0x40fbbb
mov ecx, dword [ebp - 0x30]
push ecx
mov eax, dword [ebp - 0x864]
push eax
lea edx, [ebp - 0x50]
push edx
call fcn.00403ebc
add esp, 0xc
jmp 0x40fbf4
cmp dword [ebp - 0x864], 0
jne 0x40fbf4
mov byte [ebp - 0x881], 0
cmp dword [ebp - 0x2c], 0x10
jb 0x40fbd6
mov ecx, dword [ebp - 0x40]
jmp 0x40fbd9
lea ecx, [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x30], eax
add ecx, eax
mov dword [ebp - 0x888], ecx
mov edx, dword [ebp - 0x888]
mov cl, byte [ebp - 0x881]
mov byte [edx], cl
cmp dword [ebp - 0x864], 0
seta cl
and ecx, 1
test cl, cl
je 0x40fe77
mov eax, dword [ebp - 0x81c]
mov dword [ebp - 0x88c], eax
cmp dword [ebp - 0x2c], 0x10
jb 0x40fc20
mov edx, dword [ebp - 0x40]
jmp 0x40fc23
lea edx, [ebp - 0x40]
add edx, dword [ebp - 0x818]
mov dword [ebp - 0x890], edx
cmp dword [ebp - 0x2c], 0x10
jb 0x40fc3a
mov eax, dword [ebp - 0x40]
jmp 0x40fc3d
lea eax, [ebp - 0x40]
mov dword [ebp - 0x894], eax
mov edx, dword [ebp - 0x88c]
push edx
mov ecx, dword [ebp - 0x890]
push ecx
mov ecx, dword [ebp - 0x894]
push ecx
call fcn.005a2008
add esp, 0xc
mov eax, dword [ebp - 0x81c]
mov dword [ebp - 0x898], eax
mov byte [ebp - 0x899], 0
cmp dword [ebp - 0x2c], 0x10
jb 0x40fc7e
mov edx, dword [ebp - 0x40]
jmp 0x40fc81
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 0x898]
mov dword [ebp - 0x30], eax
add edx, eax
mov dword [ebp - 0x8a0], edx
mov edx, dword [ebp - 0x8a0]
mov cl, byte [ebp - 0x899]
mov byte [edx], cl
jmp 0x40fe77
lea ecx, [ebp - 0x48]
push ecx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x8a4], eax
cmp dword [ebp - 0x8a4], 1
ja 0x40fcc5
mov eax, 1
jmp 0x40fccc
mov eax, dword [ebp - 0x8a4]
dec eax
cmp eax, dword [ebp - 0x814]
jae 0x40fcde
lea edx, [ebp - 0x50]
push edx
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x814]
jae 0x40fdca
mov ecx, dword [ebp - 0x30]
push ecx
mov eax, dword [ebp - 0x814]
push eax
lea edx, [ebp - 0x50]
push edx
call fcn.00403ebc
add esp, 0xc
jmp 0x40fe03
cmp dword [ebp - 0x814], 0
jne 0x40fe03
mov byte [ebp - 0x8bd], 0
cmp dword [ebp - 0x2c], 0x10
jb 0x40fde5
mov ecx, dword [ebp - 0x40]
jmp 0x40fde8
lea ecx, [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x30], eax
add ecx, eax
mov dword [ebp - 0x8c4], ecx
mov edx, dword [ebp - 0x8c4]
mov cl, byte [ebp - 0x8bd]
mov byte [edx], cl
cmp dword [ebp - 0x814], 0
seta cl
and ecx, 1
test cl, cl
je 0x40fe77
cmp dword [ebp - 0x2c], 0x10
jb 0x40fe1f
mov eax, dword [ebp - 0x40]
jmp 0x40fe22
lea eax, [ebp - 0x40]
mov dword [ebp - 0x8c8], eax
mov edx, dword [ebp - 0x814]
push edx
push 0x5b21cc
mov ecx, dword [ebp - 0x8c8]
push ecx
call fcn.005a2008
add esp, 0xc
mov byte [ebp - 0x8c9], 0
cmp dword [ebp - 0x2c], 0x10
jb 0x40fe55
mov ecx, dword [ebp - 0x40]
jmp 0x40fe58
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0x814]
mov dword [ebp - 0x30], eax
add ecx, eax
mov dword [ebp - 0x8d0], ecx
mov edx, dword [ebp - 0x8d0]
mov cl, byte [ebp - 0x8c9]
mov byte [edx], cl
inc dword [ebp - 0x6ac]
mov word [ebp - 0x6b8], 0xc
push 0x5b21cd
call fcn.005a2354
pop ecx
push eax
push 0
push 0x5b21cd
lea ecx, [ebp - 0x28]
push ecx
call fcn.0040d3e8
add esp, 0x10
cmp eax, 0xffffffff
je 0x410122
push 0x5b21cf
call fcn.005a2354
pop ecx
push eax
push 0
push 0x5b21cf
lea eax, [ebp - 0x28]
push eax
call fcn.0040d3e8
add esp, 0x10
mov edx, dword [ebp - 8]
dec edx
cmp eax, edx
je 0x410122
push 0x5b21d1
call fcn.005a2354
pop ecx
push eax
push 0
push 0x5b21d1
lea ecx, [ebp - 0x28]
push ecx
call fcn.0040d3e8
add esp, 0x10
mov dword [ebp - 0x8d4], eax
mov word [ebp - 0x6b8], 0xc
jmp 0x410113
mov eax, dword [ebp - 0x8d4]
mov dword [ebp - 0x8dc], eax
cmp dword [ebp - 4], 0x10
jb 0x40ff23
mov edx, dword [ebp - 0x18]
jmp 0x40ff26
lea edx, [ebp - 0x18]
add edx, dword [ebp - 0x8dc]
mov al, byte [edx]
mov byte [ebp - 0x8d5], al
or ecx, 0xffffffff
sub ecx, dword [ebp - 0x30]
cmp ecx, 1
ja 0x40ff49
lea ecx, [ebp - 0x50]
push ecx
call fcn.0059ce64
pop ecx
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x48]
inc eax
mov dword [ebp - 0x8e0], eax
push edx
mov edi, eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0x8e4], eax
cmp dword [ebp - 0x8e4], 1
ja 0x40ff75
mov ecx, 1
jmp 0x40ff7c
mov ecx, dword [ebp - 0x8e4]
dec ecx
cmp edi, ecx
jbe 0x40ff8a
lea eax, [ebp - 0x50]
push eax
call fcn.0059ce64
pop ecx
cmp edi, dword [ebp - 0x2c]
jbe 0x41005c
mov edx, dword [ebp - 0x30]
lea ecx, [ebp - 0x50]
push edx
push edi
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x410090
test edi, edi
jne 0x410090
mov byte [ebp - 0x8fd], 0
cmp dword [ebp - 0x2c], 0x10
jb 0x410072
mov ecx, dword [ebp - 0x40]
jmp 0x410075
lea ecx, [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x30], eax
add ecx, eax
mov dword [ebp - 0x904], ecx
mov edx, dword [ebp - 0x904]
mov cl, byte [ebp - 0x8fd]
mov byte [edx], cl
test edi, edi
seta cl
and ecx, 1
test cl, cl
je 0x41010d
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x908], eax
cmp dword [ebp - 0x2c], 0x10
jb 0x4100b0
mov edx, dword [ebp - 0x40]
jmp 0x4100b3
lea edx, [ebp - 0x40]
add edx, dword [ebp - 0x908]
mov dword [ebp - 0x90c], edx
mov eax, dword [ebp - 0x90c]
mov cl, byte [ebp - 0x8d5]
mov byte [eax], cl
mov ecx, dword [ebp - 0x8e0]
mov dword [ebp - 0x910], ecx
mov byte [ebp - 0x911], 0
cmp dword [ebp - 0x2c], 0x10
jb 0x4100eb
mov eax, dword [ebp - 0x40]
jmp 0x4100ee
lea eax, [ebp - 0x40]
mov edx, dword [ebp - 0x910]
mov dword [ebp - 0x30], edx
add eax, edx
mov dword [ebp - 0x918], eax
mov eax, dword [ebp - 0x918]
mov cl, byte [ebp - 0x911]
mov byte [eax], cl
inc dword [ebp - 0x8d4]
mov ecx, dword [ebp - 0x8d4]
cmp ecx, dword [ebp - 8]
jb 0x40ff0c
mov word [ebp - 0x6b8], 0x30
lea eax, [ebp - 0x920]
push eax
call fcn.00403e6c
pop ecx
lea edx, [ebp - 0x920]
push edx
lea ecx, [ebp - 0x70]
push ecx
call fcn.00403e94
add esp, 8
mov eax, 0xf
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x921], 0
cmp dword [ebp - 0x54], 0x10
jb 0x410165
mov edx, dword [ebp - 0x68]
jmp 0x410168
lea edx, [ebp - 0x68]
xor eax, eax
mov dword [ebp - 0x58], eax
add edx, eax
mov dword [ebp - 0x928], edx
mov edx, dword [ebp - 0x928]
mov cl, byte [ebp - 0x921]
mov byte [edx], cl
push 0x5b21d3
call fcn.005a2354
pop ecx
mov dword [ebp - 0x92c], eax
mov ecx, 0x5b21d3
test ecx, ecx
je 0x4101cc
cmp dword [ebp - 0x54], 0x10
mov eax, 0x5b21d3
jb 0x4101ad
mov edx, dword [ebp - 0x68]
jmp 0x4101b0
lea edx, [ebp - 0x68]
cmp eax, edx
jb 0x4101cc
cmp dword [ebp - 0x54], 0x10
jb 0x4101bf
mov eax, dword [ebp - 0x68]
jmp 0x4101c2
lea eax, [ebp - 0x68]
add eax, dword [ebp - 0x58]
cmp eax, 0x5b21d3
ja 0x4101d0
xor edx, edx
jmp 0x4101d2
mov dl, 1
test dl, dl
je 0x410660
cmp dword [ebp - 0x54], 0x10
mov eax, 0x5b21d3
jb 0x4101ea
mov ecx, dword [ebp - 0x68]
jmp 0x4101ed
lea ecx, [ebp - 0x68]
sub eax, ecx
mov dword [ebp - 0x930], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x930]
jae 0x41020a
lea edx, [ebp - 0x78]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0x930]
mov dword [ebp - 0x934], ecx
mov eax, dword [ebp - 0x92c]
cmp eax, dword [ebp - 0x934]
jae 0x410233
mov edx, dword [ebp - 0x92c]
mov dword [ebp - 0x934], edx
lea ecx, [ebp - 0x78]
lea eax, [ebp - 0x78]
cmp ecx, eax
jne 0x410445
mov dword [ebp - 0x938], 0xffffffff
mov edx, dword [ebp - 0x930]
add edx, dword [ebp - 0x934]
mov dword [ebp - 0x93c], edx
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x93c]
jae 0x410272
lea eax, [ebp - 0x78]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x58]
sub edx, dword [ebp - 0x93c]
cmp edx, dword [ebp - 0x938]
jae 0x410292
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0x93c]
mov dword [ebp - 0x938], ecx
cmp dword [ebp - 0x938], 0
jbe 0x41035a
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x93c]
sub eax, dword [ebp - 0x938]
mov dword [ebp - 0x940], eax
cmp dword [ebp - 0x54], 0x10
jb 0x4102bf
mov edx, dword [ebp - 0x68]
jmp 0x4102c2
lea edx, [ebp - 0x68]
add edx, dword [ebp - 0x93c]
add edx, dword [ebp - 0x938]
mov dword [ebp - 0x944], edx
cmp dword [ebp - 0x54], 0x10
jb 0x4102df
mov eax, dword [ebp - 0x68]
jmp 0x4102e2
lea eax, [ebp - 0x68]
add eax, dword [ebp - 0x93c]
mov dword [ebp - 0x948], eax
mov edx, dword [ebp - 0x940]
push edx
mov ecx, dword [ebp - 0x944]
push ecx
mov ecx, dword [ebp - 0x948]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x938]
mov dword [ebp - 0x94c], eax
mov edx, dword [ebp - 0x94c]
mov dword [ebp - 0x950], edx
mov byte [ebp - 0x951], 0
cmp dword [ebp - 0x54], 0x10
jb 0x410338
mov ecx, dword [ebp - 0x68]
jmp 0x41033b
lea ecx, [ebp - 0x68]
mov eax, dword [ebp - 0x950]
mov dword [ebp - 0x58], eax
add ecx, eax
mov dword [ebp - 0x958], ecx
mov edx, dword [ebp - 0x958]
mov cl, byte [ebp - 0x951]
mov byte [edx], cl
mov ecx, dword [ebp - 0x930]
mov dword [ebp - 0x95c], ecx
cmp dword [ebp - 0x58], 0
jae 0x410376
lea eax, [ebp - 0x78]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x58]
cmp edx, dword [ebp - 0x95c]
jae 0x41038a
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x95c], ecx
cmp dword [ebp - 0x95c], 0
jbe 0x410832
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x95c]
mov dword [ebp - 0x960], eax
cmp dword [ebp - 0x54], 0x10
jb 0x4103b1
mov edx, dword [ebp - 0x68]
jmp 0x4103b4
lea edx, [ebp - 0x68]
add edx, dword [ebp - 0x95c]
mov dword [ebp - 0x964], edx
cmp dword [ebp - 0x54], 0x10
jb 0x4103cb
mov eax, dword [ebp - 0x68]
jmp 0x4103ce
lea eax, [ebp - 0x68]
mov dword [ebp - 0x968], eax
mov edx, dword [ebp - 0x960]
push edx
mov ecx, dword [ebp - 0x964]
push ecx
mov ecx, dword [ebp - 0x968]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x95c]
mov dword [ebp - 0x96c], eax
mov edx, dword [ebp - 0x96c]
mov dword [ebp - 0x970], edx
mov byte [ebp - 0x971], 0
cmp dword [ebp - 0x54], 0x10
jb 0x41041e
mov ecx, dword [ebp - 0x68]
jmp 0x410421
lea ecx, [ebp - 0x68]
mov eax, dword [ebp - 0x970]
mov dword [ebp - 0x58], eax
add ecx, eax
mov dword [ebp - 0x978], ecx
mov edx, dword [ebp - 0x978]
mov cl, byte [ebp - 0x971]
mov byte [edx], cl
jmp 0x410832
mov ecx, dword [ebp - 0x934]
mov dword [ebp - 0x97c], ecx
lea eax, [ebp - 0x70]
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0x980], eax
cmp dword [ebp - 0x980], 1
ja 0x410471
mov edx, 1
jmp 0x410478
mov edx, dword [ebp - 0x980]
dec edx
cmp edx, dword [ebp - 0x97c]
jae 0x41048a
lea eax, [ebp - 0x78]
push eax
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 0x54]
cmp ecx, dword [ebp - 0x97c]
jae 0x410576
mov ecx, dword [ebp - 0x58]
push ecx
mov eax, dword [ebp - 0x97c]
push eax
lea edx, [ebp - 0x78]
push edx
call fcn.00403ebc
add esp, 0xc
jmp 0x4105af
cmp dword [ebp - 0x97c], 0
jne 0x4105af
mov byte [ebp - 0x999], 0
cmp dword [ebp - 0x54], 0x10
jb 0x410591
mov ecx, dword [ebp - 0x68]
jmp 0x410594
lea ecx, [ebp - 0x68]
xor eax, eax
mov dword [ebp - 0x58], eax
add ecx, eax
mov dword [ebp - 0x9a0], ecx
mov edx, dword [ebp - 0x9a0]
mov cl, byte [ebp - 0x999]
mov byte [edx], cl
cmp dword [ebp - 0x97c], 0
seta cl
and ecx, 1
test cl, cl
je 0x410832
mov eax, dword [ebp - 0x934]
mov dword [ebp - 0x9a4], eax
cmp dword [ebp - 0x54], 0x10
jb 0x4105db
mov edx, dword [ebp - 0x68]
jmp 0x4105de
lea edx, [ebp - 0x68]
add edx, dword [ebp - 0x930]
mov dword [ebp - 0x9a8], edx
cmp dword [ebp - 0x54], 0x10
jb 0x4105f5
mov eax, dword [ebp - 0x68]
jmp 0x4105f8
lea eax, [ebp - 0x68]
mov dword [ebp - 0x9ac], eax
mov edx, dword [ebp - 0x9a4]
push edx
mov ecx, dword [ebp - 0x9a8]
push ecx
mov ecx, dword [ebp - 0x9ac]
push ecx
call fcn.005a2008
add esp, 0xc
mov eax, dword [ebp - 0x934]
mov dword [ebp - 0x9b0], eax
mov byte [ebp - 0x9b1], 0
cmp dword [ebp - 0x54], 0x10
jb 0x410639
mov edx, dword [ebp - 0x68]
jmp 0x41063c
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 0x9b0]
mov dword [ebp - 0x58], eax
add edx, eax
mov dword [ebp - 0x9b8], edx
mov edx, dword [ebp - 0x9b8]
mov cl, byte [ebp - 0x9b1]
mov byte [edx], cl
jmp 0x410832
lea ecx, [ebp - 0x70]
push ecx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x9bc], eax
cmp dword [ebp - 0x9bc], 1
ja 0x410680
mov eax, 1
jmp 0x410687
mov eax, dword [ebp - 0x9bc]
dec eax
cmp eax, dword [ebp - 0x92c]
jae 0x410699
lea edx, [ebp - 0x78]
push edx
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 0x54]
cmp ecx, dword [ebp - 0x92c]
jae 0x410785
mov ecx, dword [ebp - 0x58]
push ecx
mov eax, dword [ebp - 0x92c]
push eax
lea edx, [ebp - 0x78]
push edx
call fcn.00403ebc
add esp, 0xc
jmp 0x4107be
cmp dword [ebp - 0x92c], 0
jne 0x4107be
mov byte [ebp - 0x9d5], 0
cmp dword [ebp - 0x54], 0x10
jb 0x4107a0
mov ecx, dword [ebp - 0x68]
jmp 0x4107a3
lea ecx, [ebp - 0x68]
xor eax, eax
mov dword [ebp - 0x58], eax
add ecx, eax
mov dword [ebp - 0x9dc], ecx
mov edx, dword [ebp - 0x9dc]
mov cl, byte [ebp - 0x9d5]
mov byte [edx], cl
cmp dword [ebp - 0x92c], 0
seta cl
and ecx, 1
test cl, cl
je 0x410832
cmp dword [ebp - 0x54], 0x10
jb 0x4107da
mov eax, dword [ebp - 0x68]
jmp 0x4107dd
lea eax, [ebp - 0x68]
mov dword [ebp - 0x9e0], eax
mov edx, dword [ebp - 0x92c]
push edx
push 0x5b21d3
mov ecx, dword [ebp - 0x9e0]
push ecx
call fcn.005a2008
add esp, 0xc
mov byte [ebp - 0x9e1], 0
cmp dword [ebp - 0x54], 0x10
jb 0x410810
mov ecx, dword [ebp - 0x68]
jmp 0x410813
lea ecx, [ebp - 0x68]
mov eax, dword [ebp - 0x92c]
mov dword [ebp - 0x58], eax
add ecx, eax
mov dword [ebp - 0x9e8], ecx
mov edx, dword [ebp - 0x9e8]
mov cl, byte [ebp - 0x9e1]
mov byte [edx], cl
inc dword [ebp - 0x6ac]
mov word [ebp - 0x6b8], 0xc
xor ecx, ecx
mov dword [ebp - 0x9ec], ecx
mov word [ebp - 0x6b8], 0xc
jmp 0x410a8a
mov eax, dword [ebp - 0x9ec]
mov dword [ebp - 0x9f0], eax
cmp dword [ebp - 4], 0x10
jb 0x41086e
mov edx, dword [ebp - 0x18]
jmp 0x410871
lea edx, [ebp - 0x18]
add edx, dword [ebp - 0x9f0]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x410a99
mov ecx, dword [ebp - 0x9ec]
mov dword [ebp - 0x9f8], ecx
cmp dword [ebp - 4], 0x10
jb 0x41089a
mov ecx, dword [ebp - 0x18]
jmp 0x41089d
lea ecx, [ebp - 0x18]
add ecx, dword [ebp - 0x9f8]
mov al, byte [ecx]
mov byte [ebp - 0x9f1], al
or edx, 0xffffffff
sub edx, dword [ebp - 0x58]
cmp edx, 1
ja 0x4108c0
lea ecx, [ebp - 0x78]
push ecx
call fcn.0059ce64
pop ecx
mov eax, dword [ebp - 0x58]
lea edx, [ebp - 0x70]
inc eax
mov dword [ebp - 0x9fc], eax
push edx
mov edi, eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0xa00], eax
cmp dword [ebp - 0xa00], 1
ja 0x4108ec
mov ecx, 1
jmp 0x4108f3
mov ecx, dword [ebp - 0xa00]
dec ecx
cmp edi, ecx
jbe 0x410901
lea eax, [ebp - 0x78]
push eax
call fcn.0059ce64
pop ecx
cmp edi, dword [ebp - 0x54]
jbe 0x4109d3
mov edx, dword [ebp - 0x58]
lea ecx, [ebp - 0x78]
push edx
push edi
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x410a07
test edi, edi
jne 0x410a07
mov byte [ebp - 0xa19], 0
cmp dword [ebp - 0x54], 0x10
jb 0x4109e9
mov ecx, dword [ebp - 0x68]
jmp 0x4109ec
lea ecx, [ebp - 0x68]
xor eax, eax
mov dword [ebp - 0x58], eax
add ecx, eax
mov dword [ebp - 0xa20], ecx
mov edx, dword [ebp - 0xa20]
mov cl, byte [ebp - 0xa19]
mov byte [edx], cl
test edi, edi
seta cl
and ecx, 1
test cl, cl
je 0x410a84
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xa24], eax
cmp dword [ebp - 0x54], 0x10
jb 0x410a27
mov edx, dword [ebp - 0x68]
jmp 0x410a2a
lea edx, [ebp - 0x68]
add edx, dword [ebp - 0xa24]
mov dword [ebp - 0xa28], edx
mov eax, dword [ebp - 0xa28]
mov cl, byte [ebp - 0x9f1]
mov byte [eax], cl
mov ecx, dword [ebp - 0x9fc]
mov dword [ebp - 0xa2c], ecx
mov byte [ebp - 0xa2d], 0
cmp dword [ebp - 0x54], 0x10
jb 0x410a62
mov eax, dword [ebp - 0x68]
jmp 0x410a65
lea eax, [ebp - 0x68]
mov edx, dword [ebp - 0xa2c]
mov dword [ebp - 0x58], edx
add eax, edx
mov dword [ebp - 0xa34], eax
mov eax, dword [ebp - 0xa34]
mov cl, byte [ebp - 0xa2d]
mov byte [eax], cl
inc dword [ebp - 0x9ec]
mov ecx, dword [ebp - 0x9ec]
cmp ecx, dword [ebp - 8]
jb 0x410857
cmp dword [ebp - 0x58], 0
jae 0x410aa9
lea eax, [ebp - 0x28]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0xa38], edx
cmp dword [ebp - 0xa38], 0xffffffff
jbe 0x410ac5
mov dword [ebp - 0xa38], 0xffffffff
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x78]
cmp ecx, eax
jne 0x410ccd
mov dword [ebp - 0xa3c], 0xffffffff
mov edx, dword [ebp - 0xa38]
mov dword [ebp - 0xa40], edx
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0xa40]
jae 0x410afe
lea eax, [ebp - 0x28]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0xa40]
cmp edx, dword [ebp - 0xa3c]
jae 0x410b1e
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0xa40]
mov dword [ebp - 0xa3c], ecx
cmp dword [ebp - 0xa3c], 0
jbe 0x410be6
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0xa40]
sub eax, dword [ebp - 0xa3c]
mov dword [ebp - 0xa44], eax
cmp dword [ebp - 4], 0x10
jb 0x410b4b
mov edx, dword [ebp - 0x18]
jmp 0x410b4e
lea edx, [ebp - 0x18]
add edx, dword [ebp - 0xa40]
add edx, dword [ebp - 0xa3c]
mov dword [ebp - 0xa48], edx
cmp dword [ebp - 4], 0x10
jb 0x410b6b
mov eax, dword [ebp - 0x18]
jmp 0x410b6e
lea eax, [ebp - 0x18]
add eax, dword [ebp - 0xa40]
mov dword [ebp - 0xa4c], eax
mov edx, dword [ebp - 0xa44]
push edx
mov ecx, dword [ebp - 0xa48]
push ecx
mov ecx, dword [ebp - 0xa4c]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0xa3c]
mov dword [ebp - 0xa50], eax
mov edx, dword [ebp - 0xa50]
mov dword [ebp - 0xa54], edx
mov byte [ebp - 0xa55], 0
cmp dword [ebp - 4], 0x10
jb 0x410bc4
mov ecx, dword [ebp - 0x18]
jmp 0x410bc7
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 0xa54]
mov dword [ebp - 8], eax
add ecx, eax
mov dword [ebp - 0xa5c], ecx
mov edx, dword [ebp - 0xa5c]
mov cl, byte [ebp - 0xa55]
mov byte [edx], cl
xor ecx, ecx
mov dword [ebp - 0xa60], ecx
cmp dword [ebp - 8], 0
jae 0x410bfe
lea eax, [ebp - 0x28]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0xa60]
jae 0x410c12
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xa60], ecx
cmp dword [ebp - 0xa60], 0
jbe 0x410edd
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0xa60]
mov dword [ebp - 0xa64], eax
cmp dword [ebp - 4], 0x10
jb 0x410c39
mov edx, dword [ebp - 0x18]
jmp 0x410c3c
lea edx, [ebp - 0x18]
add edx, dword [ebp - 0xa60]
mov dword [ebp - 0xa68], edx
cmp dword [ebp - 4], 0x10
jb 0x410c53
mov eax, dword [ebp - 0x18]
jmp 0x410c56
lea eax, [ebp - 0x18]
mov dword [ebp - 0xa6c], eax
mov edx, dword [ebp - 0xa64]
push edx
mov ecx, dword [ebp - 0xa68]
push ecx
mov ecx, dword [ebp - 0xa6c]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0xa60]
mov dword [ebp - 0xa70], eax
mov edx, dword [ebp - 0xa70]
mov dword [ebp - 0xa74], edx
mov byte [ebp - 0xa75], 0
cmp dword [ebp - 4], 0x10
jb 0x410ca6
mov ecx, dword [ebp - 0x18]
jmp 0x410ca9
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 0xa74]
mov dword [ebp - 8], eax
add ecx, eax
mov dword [ebp - 0xa7c], ecx
mov edx, dword [ebp - 0xa7c]
mov cl, byte [ebp - 0xa75]
mov byte [edx], cl
jmp 0x410edd
mov ecx, dword [ebp - 0xa38]
mov dword [ebp - 0xa80], ecx
lea eax, [ebp - 0x20]
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0xa84], eax
cmp dword [ebp - 0xa84], 1
ja 0x410cf9
mov edx, 1
jmp 0x410d00
mov edx, dword [ebp - 0xa84]
dec edx
cmp edx, dword [ebp - 0xa80]
jae 0x410d12
lea eax, [ebp - 0x28]
push eax
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0xa80]
jae 0x410dfe
mov ecx, dword [ebp - 8]
push ecx
mov eax, dword [ebp - 0xa80]
push eax
lea edx, [ebp - 0x28]
push edx
call fcn.00403ebc
add esp, 0xc
jmp 0x410e37
cmp dword [ebp - 0xa80], 0
jne 0x410e37
mov byte [ebp - 0xa9d], 0
cmp dword [ebp - 4], 0x10
jb 0x410e19
mov ecx, dword [ebp - 0x18]
jmp 0x410e1c
lea ecx, [ebp - 0x18]
xor eax, eax
mov dword [ebp - 8], eax
add ecx, eax
mov dword [ebp - 0xaa4], ecx
mov edx, dword [ebp - 0xaa4]
mov cl, byte [ebp - 0xa9d]
mov byte [edx], cl
cmp dword [ebp - 0xa80], 0
seta cl
and ecx, 1
test cl, cl
je 0x410edd
mov eax, dword [ebp - 0xa38]
mov dword [ebp - 0xaa8], eax
cmp dword [ebp - 0x54], 0x10
jb 0x410e63
mov edx, dword [ebp - 0x68]
jmp 0x410e66
lea edx, [ebp - 0x68]
mov dword [ebp - 0xaac], edx
cmp dword [ebp - 4], 0x10
jb 0x410e77
mov eax, dword [ebp - 0x18]
jmp 0x410e7a
lea eax, [ebp - 0x18]
mov dword [ebp - 0xab0], eax
mov edx, dword [ebp - 0xaa8]
push edx
mov ecx, dword [ebp - 0xaac]
push ecx
mov ecx, dword [ebp - 0xab0]
push ecx
call fcn.005a2008
add esp, 0xc
mov eax, dword [ebp - 0xa38]
mov dword [ebp - 0xab4], eax
mov byte [ebp - 0xab5], 0
cmp dword [ebp - 4], 0x10
jb 0x410ebb
mov edx, dword [ebp - 0x18]
jmp 0x410ebe
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0xab4]
mov dword [ebp - 8], eax
add edx, eax
mov dword [ebp - 0xabc], edx
mov edx, dword [ebp - 0xabc]
mov cl, byte [ebp - 0xab5]
mov byte [edx], cl
lea ecx, [ebp - 0x2b90]
push ecx
push 0x202
call sub.WSOCK32.DLL_WSAStartup
test eax, eax
je 0x411105
dec dword [ebp - 0x6ac]
cmp dword [ebp - 0x54], 0x10
jb 0x410f24
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xac0], eax
mov edx, dword [ebp - 0xac0]
mov dword [ebp - 0xac4], edx
mov eax, dword [ebp - 0xac4]
push eax
call fcn.00597660
pop ecx
mov edx, 0xf
mov dword [ebp - 0x54], edx
mov byte [ebp - 0xac5], 0
cmp dword [ebp - 0x54], 0x10
jb 0x410f3e
mov ecx, dword [ebp - 0x68]
jmp 0x410f41
lea ecx, [ebp - 0x68]
xor eax, eax
mov dword [ebp - 0x58], eax
add ecx, eax
mov dword [ebp - 0xacc], ecx
mov edx, dword [ebp - 0xacc]
mov cl, byte [ebp - 0xac5]
mov byte [edx], cl
dec dword [ebp - 0x6ac]
cmp dword [ebp - 0x2c], 0x10
jb 0x410f8a
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xad0], eax
mov edx, dword [ebp - 0xad0]
mov dword [ebp - 0xad4], edx
mov ecx, dword [ebp - 0xad4]
push ecx
call fcn.00597660
pop ecx
mov eax, 0xf
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0xad5], 0
cmp dword [ebp - 0x2c], 0x10
jb 0x410fa4
mov edx, dword [ebp - 0x40]
jmp 0x410fa7
lea edx, [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x30], eax
add edx, eax
mov dword [ebp - 0xadc], edx
mov edx, dword [ebp - 0xadc]
mov cl, byte [ebp - 0xad5]
mov byte [edx], cl
dec dword [ebp - 0x6ac]
cmp dword [ebp - 4], 0x10
jb 0x410ff0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xae0], eax
mov edx, dword [ebp - 0xae0]
mov dword [ebp - 0xae4], edx
mov ecx, dword [ebp - 0xae4]
push ecx
call fcn.00597660
pop ecx
mov eax, 0xf
mov dword [ebp - 4], eax
mov byte [ebp - 0xae5], 0
cmp dword [ebp - 4], 0x10
jb 0x41100a
mov edx, dword [ebp - 0x18]
jmp 0x41100d
lea edx, [ebp - 0x18]
xor eax, eax
mov dword [ebp - 8], eax
add edx, eax
mov dword [ebp - 0xaec], edx
mov edx, dword [ebp - 0xaec]
mov cl, byte [ebp - 0xae5]
mov byte [edx], cl
dec dword [ebp - 0x6ac]
cmp dword [ebp + 0x2c], 0x10
jb 0x411056
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xaf0], eax
mov edx, dword [ebp - 0xaf0]
mov dword [ebp - 0xaf4], edx
mov ecx, dword [ebp - 0xaf4]
push ecx
call fcn.00597660
pop ecx
mov eax, 0xf
mov dword [ebp + 0x2c], eax
mov byte [ebp - 0xaf5], 0
cmp dword [ebp + 0x2c], 0x10
jb 0x411070
mov edx, dword [ebp + 0x18]
jmp 0x411073
lea edx, [ebp + 0x18]
xor eax, eax
mov dword [ebp + 0x28], eax
add edx, eax
mov dword [ebp - 0xafc], edx
mov edx, dword [ebp - 0xafc]
mov cl, byte [ebp - 0xaf5]
mov byte [edx], cl
dec dword [ebp - 0x6ac]
cmp dword [ebp + 0x54], 0x10
jb 0x4110bc
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0xb00], eax
mov edx, dword [ebp - 0xb00]
mov dword [ebp - 0xb04], edx
mov ecx, dword [ebp - 0xb04]
push ecx
call fcn.00597660
pop ecx
mov eax, 0xf
mov dword [ebp + 0x54], eax
mov byte [ebp - 0xb05], 0
cmp dword [ebp + 0x54], 0x10
jb 0x4110d6
mov edx, dword [ebp + 0x40]
jmp 0x4110d9
lea edx, [ebp + 0x40]
xor eax, eax
mov dword [ebp + 0x50], eax
add edx, eax
mov dword [ebp - 0xb0c], edx
mov edx, dword [ebp - 0xb0c]
mov cl, byte [ebp - 0xb05]
mov byte [edx], cl
mov eax, dword [ebp - 0x6c8]
mov dword fs:[0], eax
jmp 0x4224fb
push 6
push 1
push 2
call sub.WSOCK32.DLL_socket
mov dword [ebp - 0xb10], eax
mov word [ebp - 0x6b8], 0xc
cmp dword [ebp - 4], 0x10
jb 0x41112a
mov edx, dword [ebp - 0x18]
jmp 0x41112d
lea edx, [ebp - 0x18]
push edx
call sub.WSOCK32.DLL_gethostbyname
mov dword [ebp - 0xb14], eax
push 0x50
call sub.WSOCK32.DLL_htons
mov word [ebp - 0x2b9e], ax
lea edx, [ebp - 0x2ba0]
mov word [ebp - 0x2ba0], 2
mov eax, dword [ebp - 0xb14]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx]
mov eax, dword [ecx]
mov dword [ebp - 0x2b9c], eax
push 0x10
push edx
mov ecx, dword [ebp - 0xb10]
push ecx
call sub.WSOCK32.DLL_connect
test eax, eax
je 0x41138f
dec dword [ebp - 0x6ac]
cmp dword [ebp - 0x54], 0x10
jb 0x4111ae
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xb18], eax
mov edx, dword [ebp - 0xb18]
mov dword [ebp - 0xb1c], edx
mov eax, dword [ebp - 0xb1c]
push eax
call fcn.00597660
pop ecx
mov edx, 0xf
mov dword [ebp - 0x54], edx
mov byte [ebp - 0xb1d], 0
cmp dword [ebp - 0x54], 0x10
jb 0x4111c8
mov ecx, dword [ebp - 0x68]
jmp 0x4111cb
lea ecx, [ebp - 0x68]
xor eax, eax
mov dword [ebp - 0x58], eax
add ecx, eax
mov dword [ebp - 0xb24], ecx
mov edx, dword [ebp - 0xb24]
mov cl, byte [ebp - 0xb1d]
mov byte [edx], cl
dec dword [ebp - 0x6ac]
cmp dword [ebp - 0x2c], 0x10
jb 0x411214
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xb28], eax
mov edx, dword [ebp - 0xb28]
mov dword [ebp - 0xb2c], edx
mov ecx, dword [ebp - 0xb2c]
push ecx
call fcn.00597660
pop ecx
mov eax, 0xf
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0xb2d], 0
cmp dword [ebp - 0x2c], 0x10
jb 0x41122e
mov edx, dword [ebp - 0x40]
jmp 0x411231
lea edx, [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x30], eax
add edx, eax
mov dword [ebp - 0xb34], edx
mov edx, dword [ebp - 0xb34]
mov cl, byte [ebp - 0xb2d]
mov byte [edx], cl
dec dword [ebp - 0x6ac]
cmp dword [ebp - 4], 0x10
jb 0x41127a
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xb38], eax
mov edx, dword [ebp - 0xb38]
mov dword [ebp - 0xb3c], edx
mov ecx, dword [ebp - 0xb3c]
push ecx
call fcn.00597660
pop ecx
mov eax, 0xf
mov dword [ebp - 4], eax
mov byte [ebp - 0xb3d], 0
cmp dword [ebp - 4], 0x10
jb 0x411294
mov edx, dword [ebp - 0x18]
jmp 0x411297
lea edx, [ebp - 0x18]
xor eax, eax
mov dword [ebp - 8], eax
add edx, eax
mov dword [ebp - 0xb44], edx
mov edx, dword [ebp - 0xb44]
mov cl, byte [ebp - 0xb3d]
mov byte [edx], cl
dec dword [ebp - 0x6ac]
cmp dword [ebp + 0x2c], 0x10
jb 0x4112e0
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xb48], eax
mov edx, dword [ebp - 0xb48]
mov dword [ebp - 0xb4c], edx
mov ecx, dword [ebp - 0xb4c]
push ecx
call fcn.00597660
pop ecx
mov eax, 0xf
mov dword [ebp + 0x2c], eax
mov byte [ebp - 0xb4d], 0
cmp dword [ebp + 0x2c], 0x10
jb 0x4112fa
mov edx, dword [ebp + 0x18]
jmp 0x4112fd
lea edx, [ebp + 0x18]
xor eax, eax
mov dword [ebp + 0x28], eax
add edx, eax
mov dword [ebp - 0xb54], edx
mov edx, dword [ebp - 0xb54]
mov cl, byte [ebp - 0xb4d]
mov byte [edx], cl
dec dword [ebp - 0x6ac]
cmp dword [ebp + 0x54], 0x10
jb 0x411346
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0xb58], eax
mov edx, dword [ebp - 0xb58]
mov dword [ebp - 0xb5c], edx
mov ecx, dword [ebp - 0xb5c]
push ecx
call fcn.00597660
pop ecx
mov eax, 0xf
mov dword [ebp + 0x54], eax
mov byte [ebp - 0xb5d], 0
cmp dword [ebp + 0x54], 0x10
jb 0x411360
mov edx, dword [ebp + 0x40]
jmp 0x411363
lea edx, [ebp + 0x40]
xor eax, eax
mov dword [ebp + 0x50], eax
add edx, eax
mov dword [ebp - 0xb64], edx
mov edx, dword [ebp - 0xb64]
mov cl, byte [ebp - 0xb5d]
mov byte [edx], cl
mov eax, dword [ebp - 0x6c8]
mov dword fs:[0], eax
jmp 0x4224fb
mov word [ebp - 0x6b8], 0x3c
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x1c8]
push edx
push 0x5b21d4
push ecx
call fcn.0040d4b4
add esp, 0xc
lea ecx, [ebp - 0x1c8]
inc dword [ebp - 0x6ac]
mov dword [ebp - 0xb70], ecx
push 0x5b21da
call fcn.005a2354
pop ecx
mov dword [ebp - 0xb74], eax
mov eax, 0x5b21da
test eax, eax
je 0x411436
mov edx, 0x5b21da
mov eax, dword [ebp - 0xb70]
cmp dword [eax + 0x24], 0x10
jb 0x4113f8
mov ecx, dword [ebp - 0xb70]
mov eax, dword [ecx + 0x10]
jmp 0x411401
mov eax, dword [ebp - 0xb70]
add eax, 0x10
cmp edx, eax
jb 0x411436
mov edx, dword [ebp - 0xb70]
cmp dword [edx + 0x24], 0x10
jb 0x41141c
mov ecx, dword [ebp - 0xb70]
mov ecx, dword [ecx + 0x10]
jmp 0x411425
mov ecx, dword [ebp - 0xb70]
add ecx, 0x10
mov eax, dword [ebp - 0xb70]
add ecx, dword [eax + 0x20]
cmp ecx, 0x5b21da
ja 0x41143a
xor edx, edx
jmp 0x41143c
mov dl, 1
test dl, dl
je 0x4117d9
mov eax, dword [ebp - 0xb74]
mov dword [ebp - 0xb7c], eax
mov ecx, 0x5b21da
mov edi, dword [ebp - 0xb70]
cmp dword [edi + 0x24], 0x10
jb 0x41146c
mov eax, dword [ebp - 0xb70]
mov edx, dword [eax + 0x10]
jmp 0x411475
mov edx, dword [ebp - 0xb70]
add edx, 0x10
sub ecx, edx
mov dword [ebp - 0xb80], ecx
mov eax, dword [ebp - 0xb70]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [ebp - 0xb80]
jae 0x41149b
mov ecx, dword [ebp - 0xb70]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0xb70]
mov edx, dword [eax + 0x20]
sub edx, dword [ebp - 0xb80]
mov dword [ebp - 0xb84], edx
mov ecx, dword [ebp - 0xb84]
cmp ecx, dword [ebp - 0xb7c]
jae 0x4114ca
mov eax, dword [ebp - 0xb84]
mov dword [ebp - 0xb7c], eax
mov edx, dword [ebp - 0xb70]
or eax, 0xffffffff
sub eax, dword [edx + 0x20]
cmp eax, dword [ebp - 0xb7c]
ja 0x4114eb
mov edx, dword [ebp - 0xb70]
push edx
call fcn.0059ce64
pop ecx
cmp dword [ebp - 0xb7c], 0
jbe 0x4117ce
mov ecx, dword [ebp - 0xb70]
mov ecx, dword [ecx + 0x20]
add ecx, dword [ebp - 0xb7c]
mov dword [ebp - 0xb84], ecx
mov dword [ebp - 0xb88], ecx
mov eax, dword [ebp - 0xb70]
add eax, 8
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0xb8c], eax
cmp dword [ebp - 0xb8c], 1
ja 0x411539
mov edx, 1
jmp 0x411540
mov edx, dword [ebp - 0xb8c]
dec edx
cmp edx, dword [ebp - 0xb88]
jae 0x411555
mov eax, dword [ebp - 0xb70]
push eax
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 0xb70]
mov ecx, dword [ecx + 0x24]
cmp ecx, dword [ebp - 0xb88]
jae 0x411698
mov eax, dword [ebp - 0xb70]
mov edx, dword [eax + 0x20]
push edx
mov ecx, dword [ebp - 0xb88]
push ecx
mov eax, dword [ebp - 0xb70]
push eax
call fcn.00403ebc
add esp, 0xc
jmp 0x4116e9
cmp dword [ebp - 0xb88], 0
jne 0x4116e9
mov byte [ebp - 0xba9], 0
mov ecx, dword [ebp - 0xb70]
xor edi, edi
mov dword [ecx + 0x20], edi
mov eax, dword [ebp - 0xb70]
cmp dword [eax + 0x24], 0x10
jb 0x4116ca
mov edx, dword [ebp - 0xb70]
mov ecx, dword [edx + 0x10]
jmp 0x4116d3
mov ecx, dword [ebp - 0xb70]
add ecx, 0x10
add edi, ecx
mov dword [ebp - 0xbb0], edi
mov eax, dword [ebp - 0xbb0]
mov dl, byte [ebp - 0xba9]
mov byte [eax], dl
cmp dword [ebp - 0xb88], 0
seta cl
and ecx, 1
test cl, cl
je 0x4117ce
mov eax, dword [ebp - 0xb70]
cmp dword [eax + 0x24], 0x10
jb 0x411715
mov edx, dword [ebp - 0xb70]
mov ecx, dword [edx + 0x10]
jmp 0x41171e
mov ecx, dword [ebp - 0xb70]
add ecx, 0x10
add ecx, dword [ebp - 0xb80]
mov dword [ebp - 0xbb4], ecx
mov eax, dword [ebp - 0xb70]
cmp dword [eax + 0x24], 0x10
jb 0x411741
mov edx, dword [ebp - 0xb70]
mov ecx, dword [edx + 0x10]
jmp 0x41174a
mov ecx, dword [ebp - 0xb70]
add ecx, 0x10
mov eax, dword [ebp - 0xb70]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0xbb8], ecx
mov edx, dword [ebp - 0xb7c]
push edx
mov ecx, dword [ebp - 0xbb4]
push ecx
mov eax, dword [ebp - 0xbb8]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0xb84]
mov dword [ebp - 0xbbc], edx
mov byte [ebp - 0xbbd], 0
mov ecx, dword [ebp - 0xb70]
mov eax, dword [ebp - 0xbbc]
mov dword [ecx + 0x20], eax
mov edx, dword [ebp - 0xb70]
cmp dword [edx + 0x24], 0x10
jb 0x4117af
mov ecx, dword [ebp - 0xb70]
mov edx, dword [ecx + 0x10]
jmp 0x4117b8
mov edx, dword [ebp - 0xb70]
add edx, 0x10
add eax, edx
mov dword [ebp - 0xbc4], eax
mov eax, dword [ebp - 0xbc4]
mov cl, byte [ebp - 0xbbd]
mov byte [eax], cl
mov ecx, dword [ebp - 0xb70]
jmp 0x411ab5
mov eax, dword [ebp - 0xb70]
or edx, 0xffffffff
sub edx, dword [eax + 0x20]
cmp edx, dword [ebp - 0xb74]
ja 0x4117fa
mov ecx, dword [ebp - 0xb70]
push ecx
call fcn.0059ce64
pop ecx
cmp dword [ebp - 0xb74], 0
jbe 0x411aaf
mov eax, dword [ebp - 0xb70]
mov edx, dword [eax + 0x20]
add edx, dword [ebp - 0xb74]
mov dword [ebp - 0xbcc], edx
mov dword [ebp - 0xbc8], edx
mov eax, dword [ebp - 0xb70]
add eax, 8
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0xbd0], eax
cmp dword [ebp - 0xbd0], 1
ja 0x411848
mov ecx, 1
jmp 0x41184f
mov ecx, dword [ebp - 0xbd0]
dec ecx
cmp ecx, dword [ebp - 0xbc8]
jae 0x411864
mov eax, dword [ebp - 0xb70]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0xb70]
mov ecx, dword [edx + 0x24]
cmp ecx, dword [ebp - 0xbc8]
jae 0x4119a7
mov eax, dword [ebp - 0xb70]
mov edx, dword [eax + 0x20]
push edx
mov ecx, dword [ebp - 0xbc8]
push ecx
mov eax, dword [ebp - 0xb70]
push eax
call fcn.00403ebc
add esp, 0xc
jmp 0x4119f8
cmp dword [ebp - 0xbc8], 0
jne 0x4119f8
mov byte [ebp - 0xbed], 0
mov ecx, dword [ebp - 0xb70]
xor edi, edi
mov dword [ecx + 0x20], edi
mov eax, dword [ebp - 0xb70]
cmp dword [eax + 0x24], 0x10
jb 0x4119d9
mov edx, dword [ebp - 0xb70]
mov ecx, dword [edx + 0x10]
jmp 0x4119e2
mov ecx, dword [ebp - 0xb70]
add ecx, 0x10
add edi, ecx
mov dword [ebp - 0xbf4], edi
mov eax, dword [ebp - 0xbf4]
mov dl, byte [ebp - 0xbed]
mov byte [eax], dl
cmp dword [ebp - 0xbc8], 0
seta cl
and ecx, 1
test cl, cl
je 0x411aaf
mov eax, dword [ebp - 0xb70]
cmp dword [eax + 0x24], 0x10
jb 0x411a24
mov edx, dword [ebp - 0xb70]
mov ecx, dword [edx + 0x10]
jmp 0x411a2d
mov ecx, dword [ebp - 0xb70]
add ecx, 0x10
mov eax, dword [ebp - 0xb70]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0xbf8], ecx
mov edx, dword [ebp - 0xb74]
push edx
push 0x5b21da
mov ecx, dword [ebp - 0xbf8]
push ecx
call fcn.005a2008
add esp, 0xc
mov eax, dword [ebp - 0xbcc]
mov dword [ebp - 0xbfc], eax
mov byte [ebp - 0xbfd], 0
mov edx, dword [ebp - 0xb70]
mov eax, dword [ebp - 0xbfc]
mov dword [edx + 0x20], eax
mov edx, dword [ebp - 0xb70]
cmp dword [edx + 0x24], 0x10
jb 0x411a90
mov ecx, dword [ebp - 0xb70]
mov edx, dword [ecx + 0x10]
jmp 0x411a99
mov edx, dword [ebp - 0xb70]
add edx, 0x10
add eax, edx
mov dword [ebp - 0xc04], eax
mov eax, dword [ebp - 0xc04]
mov cl, byte [ebp - 0xbfd]
mov byte [eax], cl
mov ecx, dword [ebp - 0xb70]
mov dword [ebp - 0xb78], ecx
mov eax, dword [ebp - 0xb78]
add eax, 8
push eax
lea edx, [ebp - 0xc0c]
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0xc0c]
push ecx
lea eax, [ebp - 0x1e8]
push eax
call fcn.00403e94
add esp, 8
mov edx, 0xf
mov dword [ebp - 0x1cc], edx
mov byte [ebp - 0xc0d], 0
cmp dword [ebp - 0x1cc], 0x10
jb 0x411b0d
mov ecx, dword [ebp - 0x1e0]
jmp 0x411b13
lea ecx, [ebp - 0x1e0]
xor eax, eax
mov dword [ebp - 0x1d0], eax
add ecx, eax
mov dword [ebp - 0xc14], ecx
mov edx, dword [ebp - 0xc14]
mov cl, byte [ebp - 0xc0d]
mov byte [edx], cl
lea ecx, [ebp - 0x1f0]
cmp ecx, dword [ebp - 0xb78]
je 0x4121c9
mov eax, dword [ebp - 0xb78]
add eax, 8
push eax
lea edx, [ebp - 0xc24]
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0xc24]
lea eax, [ebp - 0x1e8]
lea edx, [ebp - 0xc1c]
push ecx
push eax
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0xc1c]
push ecx
call fcn.0040e47c
add esp, 8
test al, al
je 0x4120bc
mov eax, dword [ebp - 0xb78]
cmp dword [eax + 0x24], 0x10
jb 0x4120bc
mov edx, dword [ebp - 0xb78]
cmp dword [edx + 0x20], 0
jae 0x411bb9
lea ecx, [ebp - 0x1f0]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0xb78]
mov edx, dword [eax + 0x20]
mov dword [ebp - 0xc28], edx
cmp dword [ebp - 0xc28], 0xffffffff
jbe 0x411bdb
mov dword [ebp - 0xc28], 0xffffffff
lea ecx, [ebp - 0x1f0]
cmp ecx, dword [ebp - 0xb78]
jne 0x411e47
mov dword [ebp - 0xc2c], 0xffffffff
mov eax, dword [ebp - 0xc28]
mov dword [ebp - 0xc30], eax
mov edx, dword [ebp - 0x1d0]
cmp edx, dword [ebp - 0xc30]
jae 0x411c1e
lea ecx, [ebp - 0x1f0]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x1d0]
sub eax, dword [ebp - 0xc30]
cmp eax, dword [ebp - 0xc2c]
jae 0x411c44
mov edx, dword [ebp - 0x1d0]
sub edx, dword [ebp - 0xc30]
mov dword [ebp - 0xc2c], edx
cmp dword [ebp - 0xc2c], 0
jbe 0x411d30
mov ecx, dword [ebp - 0x1d0]
sub ecx, dword [ebp - 0xc30]
sub ecx, dword [ebp - 0xc2c]
mov dword [ebp - 0xc34], ecx
cmp dword [ebp - 0x1cc], 0x10
jb 0x411c7a
mov eax, dword [ebp - 0x1e0]
jmp 0x411c80
lea eax, [ebp - 0x1e0]
add eax, dword [ebp - 0xc30]
add eax, dword [ebp - 0xc2c]
mov dword [ebp - 0xc38], eax
cmp dword [ebp - 0x1cc], 0x10
jb 0x411ca3
mov edx, dword [ebp - 0x1e0]
jmp 0x411ca9
lea edx, [ebp - 0x1e0]
add edx, dword [ebp - 0xc30]
mov dword [ebp - 0xc3c], edx
mov eax, dword [ebp - 0xc34]
push eax
mov ecx, dword [ebp - 0xc38]
push ecx
mov ecx, dword [ebp - 0xc3c]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 0x1d0]
sub eax, dword [ebp - 0xc2c]
mov dword [ebp - 0xc40], eax
mov edx, dword [ebp - 0xc40]
mov dword [ebp - 0xc44], edx
mov byte [ebp - 0xc45], 0
cmp dword [ebp - 0x1cc], 0x10
jb 0x411d08
mov ecx, dword [ebp - 0x1e0]
jmp 0x411d0e
lea ecx, [ebp - 0x1e0]
mov eax, dword [ebp - 0xc44]
mov dword [ebp - 0x1d0], eax
add ecx, eax
mov dword [ebp - 0xc4c], ecx
mov edx, dword [ebp - 0xc4c]
mov cl, byte [ebp - 0xc45]
mov byte [edx], cl
xor ecx, ecx
mov dword [ebp - 0xc50], ecx
cmp dword [ebp - 0x1d0], 0
jae 0x411d4e
lea eax, [ebp - 0x1f0]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x1d0]
cmp edx, dword [ebp - 0xc50]
jae 0x411d68
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0xc50], ecx
cmp dword [ebp - 0xc50], 0
jbe 0x4121c9
mov eax, dword [ebp - 0x1d0]
sub eax, dword [ebp - 0xc50]
mov dword [ebp - 0xc54], eax
cmp dword [ebp - 0x1cc], 0x10
jb 0x411d98
mov edx, dword [ebp - 0x1e0]
jmp 0x411d9e
lea edx, [ebp - 0x1e0]
add edx, dword [ebp - 0xc50]
mov dword [ebp - 0xc58], edx
cmp dword [ebp - 0x1cc], 0x10
jb 0x411dbb
mov eax, dword [ebp - 0x1e0]
jmp 0x411dc1
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0xc5c], eax
mov edx, dword [ebp - 0xc54]
push edx
mov ecx, dword [ebp - 0xc58]
push ecx
mov ecx, dword [ebp - 0xc5c]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 0x1d0]
sub eax, dword [ebp - 0xc50]
mov dword [ebp - 0xc60], eax
mov edx, dword [ebp - 0xc60]
mov dword [ebp - 0xc64], edx
mov byte [ebp - 0xc65], 0
cmp dword [ebp - 0x1cc], 0x10
jb 0x411e1a
mov ecx, dword [ebp - 0x1e0]
jmp 0x411e20
lea ecx, [ebp - 0x1e0]
mov eax, dword [ebp - 0xc64]
mov dword [ebp - 0x1d0], eax
add ecx, eax
mov dword [ebp - 0xc6c], ecx
mov edx, dword [ebp - 0xc6c]
mov cl, byte [ebp - 0xc65]
mov byte [edx], cl
jmp 0x4121c9
mov ecx, dword [ebp - 0xc28]
mov dword [ebp - 0xc70], ecx
lea eax, [ebp - 0x1e8]
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0xc74], eax
cmp dword [ebp - 0xc74], 1
ja 0x411e76
mov edx, 1
jmp 0x411e7d
mov edx, dword [ebp - 0xc74]
dec edx
cmp edx, dword [ebp - 0xc70]
jae 0x411e92
lea eax, [ebp - 0x1f0]
push eax
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 0x1cc]
cmp ecx, dword [ebp - 0xc70]
jae 0x411fa5
mov ecx, dword [ebp - 0x1d0]
push ecx
mov eax, dword [ebp - 0xc70]
push eax
lea edx, [ebp - 0x1f0]
push edx
call fcn.00403ebc
add esp, 0xc
jmp 0x411fea
cmp dword [ebp - 0xc70], 0
jne 0x411fea
mov byte [ebp - 0xc8d], 0
cmp dword [ebp - 0x1cc], 0x10
jb 0x411fc6
mov ecx, dword [ebp - 0x1e0]
jmp 0x411fcc
lea ecx, [ebp - 0x1e0]
xor eax, eax
mov dword [ebp - 0x1d0], eax
add ecx, eax
mov dword [ebp - 0xc94], ecx
mov edx, dword [ebp - 0xc94]
mov cl, byte [ebp - 0xc8d]
mov byte [edx], cl
cmp dword [ebp - 0xc70], 0
seta cl
and ecx, 1
test cl, cl
je 0x4121c9
mov eax, dword [ebp - 0xc28]
mov dword [ebp - 0xc98], eax
mov edx, dword [ebp - 0xb78]
cmp dword [edx + 0x24], 0x10
jb 0x412022
mov ecx, dword [ebp - 0xb78]
mov eax, dword [ecx + 0x10]
jmp 0x41202b
mov eax, dword [ebp - 0xb78]
add eax, 0x10
mov dword [ebp - 0xc9c], eax
cmp dword [ebp - 0x1cc], 0x10
jb 0x412042
mov edx, dword [ebp - 0x1e0]
jmp 0x412048
lea edx, [ebp - 0x1e0]
mov dword [ebp - 0xca0], edx
mov eax, dword [ebp - 0xc98]
push eax
mov ecx, dword [ebp - 0xc9c]
push ecx
mov ecx, dword [ebp - 0xca0]
push ecx
call fcn.005a2008
add esp, 0xc
mov eax, dword [ebp - 0xc28]
mov dword [ebp - 0xca4], eax
mov byte [ebp - 0xca5], 0
cmp dword [ebp - 0x1cc], 0x10
jb 0x41208f
mov edx, dword [ebp - 0x1e0]
jmp 0x412095
lea edx, [ebp - 0x1e0]
mov eax, dword [ebp - 0xca4]
mov dword [ebp - 0x1d0], eax
add edx, eax
mov dword [ebp - 0xcac], edx
mov edx, dword [ebp - 0xcac]
mov cl, byte [ebp - 0xca5]
mov byte [edx], cl
jmp 0x4121c9
cmp dword [ebp - 0x1cc], 0x10
jb 0x4120ea
mov ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0xcb0], ecx
mov eax, dword [ebp - 0xcb0]
mov dword [ebp - 0xcb4], eax
mov edx, dword [ebp - 0xcb4]
push edx
call fcn.00597660
pop ecx
mov ecx, 0xf
mov dword [ebp - 0x1cc], ecx
mov byte [ebp - 0xcb5], 0
cmp dword [ebp - 0x1cc], 0x10
jb 0x41210d
mov eax, dword [ebp - 0x1e0]
jmp 0x412113
lea eax, [ebp - 0x1e0]
xor edx, edx
mov dword [ebp - 0x1d0], edx
add eax, edx
mov dword [ebp - 0xcbc], eax
mov eax, dword [ebp - 0xcbc]
mov cl, byte [ebp - 0xcb5]
mov byte [eax], cl
mov ecx, dword [ebp - 0xb78]
cmp dword [ecx + 0x24], 0x10
jae 0x41217b
mov eax, dword [ebp - 0xb78]
mov edx, dword [eax + 0x20]
inc edx
mov dword [ebp - 0xcc0], edx
mov ecx, dword [ebp - 0xb78]
add ecx, 0x10
mov dword [ebp - 0xcc4], ecx
mov eax, dword [ebp - 0xcc0]
push eax
mov edx, dword [ebp - 0xcc4]
push edx
lea ecx, [ebp - 0x1e0]
push ecx
call fcn.005a2121
add esp, 0xc
jmp 0x412195
mov eax, dword [ebp - 0xb78]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x1e0], edx
mov ecx, dword [ebp - 0xb78]
xor eax, eax
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0xb78]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x1d0], ecx
mov eax, dword [ebp - 0xb78]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x1cc], edx
mov ecx, dword [ebp - 0xb78]
xor eax, eax
mov dword [ecx + 0x20], eax
mov edx, dword [ebp - 0xb78]
xor eax, eax
mov dword [edx + 0x24], eax
dec dword [ebp - 0x6ac]
lea edx, [ebp - 0x1f0]
inc dword [ebp - 0x6ac]
mov dword [ebp - 0xb6c], edx
mov dword [ebp - 0xcc8], 0xffffffff
cmp dword [ebp - 8], 0
jae 0x4121fe
mov ecx, dword [ebp - 0xb6c]
push ecx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xccc], ecx
mov eax, dword [ebp - 0xccc]
cmp eax, dword [ebp - 0xcc8]
jae 0x412221
mov edx, dword [ebp - 0xccc]
mov dword [ebp - 0xcc8], edx
mov ecx, dword [ebp - 0xb6c]
or eax, 0xffffffff
sub eax, dword [ecx + 0x20]
cmp eax, dword [ebp - 0xcc8]
ja 0x412242
mov edx, dword [ebp - 0xb6c]
push edx
call fcn.0059ce64
pop ecx
cmp dword [ebp - 0xcc8], 0
jbe 0x41250d
mov ecx, dword [ebp - 0xb6c]
mov eax, dword [ecx + 0x20]
add eax, dword [ebp - 0xcc8]
mov dword [ebp - 0xccc], eax
mov dword [ebp - 0xcd0], eax
mov edx, dword [ebp - 0xb6c]
add edx, 8
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0xcd4], eax
cmp dword [ebp - 0xcd4], 1
ja 0x412290
mov ecx, 1
jmp 0x412297
mov ecx, dword [ebp - 0xcd4]
dec ecx
cmp ecx, dword [ebp - 0xcd0]
jae 0x4122ac
mov eax, dword [ebp - 0xb6c]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0xb6c]
mov ecx, dword [edx + 0x24]
cmp ecx, dword [ebp - 0xcd0]
jae 0x4123ef
mov eax, dword [ebp - 0xb6c]
mov edx, dword [eax + 0x20]
push edx
mov ecx, dword [ebp - 0xcd0]
push ecx
mov eax, dword [ebp - 0xb6c]
push eax
call fcn.00403ebc
add esp, 0xc
jmp 0x412440
cmp dword [ebp - 0xcd0], 0
jne 0x412440
mov byte [ebp - 0xcf1], 0
mov ecx, dword [ebp - 0xb6c]
xor edi, edi
mov dword [ecx + 0x20], edi
mov eax, dword [ebp - 0xb6c]
cmp dword [eax + 0x24], 0x10
jb 0x412421
mov edx, dword [ebp - 0xb6c]
mov ecx, dword [edx + 0x10]
jmp 0x41242a
mov ecx, dword [ebp - 0xb6c]
add ecx, 0x10
add edi, ecx
mov dword [ebp - 0xcf8], edi
mov eax, dword [ebp - 0xcf8]
mov dl, byte [ebp - 0xcf1]
mov byte [eax], dl
cmp dword [ebp - 0xcd0], 0
seta cl
and ecx, 1
test cl, cl
je 0x41250d
cmp dword [ebp - 4], 0x10
jb 0x412460
mov eax, dword [ebp - 0x18]
jmp 0x412463
lea eax, [ebp - 0x18]
mov dword [ebp - 0xcfc], eax
mov edx, dword [ebp - 0xb6c]
cmp dword [edx + 0x24], 0x10
jb 0x412480
mov ecx, dword [ebp - 0xb6c]
mov ecx, dword [ecx + 0x10]
jmp 0x412489
mov ecx, dword [ebp - 0xb6c]
add ecx, 0x10
mov eax, dword [ebp - 0xb6c]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0xd00], ecx
mov edx, dword [ebp - 0xcc8]
push edx
mov ecx, dword [ebp - 0xcfc]
push ecx
mov eax, dword [ebp - 0xd00]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0xccc]
mov dword [ebp - 0xd04], edx
mov byte [ebp - 0xd05], 0
mov ecx, dword [ebp - 0xb6c]
mov eax, dword [ebp - 0xd04]
mov dword [ecx + 0x20], eax
mov edx, dword [ebp - 0xb6c]
cmp dword [edx + 0x24], 0x10
jb 0x4124ee
mov ecx, dword [ebp - 0xb6c]
mov edx, dword [ecx + 0x10]
jmp 0x4124f7
mov edx, dword [ebp - 0xb6c]
add edx, 0x10
add eax, edx
mov dword [ebp - 0xd0c], eax
mov eax, dword [ebp - 0xd0c]
mov cl, byte [ebp - 0xd05]
mov byte [eax], cl
mov ecx, dword [ebp - 0xb6c]
add ecx, 8
push ecx
lea eax, [ebp - 0xd14]
push eax
call fcn.00403e94
add esp, 8
lea edx, [ebp - 0xd14]
push edx
lea ecx, [ebp - 0x210]
push ecx
call fcn.00403e94
add esp, 8
mov eax, 0xf
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 0xd15], 0
cmp dword [ebp - 0x1f4], 0x10
jb 0x41255f
mov edx, dword [ebp - 0x208]
jmp 0x412565
lea edx, [ebp - 0x208]
xor eax, eax
mov dword [ebp - 0x1f8], eax
add edx, eax
mov dword [ebp - 0xd1c], edx
mov edx, dword [ebp - 0xd1c]
mov cl, byte [ebp - 0xd15]
mov byte [edx], cl
lea ecx, [ebp - 0x218]
cmp ecx, dword [ebp - 0xb6c]
je 0x412c1b
mov eax, dword [ebp - 0xb6c]
add eax, 8
push eax
lea edx, [ebp - 0xd2c]
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0xd2c]
lea eax, [ebp - 0x210]
lea edx, [ebp - 0xd24]
push ecx
push eax
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0xd24]
push ecx
call fcn.0040e47c
add esp, 8
test al, al
je 0x412b0e
mov eax, dword [ebp - 0xb6c]
cmp dword [eax + 0x24], 0x10
jb 0x412b0e
mov edx, dword [ebp - 0xb6c]
cmp dword [edx + 0x20], 0
jae 0x41260b
lea ecx, [ebp - 0x218]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0xb6c]
mov edx, dword [eax + 0x20]
mov dword [ebp - 0xd30], edx
cmp dword [ebp - 0xd30], 0xffffffff
jbe 0x41262d
mov dword [ebp - 0xd30], 0xffffffff
lea ecx, [ebp - 0x218]
cmp ecx, dword [ebp - 0xb6c]
jne 0x412899
mov dword [ebp - 0xd34], 0xffffffff
mov eax, dword [ebp - 0xd30]
mov dword [ebp - 0xd38], eax
mov edx, dword [ebp - 0x1f8]
cmp edx, dword [ebp - 0xd38]
jae 0x412670
lea ecx, [ebp - 0x218]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x1f8]
sub eax, dword [ebp - 0xd38]
cmp eax, dword [ebp - 0xd34]
jae 0x412696
mov edx, dword [ebp - 0x1f8]
sub edx, dword [ebp - 0xd38]
mov dword [ebp - 0xd34], edx
cmp dword [ebp - 0xd34], 0
jbe 0x412782
mov ecx, dword [ebp - 0x1f8]
sub ecx, dword [ebp - 0xd38]
sub ecx, dword [ebp - 0xd34]
mov dword [ebp - 0xd3c], ecx
cmp dword [ebp - 0x1f4], 0x10
jb 0x4126cc
mov eax, dword [ebp - 0x208]
jmp 0x4126d2
lea eax, [ebp - 0x208]
add eax, dword [ebp - 0xd38]
add eax, dword [ebp - 0xd34]
mov dword [ebp - 0xd40], eax
cmp dword [ebp - 0x1f4], 0x10
jb 0x4126f5
mov edx, dword [ebp - 0x208]
jmp 0x4126fb
lea edx, [ebp - 0x208]
add edx, dword [ebp - 0xd38]
mov dword [ebp - 0xd44], edx
mov eax, dword [ebp - 0xd3c]
push eax
mov ecx, dword [ebp - 0xd40]
push ecx
mov ecx, dword [ebp - 0xd44]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 0x1f8]
sub eax, dword [ebp - 0xd34]
mov dword [ebp - 0xd48], eax
mov edx, dword [ebp - 0xd48]
mov dword [ebp - 0xd4c], edx
mov byte [ebp - 0xd4d], 0
cmp dword [ebp - 0x1f4], 0x10
jb 0x41275a
mov ecx, dword [ebp - 0x208]
jmp 0x412760
lea ecx, [ebp - 0x208]
mov eax, dword [ebp - 0xd4c]
mov dword [ebp - 0x1f8], eax
add ecx, eax
mov dword [ebp - 0xd54], ecx
mov edx, dword [ebp - 0xd54]
mov cl, byte [ebp - 0xd4d]
mov byte [edx], cl
xor ecx, ecx
mov dword [ebp - 0xd58], ecx
cmp dword [ebp - 0x1f8], 0
jae 0x4127a0
lea eax, [ebp - 0x218]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x1f8]
cmp edx, dword [ebp - 0xd58]
jae 0x4127ba
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0xd58], ecx
cmp dword [ebp - 0xd58], 0
jbe 0x412c1b
mov eax, dword [ebp - 0x1f8]
sub eax, dword [ebp - 0xd58]
mov dword [ebp - 0xd5c], eax
cmp dword [ebp - 0x1f4], 0x10
jb 0x4127ea
mov edx, dword [ebp - 0x208]
jmp 0x4127f0
lea edx, [ebp - 0x208]
add edx, dword [ebp - 0xd58]
mov dword [ebp - 0xd60], edx
cmp dword [ebp - 0x1f4], 0x10
jb 0x41280d
mov eax, dword [ebp - 0x208]
jmp 0x412813
lea eax, [ebp - 0x208]
mov dword [ebp - 0xd64], eax
mov edx, dword [ebp - 0xd5c]
push edx
mov ecx, dword [ebp - 0xd60]
push ecx
mov ecx, dword [ebp - 0xd64]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 0x1f8]
sub eax, dword [ebp - 0xd58]
mov dword [ebp - 0xd68], eax
mov edx, dword [ebp - 0xd68]
mov dword [ebp - 0xd6c], edx
mov byte [ebp - 0xd6d], 0
cmp dword [ebp - 0x1f4], 0x10
jb 0x41286c
mov ecx, dword [ebp - 0x208]
jmp 0x412872
lea ecx, [ebp - 0x208]
mov eax, dword [ebp - 0xd6c]
mov dword [ebp - 0x1f8], eax
add ecx, eax
mov dword [ebp - 0xd74], ecx
mov edx, dword [ebp - 0xd74]
mov cl, byte [ebp - 0xd6d]
mov byte [edx], cl
jmp 0x412c1b
mov ecx, dword [ebp - 0xd30]
mov dword [ebp - 0xd78], ecx
lea eax, [ebp - 0x210]
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0xd7c], eax
cmp dword [ebp - 0xd7c], 1
ja 0x4128c8
mov edx, 1
jmp 0x4128cf
mov edx, dword [ebp - 0xd7c]
dec edx
cmp edx, dword [ebp - 0xd78]
jae 0x4128e4
lea eax, [ebp - 0x218]
push eax
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 0x1f4]
cmp ecx, dword [ebp - 0xd78]
jae 0x4129f7
mov ecx, dword [ebp - 0x1f8]
push ecx
mov eax, dword [ebp - 0xd78]
push eax
lea edx, [ebp - 0x218]
push edx
call fcn.00403ebc
add esp, 0xc
jmp 0x412a3c
cmp dword [ebp - 0xd78], 0
jne 0x412a3c
mov byte [ebp - 0xd95], 0
cmp dword [ebp - 0x1f4], 0x10
jb 0x412a18
mov ecx, dword [ebp - 0x208]
jmp 0x412a1e
lea ecx, [ebp - 0x208]
xor eax, eax
mov dword [ebp - 0x1f8], eax
add ecx, eax
mov dword [ebp - 0xd9c], ecx
mov edx, dword [ebp - 0xd9c]
mov cl, byte [ebp - 0xd95]
mov byte [edx], cl
cmp dword [ebp - 0xd78], 0
seta cl
and ecx, 1
test cl, cl
je 0x412c1b
mov eax, dword [ebp - 0xd30]
mov dword [ebp - 0xda0], eax
mov edx, dword [ebp - 0xb6c]
cmp dword [edx + 0x24], 0x10
jb 0x412a74
mov ecx, dword [ebp - 0xb6c]
mov eax, dword [ecx + 0x10]
jmp 0x412a7d
mov eax, dword [ebp - 0xb6c]
add eax, 0x10
mov dword [ebp - 0xda4], eax
cmp dword [ebp - 0x1f4], 0x10
jb 0x412a94
mov edx, dword [ebp - 0x208]
jmp 0x412a9a
lea edx, [ebp - 0x208]
mov dword [ebp - 0xda8], edx
mov eax, dword [ebp - 0xda0]
push eax
mov ecx, dword [ebp - 0xda4]
push ecx
mov ecx, dword [ebp - 0xda8]
push ecx
call fcn.005a2008
add esp, 0xc
mov eax, dword [ebp - 0xd30]
mov dword [ebp - 0xdac], eax
mov byte [ebp - 0xdad], 0
cmp dword [ebp - 0x1f4], 0x10
jb 0x412ae1
mov edx, dword [ebp - 0x208]
jmp 0x412ae7
lea edx, [ebp - 0x208]
mov eax, dword [ebp - 0xdac]
mov dword [ebp - 0x1f8], eax
add edx, eax
mov dword [ebp - 0xdb4], edx
mov edx, dword [ebp - 0xdb4]
mov cl, byte [ebp - 0xdad]
mov byte [edx], cl
jmp 0x412c1b
cmp dword [ebp - 0x1f4], 0x10
jb 0x412b3c
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0xdb8], ecx
mov eax, dword [ebp - 0xdb8]
mov dword [ebp - 0xdbc], eax
mov edx, dword [ebp - 0xdbc]
push edx
call fcn.00597660
pop ecx
mov ecx, 0xf
mov dword [ebp - 0x1f4], ecx
mov byte [ebp - 0xdbd], 0
cmp dword [ebp - 0x1f4], 0x10
jb 0x412b5f
mov eax, dword [ebp - 0x208]
jmp 0x412b65
lea eax, [ebp - 0x208]
xor edx, edx
mov dword [ebp - 0x1f8], edx
add eax, edx
mov dword [ebp - 0xdc4], eax
mov eax, dword [ebp - 0xdc4]
mov cl, byte [ebp - 0xdbd]
mov byte [eax], cl
mov ecx, dword [ebp - 0xb6c]
cmp dword [ecx + 0x24], 0x10
jae 0x412bcd
mov eax, dword [ebp - 0xb6c]
mov edx, dword [eax + 0x20]
inc edx
mov dword [ebp - 0xdc8], edx
mov ecx, dword [ebp - 0xb6c]
add ecx, 0x10
mov dword [ebp - 0xdcc], ecx
mov eax, dword [ebp - 0xdc8]
push eax
mov edx, dword [ebp - 0xdcc]
push edx
lea ecx, [ebp - 0x208]
push ecx
call fcn.005a2121
add esp, 0xc
jmp 0x412be7
mov eax, dword [ebp - 0xb6c]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x208], edx
mov ecx, dword [ebp - 0xb6c]
xor eax, eax
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0xb6c]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x1f8], ecx
mov eax, dword [ebp - 0xb6c]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x1f4], edx
mov ecx, dword [ebp - 0xb6c]
xor eax, eax
mov dword [ecx + 0x20], eax
mov edx, dword [ebp - 0xb6c]
xor eax, eax
mov dword [edx + 0x24], eax
dec dword [ebp - 0x6ac]
lea edx, [ebp - 0x218]
inc dword [ebp - 0x6ac]
mov dword [ebp - 0xb68], edx
push 0x5b21ec
call fcn.005a2354
pop ecx
mov dword [ebp - 0xdd0], eax
mov ecx, 0x5b21ec
test ecx, ecx
je 0x412ca7
mov ecx, 0x5b21ec
mov eax, dword [ebp - 0xb68]
cmp dword [eax + 0x24], 0x10
jb 0x412c69
mov edx, dword [ebp - 0xb68]
mov edi, dword [edx + 0x10]
jmp 0x412c72
mov edi, dword [ebp - 0xb68]
add edi, 0x10
cmp ecx, edi
jb 0x412ca7
mov eax, dword [ebp - 0xb68]
cmp dword [eax + 0x24], 0x10
jb 0x412c8d
mov edx, dword [ebp - 0xb68]
mov ecx, dword [edx + 0x10]
jmp 0x412c96
mov ecx, dword [ebp - 0xb68]
add ecx, 0x10
mov eax, dword [ebp - 0xb68]
add ecx, dword [eax + 0x20]
cmp ecx, 0x5b21ec
ja 0x412cab
xor edx, edx
jmp 0x412cad
mov dl, 1
test dl, dl
je 0x41304a
mov eax, dword [ebp - 0xdd0]
mov dword [ebp - 0xdd8], eax
mov ecx, 0x5b21ec
mov edi, dword [ebp - 0xb68]
cmp dword [edi + 0x24], 0x10
jb 0x412cdd
mov eax, dword [ebp - 0xb68]
mov edx, dword [eax + 0x10]
jmp 0x412ce6
mov edx, dword [ebp - 0xb68]
add edx, 0x10
sub ecx, edx
mov dword [ebp - 0xddc], ecx
mov eax, dword [ebp - 0xb68]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [ebp - 0xddc]
jae 0x412d0c
mov ecx, dword [ebp - 0xb68]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0xb68]
mov edx, dword [eax + 0x20]
sub edx, dword [ebp - 0xddc]
mov dword [ebp - 0xde0], edx
mov ecx, dword [ebp - 0xde0]
cmp ecx, dword [ebp - 0xdd8]
jae 0x412d3b
mov eax, dword [ebp - 0xde0]
mov dword [ebp - 0xdd8], eax
mov edx, dword [ebp - 0xb68]
or eax, 0xffffffff
sub eax, dword [edx + 0x20]
cmp eax, dword [ebp - 0xdd8]
ja 0x412d5c
mov edx, dword [ebp - 0xb68]
push edx
call fcn.0059ce64
pop ecx
cmp dword [ebp - 0xdd8], 0
jbe 0x41303f
mov ecx, dword [ebp - 0xb68]
mov ecx, dword [ecx + 0x20]
add ecx, dword [ebp - 0xdd8]
mov dword [ebp - 0xde0], ecx
mov dword [ebp - 0xde4], ecx
mov eax, dword [ebp - 0xb68]
add eax, 8
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0xde8], eax
cmp dword [ebp - 0xde8], 1
ja 0x412daa
mov edx, 1
jmp 0x412db1
mov edx, dword [ebp - 0xde8]
dec edx
cmp edx, dword [ebp - 0xde4]
jae 0x412dc6
mov eax, dword [ebp - 0xb68]
push eax
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 0xb68]
mov ecx, dword [ecx + 0x24]
cmp ecx, dword [ebp - 0xde4]
jae 0x412f09
mov eax, dword [ebp - 0xb68]
mov edx, dword [eax + 0x20]
push edx
mov ecx, dword [ebp - 0xde4]
push ecx
mov eax, dword [ebp - 0xb68]
push eax
call fcn.00403ebc
add esp, 0xc
jmp 0x412f5a
cmp dword [ebp - 0xde4], 0
jne 0x412f5a
mov byte [ebp - 0xe05], 0
mov ecx, dword [ebp - 0xb68]
xor edi, edi
mov dword [ecx + 0x20], edi
mov eax, dword [ebp - 0xb68]
cmp dword [eax + 0x24], 0x10
jb 0x412f3b
mov edx, dword [ebp - 0xb68]
mov ecx, dword [edx + 0x10]
jmp 0x412f44
mov ecx, dword [ebp - 0xb68]
add ecx, 0x10
add edi, ecx
mov dword [ebp - 0xe0c], edi
mov eax, dword [ebp - 0xe0c]
mov dl, byte [ebp - 0xe05]
mov byte [eax], dl
cmp dword [ebp - 0xde4], 0
seta cl
and ecx, 1
test cl, cl
je 0x41303f
mov eax, dword [ebp - 0xb68]
cmp dword [eax + 0x24], 0x10
jb 0x412f86
mov edx, dword [ebp - 0xb68]
mov ecx, dword [edx + 0x10]
jmp 0x412f8f
mov ecx, dword [ebp - 0xb68]
add ecx, 0x10
add ecx, dword [ebp - 0xddc]
mov dword [ebp - 0xe10], ecx
mov eax, dword [ebp - 0xb68]
cmp dword [eax + 0x24], 0x10
jb 0x412fb2
mov edx, dword [ebp - 0xb68]
mov ecx, dword [edx + 0x10]
jmp 0x412fbb
mov ecx, dword [ebp - 0xb68]
add ecx, 0x10
mov eax, dword [ebp - 0xb68]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0xe14], ecx
mov edx, dword [ebp - 0xdd8]
push edx
mov ecx, dword [ebp - 0xe10]
push ecx
mov eax, dword [ebp - 0xe14]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0xde0]
mov dword [ebp - 0xe18], edx
mov byte [ebp - 0xe19], 0
mov ecx, dword [ebp - 0xb68]
mov eax, dword [ebp - 0xe18]
mov dword [ecx + 0x20], eax
mov edx, dword [ebp - 0xb68]
cmp dword [edx + 0x24], 0x10
jb 0x413020
mov ecx, dword [ebp - 0xb68]
mov edx, dword [ecx + 0x10]
jmp 0x413029
mov edx, dword [ebp - 0xb68]
add edx, 0x10
add eax, edx
mov dword [ebp - 0xe20], eax
mov eax, dword [ebp - 0xe20]
mov cl, byte [ebp - 0xe19]
mov byte [eax], cl
mov ecx, dword [ebp - 0xb68]
jmp 0x413326
mov eax, dword [ebp - 0xb68]
or edx, 0xffffffff
sub edx, dword [eax + 0x20]
cmp edx, dword [ebp - 0xdd0]
ja 0x41306b
mov ecx, dword [ebp - 0xb68]
push ecx
call fcn.0059ce64
pop ecx
cmp dword [ebp - 0xdd0], 0
jbe 0x413320
mov eax, dword [ebp - 0xb68]
mov edx, dword [eax + 0x20]
add edx, dword [ebp - 0xdd0]
mov dword [ebp - 0xe28], edx
mov dword [ebp - 0xe24], edx
mov eax, dword [ebp - 0xb68]
add eax, 8
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0xe2c], eax
cmp dword [ebp - 0xe2c], 1
ja 0x4130b9
mov ecx, 1
jmp 0x4130c0
mov ecx, dword [ebp - 0xe2c]
dec ecx
cmp ecx, dword [ebp - 0xe24]
jae 0x4130d5
mov eax, dword [ebp - 0xb68]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0xb68]
mov ecx, dword [edx + 0x24]
cmp ecx, dword [ebp - 0xe24]
jae 0x413218
mov eax, dword [ebp - 0xb68]
mov edx, dword [eax + 0x20]
push edx
mov ecx, dword [ebp - 0xe24]
push ecx
mov eax, dword [ebp - 0xb68]
push eax
call fcn.00403ebc
add esp, 0xc
jmp 0x413269
cmp dword [ebp - 0xe24], 0
jne 0x413269
mov byte [ebp - 0xe49], 0
mov ecx, dword [ebp - 0xb68]
xor edi, edi
mov dword [ecx + 0x20], edi
mov eax, dword [ebp - 0xb68]
cmp dword [eax + 0x24], 0x10
jb 0x41324a
mov edx, dword [ebp - 0xb68]
mov ecx, dword [edx + 0x10]
jmp 0x413253
mov ecx, dword [ebp - 0xb68]
add ecx, 0x10
add edi, ecx
mov dword [ebp - 0xe50], edi
mov eax, dword [ebp - 0xe50]
mov dl, byte [ebp - 0xe49]
mov byte [eax], dl
cmp dword [ebp - 0xe24], 0
seta cl
and ecx, 1
test cl, cl
je 0x413320
mov eax, dword [ebp - 0xb68]
cmp dword [eax + 0x24], 0x10
jb 0x413295
mov edx, dword [ebp - 0xb68]
mov ecx, dword [edx + 0x10]
jmp 0x41329e
mov ecx, dword [ebp - 0xb68]
add ecx, 0x10
mov eax, dword [ebp - 0xb68]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0xe54], ecx
mov edx, dword [ebp - 0xdd0]
push edx
push 0x5b21ec
mov ecx, dword [ebp - 0xe54]
push ecx
call fcn.005a2008
add esp, 0xc
mov eax, dword [ebp - 0xe28]
mov dword [ebp - 0xe58], eax
mov byte [ebp - 0xe59], 0
mov edx, dword [ebp - 0xb68]
mov eax, dword [ebp - 0xe58]
mov dword [edx + 0x20], eax
mov edx, dword [ebp - 0xb68]
cmp dword [edx + 0x24], 0x10
jb 0x413301
mov ecx, dword [ebp - 0xb68]
mov edx, dword [ecx + 0x10]
jmp 0x41330a
mov edx, dword [ebp - 0xb68]
add edx, 0x10
add eax, edx
mov dword [ebp - 0xe60], eax
mov eax, dword [ebp - 0xe60]
mov cl, byte [ebp - 0xe59]
mov byte [eax], cl
mov ecx, dword [ebp - 0xb68]
mov dword [ebp - 0xdd4], ecx
mov eax, dword [ebp - 0xdd4]
add eax, 8
push eax
lea edx, [ebp - 0xe68]
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0xe68]
push ecx
lea eax, [ebp - 0x98]
push eax
call fcn.00403e94
add esp, 8
mov edx, 0xf
mov dword [ebp - 0x7c], edx
mov byte [ebp - 0xe69], 0
cmp dword [ebp - 0x7c], 0x10
jb 0x413378
mov ecx, dword [ebp - 0x90]
jmp 0x41337e
lea ecx, [ebp - 0x90]
xor eax, eax
mov dword [ebp - 0x80], eax
add ecx, eax
mov dword [ebp - 0xe70], ecx
mov edx, dword [ebp - 0xe70]
mov cl, byte [ebp - 0xe69]
mov byte [edx], cl
lea ecx, [ebp - 0xa0]
cmp ecx, dword [ebp - 0xdd4]
je 0x4139c2
mov eax, dword [ebp - 0xdd4]
add eax, 8
push eax
lea edx, [ebp - 0xe80]
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0xe80]
lea eax, [ebp - 0x98]
lea edx, [ebp - 0xe78]
push ecx
push eax
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0xe78]
push ecx
call fcn.0040e47c
add esp, 8
test al, al
je 0x4138c7
mov eax, dword [ebp - 0xdd4]
cmp dword [eax + 0x24], 0x10
jb 0x4138c7
mov edx, dword [ebp - 0xdd4]
cmp dword [edx + 0x20], 0
jae 0x413421
lea ecx, [ebp - 0xa0]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0xdd4]
mov edx, dword [eax + 0x20]
mov dword [ebp - 0xe84], edx
cmp dword [ebp - 0xe84], 0xffffffff
jbe 0x413443
mov dword [ebp - 0xe84], 0xffffffff
lea ecx, [ebp - 0xa0]
cmp ecx, dword [ebp - 0xdd4]
jne 0x413679
mov dword [ebp - 0xe88], 0xffffffff
mov eax, dword [ebp - 0xe84]
mov dword [ebp - 0xe8c], eax
mov edx, dword [ebp - 0x80]
cmp edx, dword [ebp - 0xe8c]
jae 0x413483
lea ecx, [ebp - 0xa0]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0xe8c]
cmp eax, dword [ebp - 0xe88]
jae 0x4134a3
mov edx, dword [ebp - 0x80]
sub edx, dword [ebp - 0xe8c]
mov dword [ebp - 0xe88], edx
cmp dword [ebp - 0xe88], 0
jbe 0x41357d
mov ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0xe8c]
sub ecx, dword [ebp - 0xe88]
mov dword [ebp - 0xe90], ecx
cmp dword [ebp - 0x7c], 0x10
jb 0x4134d3
mov eax, dword [ebp - 0x90]
jmp 0x4134d9
lea eax, [ebp - 0x90]
add eax, dword [ebp - 0xe8c]
add eax, dword [ebp - 0xe88]
mov dword [ebp - 0xe94], eax
cmp dword [ebp - 0x7c], 0x10
jb 0x4134f9
mov edx, dword [ebp - 0x90]
jmp 0x4134ff
lea edx, [ebp - 0x90]
add edx, dword [ebp - 0xe8c]
mov dword [ebp - 0xe98], edx
mov eax, dword [ebp - 0xe90]
push eax
mov ecx, dword [ebp - 0xe94]
push ecx
mov ecx, dword [ebp - 0xe98]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0xe88]
mov dword [ebp - 0xe9c], eax
mov edx, dword [ebp - 0xe9c]
mov dword [ebp - 0xea0], edx
mov byte [ebp - 0xea1], 0
cmp dword [ebp - 0x7c], 0x10
jb 0x413558
mov ecx, dword [ebp - 0x90]
jmp 0x41355e
lea ecx, [ebp - 0x90]
mov eax, dword [ebp - 0xea0]
mov dword [ebp - 0x80], eax
add ecx, eax
mov dword [ebp - 0xea8], ecx
mov edx, dword [ebp - 0xea8]
mov cl, byte [ebp - 0xea1]
mov byte [edx], cl
xor ecx, ecx
mov dword [ebp - 0xeac], ecx
cmp dword [ebp - 0x80], 0
jae 0x413598
lea eax, [ebp - 0xa0]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x80]
cmp edx, dword [ebp - 0xeac]
jae 0x4135ac
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0xeac], ecx
cmp dword [ebp - 0xeac], 0
jbe 0x4139c2
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0xeac]
mov dword [ebp - 0xeb0], eax
cmp dword [ebp - 0x7c], 0x10
jb 0x4135d6
mov edx, dword [ebp - 0x90]
jmp 0x4135dc
lea edx, [ebp - 0x90]
add edx, dword [ebp - 0xeac]
mov dword [ebp - 0xeb4], edx
cmp dword [ebp - 0x7c], 0x10
jb 0x4135f6
mov eax, dword [ebp - 0x90]
jmp 0x4135fc
lea eax, [ebp - 0x90]
mov dword [ebp - 0xeb8], eax
mov edx, dword [ebp - 0xeb0]
push edx
mov ecx, dword [ebp - 0xeb4]
push ecx
mov ecx, dword [ebp - 0xeb8]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0xeac]
mov dword [ebp - 0xebc], eax
mov edx, dword [ebp - 0xebc]
mov dword [ebp - 0xec0], edx
mov byte [ebp - 0xec1], 0
cmp dword [ebp - 0x7c], 0x10
jb 0x41364f
mov ecx, dword [ebp - 0x90]
jmp 0x413655
lea ecx, [ebp - 0x90]
mov eax, dword [ebp - 0xec0]
mov dword [ebp - 0x80], eax
add ecx, eax
mov dword [ebp - 0xec8], ecx
mov edx, dword [ebp - 0xec8]
mov cl, byte [ebp - 0xec1]
mov byte [edx], cl
jmp 0x4139c2
mov ecx, dword [ebp - 0xe84]
mov dword [ebp - 0xecc], ecx
lea eax, [ebp - 0x98]
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0xed0], eax
cmp dword [ebp - 0xed0], 1
ja 0x4136a8
mov edx, 1
jmp 0x4136af
mov edx, dword [ebp - 0xed0]
dec edx
cmp edx, dword [ebp - 0xecc]
jae 0x4136c4
lea eax, [ebp - 0xa0]
push eax
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 0x7c]
cmp ecx, dword [ebp - 0xecc]
jae 0x4137bf
mov ecx, dword [ebp - 0x80]
push ecx
mov eax, dword [ebp - 0xecc]
push eax
lea edx, [ebp - 0xa0]
push edx
call fcn.00403ebc
add esp, 0xc
jmp 0x4137fe
cmp dword [ebp - 0xecc], 0
jne 0x4137fe
mov byte [ebp - 0xee9], 0
cmp dword [ebp - 0x7c], 0x10
jb 0x4137dd
mov ecx, dword [ebp - 0x90]
jmp 0x4137e3
lea ecx, [ebp - 0x90]
xor eax, eax
mov dword [ebp - 0x80], eax
add ecx, eax
mov dword [ebp - 0xef0], ecx
mov edx, dword [ebp - 0xef0]
mov cl, byte [ebp - 0xee9]
mov byte [edx], cl
cmp dword [ebp - 0xecc], 0
seta cl
and ecx, 1
test cl, cl
je 0x4139c2
mov eax, dword [ebp - 0xe84]
mov dword [ebp - 0xef4], eax
mov edx, dword [ebp - 0xdd4]
cmp dword [edx + 0x24], 0x10
jb 0x413836
mov ecx, dword [ebp - 0xdd4]
mov eax, dword [ecx + 0x10]
jmp 0x41383f
mov eax, dword [ebp - 0xdd4]
add eax, 0x10
mov dword [ebp - 0xef8], eax
cmp dword [ebp - 0x7c], 0x10
jb 0x413853
mov edx, dword [ebp - 0x90]
jmp 0x413859
lea edx, [ebp - 0x90]
mov dword [ebp - 0xefc], edx
mov eax, dword [ebp - 0xef4]
push eax
mov ecx, dword [ebp - 0xef8]
push ecx
mov ecx, dword [ebp - 0xefc]
push ecx
call fcn.005a2008
add esp, 0xc
mov eax, dword [ebp - 0xe84]
mov dword [ebp - 0xf00], eax
mov byte [ebp - 0xf01], 0
cmp dword [ebp - 0x7c], 0x10
jb 0x41389d
mov edx, dword [ebp - 0x90]
jmp 0x4138a3
lea edx, [ebp - 0x90]
mov eax, dword [ebp - 0xf00]
mov dword [ebp - 0x80], eax
add edx, eax
mov dword [ebp - 0xf08], edx
mov edx, dword [ebp - 0xf08]
mov cl, byte [ebp - 0xf01]
mov byte [edx], cl
jmp 0x4139c2
cmp dword [ebp - 0x7c], 0x10
jb 0x4138f2
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0xf0c], ecx
mov eax, dword [ebp - 0xf0c]
mov dword [ebp - 0xf10], eax
mov edx, dword [ebp - 0xf10]
push edx
call fcn.00597660
pop ecx
mov ecx, 0xf
mov dword [ebp - 0x7c], ecx
mov byte [ebp - 0xf11], 0
cmp dword [ebp - 0x7c], 0x10
jb 0x41390f
mov eax, dword [ebp - 0x90]
jmp 0x413915
lea eax, [ebp - 0x90]
xor edx, edx
mov dword [ebp - 0x80], edx
add eax, edx
mov dword [ebp - 0xf18], eax
mov eax, dword [ebp - 0xf18]
mov cl, byte [ebp - 0xf11]
mov byte [eax], cl
mov ecx, dword [ebp - 0xdd4]
cmp dword [ecx + 0x24], 0x10
jae 0x41397a
mov eax, dword [ebp - 0xdd4]
mov edx, dword [eax + 0x20]
inc edx
mov dword [ebp - 0xf1c], edx
mov ecx, dword [ebp - 0xdd4]
add ecx, 0x10
mov dword [ebp - 0xf20], ecx
mov eax, dword [ebp - 0xf1c]
push eax
mov edx, dword [ebp - 0xf20]
push edx
lea ecx, [ebp - 0x90]
push ecx
call fcn.005a2121
add esp, 0xc
jmp 0x413994
mov eax, dword [ebp - 0xdd4]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x90], edx
mov ecx, dword [ebp - 0xdd4]
xor eax, eax
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0xdd4]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp - 0xdd4]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x7c], edx
mov ecx, dword [ebp - 0xdd4]
xor eax, eax
mov dword [ecx + 0x20], eax
mov edx, dword [ebp - 0xdd4]
xor eax, eax
mov dword [edx + 0x24], eax
dec dword [ebp - 0x6ac]
inc dword [ebp - 0x6ac]
dec dword [ebp - 0x6ac]
cmp dword [ebp - 0x1f4], 0x10
jb 0x413a02
mov edx, dword [ebp - 0x208]
mov dword [ebp - 0xf24], edx
mov ecx, dword [ebp - 0xf24]
mov dword [ebp - 0xf28], ecx
mov ecx, dword [ebp - 0xf28]
push ecx
call fcn.00597660
pop ecx
mov eax, 0xf
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 0xf29], 0
cmp dword [ebp - 0x1f4], 0x10
jb 0x413a25
mov edx, dword [ebp - 0x208]
jmp 0x413a2b
lea edx, [ebp - 0x208]
xor eax, eax
mov dword [ebp - 0x1f8], eax
add edx, eax
mov dword [ebp - 0xf30], edx
mov edx, dword [ebp - 0xf30]
mov cl, byte [ebp - 0xf29]
mov byte [edx], cl
dec dword [ebp - 0x6ac]
cmp dword [ebp - 0x1cc], 0x10
jb 0x413a7d
mov ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0xf34], ecx
mov eax, dword [ebp - 0xf34]
mov dword [ebp - 0xf38], eax
mov edx, dword [ebp - 0xf38]
push edx
call fcn.00597660
pop ecx
mov ecx, 0xf
mov dword [ebp - 0x1cc], ecx
mov byte [ebp - 0xf39], 0
cmp dword [ebp - 0x1cc], 0x10
jb 0x413aa0
mov eax, dword [ebp - 0x1e0]
jmp 0x413aa6
lea eax, [ebp - 0x1e0]
xor edx, edx
mov dword [ebp - 0x1d0], edx
add eax, edx
mov dword [ebp - 0xf40], eax
mov eax, dword [ebp - 0xf40]
mov cl, byte [ebp - 0xf39]
mov byte [eax], cl
dec dword [ebp - 0x6ac]
cmp dword [ebp - 0x1a4], 0x10
jb 0x413af8
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0xf44], ecx
mov eax, dword [ebp - 0xf44]
mov dword [ebp - 0xf48], eax
mov edx, dword [ebp - 0xf48]
push edx
call fcn.00597660
pop ecx
mov ecx, 0xf
mov dword [ebp - 0x1a4], ecx
mov byte [ebp - 0xf49], 0
cmp dword [ebp - 0x1a4], 0x10
jb 0x413b1b
mov eax, dword [ebp - 0x1b8]
jmp 0x413b21
lea eax, [ebp - 0x1b8]
xor edx, edx
mov dword [ebp - 0x1a8], edx
add eax, edx
mov dword [ebp - 0xf50], eax
mov eax, dword [ebp - 0xf50]
mov cl, byte [ebp - 0xf49]
mov byte [eax], cl
mov word [ebp - 0x6b8], 0xc
push 0
mov ecx, dword [ebp - 0x80]
push ecx
cmp dword [ebp - 0x7c], 0x10
jb 0x413b5c
mov eax, dword [ebp - 0x90]
jmp 0x413b62
lea eax, [ebp - 0x90]
push eax
mov edx, dword [ebp - 0xb10]
push edx
call sub.WSOCK32.DLL_send
mov dword [ebp - 0xf58], 0xf4240
mov word [ebp - 0x6b8], 0x48
lea ecx, [ebp - 0xf60]
push ecx
call fcn.00403e6c
pop ecx
lea ecx, [ebp - 0xf60]
push ecx
lea eax, [ebp - 0xf68]
push eax
call fcn.00403e94
add esp, 8
lea edx, [ebp - 0xf68]
push edx
lea ecx, [ebp - 0xc0]
push ecx
call fcn.0040e49c
add esp, 8
lea eax, [ebp - 0xf60]
push eax
lea edx, [ebp - 0xb8]
push edx
call fcn.00403e94
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], eax
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], ecx
add esp, 8
inc dword [ebp - 0x6ac]
mov word [ebp - 0x6b8], 0xc
mov word [ebp - 0x6b8], 0x54
mov eax, dword [ebp - 0xf58]
push eax
call fcn.0059cd40
pop ecx
mov dword [ebp - 0xf6c], eax
mov edx, dword [ebp - 0xf6c]
mov dword [ebp - 0xd0], edx
inc dword [ebp - 0x6ac]
mov word [ebp - 0x6b8], 0xc
jmp 0x414e26
xor ecx, ecx
mov dword [ebp - 0xf70], ecx
mov word [ebp - 0x6b8], 0xc
jmp 0x414e14
mov eax, dword [ebp - 0xd0]
add eax, dword [ebp - 0xf70]
mov dword [ebp - 0xf74], eax
mov edx, dword [ebp - 0xa8]
add edx, dword [ebp - 0xa4]
test dl, 0xf
jne 0x414d51
mov ecx, dword [ebp - 0xa4]
add ecx, 0x10
shr ecx, 4
cmp ecx, dword [ebp - 0xac]
jb 0x414d51
mov dword [ebp - 0xf78], 1
lea eax, [ebp - 0xb8]
push eax
call fcn.004040bc
shr eax, 4
pop ecx
sub eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0xf78]
jae 0x4148d7
lea edx, [ebp - 0x6c8]
lea ecx, [ebp - 0xf80]
push edx
push 0
push 0
push 0
push 1
push 0x40e580
push 0
mov word [ebp - 0x6b8], 0x6c
push ecx
call fcn.00403e6c
pop ecx
lea eax, [ebp - 0xf80]
push eax
lea edx, [ebx + 8]
push edx
call fcn.00403e94
add esp, 8
mov ecx, 0xf
mov dword [ebx + 0x24], ecx
mov byte [ebp - 0xf81], 0
cmp dword [ebx + 0x24], 0x10
jb 0x413d16
mov eax, dword [ebx + 0x10]
jmp 0x413d19
lea eax, [ebx + 0x10]
xor edx, edx
mov dword [ebx + 0x20], edx
add eax, edx
mov dword [ebp - 0xf88], eax
mov eax, dword [ebp - 0xf88]
mov cl, byte [ebp - 0xf81]
mov byte [eax], cl
push 0x5b2204
call fcn.005a2354
pop ecx
mov edi, eax
mov ecx, 0x5b2204
test ecx, ecx
je 0x413d79
cmp dword [ebx + 0x24], 0x10
mov eax, 0x5b2204
jb 0x413d5a
mov edx, dword [ebx + 0x10]
jmp 0x413d5d
lea edx, [ebx + 0x10]
cmp eax, edx
jb 0x413d79
cmp dword [ebx + 0x24], 0x10
jb 0x413d6c
mov eax, dword [ebx + 0x10]
jmp 0x413d6f
lea eax, [ebx + 0x10]
add eax, dword [ebx + 0x20]
cmp eax, 0x5b2204
ja 0x413d7d
xor edx, edx
jmp 0x413d7f
mov dl, 1
test dl, dl
je 0x4141ee
cmp dword [ebx + 0x24], 0x10
mov eax, 0x5b2204
jb 0x413d97
mov ecx, dword [ebx + 0x10]
jmp 0x413d9a
lea ecx, [ebx + 0x10]
sub eax, ecx
mov dword [ebp - 0xf8c], eax
mov eax, dword [ebx + 0x20]
cmp eax, dword [ebp - 0xf8c]
jae 0x413db4
push ebx
call fcn.0059da88
pop ecx
mov edx, dword [ebx + 0x20]
sub edx, dword [ebp - 0xf8c]
mov dword [ebp - 0xf90], edx
cmp edi, dword [ebp - 0xf90]
jae 0x413dd1
mov dword [ebp - 0xf90], edi
cmp ebx, ebx
jne 0x413fd7
mov dword [ebp - 0xf94], 0xffffffff
mov ecx, dword [ebp - 0xf8c]
add ecx, dword [ebp - 0xf90]
mov dword [ebp - 0xf98], ecx
mov eax, dword [ebx + 0x20]
cmp eax, dword [ebp - 0xf98]
jae 0x413e07
push ebx
call fcn.0059da88
pop ecx
mov edx, dword [ebx + 0x20]
sub edx, dword [ebp - 0xf98]
cmp edx, dword [ebp - 0xf94]
jae 0x413e27
mov ecx, dword [ebx + 0x20]
sub ecx, dword [ebp - 0xf98]
mov dword [ebp - 0xf94], ecx
cmp dword [ebp - 0xf94], 0
jbe 0x413eef
mov eax, dword [ebx + 0x20]
sub eax, dword [ebp - 0xf98]
sub eax, dword [ebp - 0xf94]
mov dword [ebp - 0xf9c], eax
cmp dword [ebx + 0x24], 0x10
jb 0x413e54
mov edx, dword [ebx + 0x10]
jmp 0x413e57
lea edx, [ebx + 0x10]
add edx, dword [ebp - 0xf98]
add edx, dword [ebp - 0xf94]
mov dword [ebp - 0xfa0], edx
cmp dword [ebx + 0x24], 0x10
jb 0x413e74
mov eax, dword [ebx + 0x10]
jmp 0x413e77
lea eax, [ebx + 0x10]
add eax, dword [ebp - 0xf98]
mov dword [ebp - 0xfa4], eax
mov edx, dword [ebp - 0xf9c]
push edx
mov ecx, dword [ebp - 0xfa0]
push ecx
mov ecx, dword [ebp - 0xfa4]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebx + 0x20]
sub eax, dword [ebp - 0xf94]
mov dword [ebp - 0xfa8], eax
mov edx, dword [ebp - 0xfa8]
mov dword [ebp - 0xfac], edx
mov byte [ebp - 0xfad], 0
cmp dword [ebx + 0x24], 0x10
jb 0x413ecd
mov ecx, dword [ebx + 0x10]
jmp 0x413ed0
lea ecx, [ebx + 0x10]
mov eax, dword [ebp - 0xfac]
mov dword [ebx + 0x20], eax
add ecx, eax
mov dword [ebp - 0xfb4], ecx
mov edx, dword [ebp - 0xfb4]
mov cl, byte [ebp - 0xfad]
mov byte [edx], cl
mov ecx, dword [ebp - 0xf8c]
mov dword [ebp - 0xfb8], ecx
cmp dword [ebx + 0x20], 0
jae 0x413f08
push ebx
call fcn.0059da88
pop ecx
mov eax, dword [ebx + 0x20]
cmp eax, dword [ebp - 0xfb8]
jae 0x413f1c
mov edx, dword [ebx + 0x20]
mov dword [ebp - 0xfb8], edx
cmp dword [ebp - 0xfb8], 0
jbe 0x4141e7
mov ecx, dword [ebx + 0x20]
sub ecx, dword [ebp - 0xfb8]
mov dword [ebp - 0xfbc], ecx
cmp dword [ebx + 0x24], 0x10
jb 0x413f43
mov eax, dword [ebx + 0x10]
jmp 0x413f46
lea eax, [ebx + 0x10]
add eax, dword [ebp - 0xfb8]
mov dword [ebp - 0xfc0], eax
cmp dword [ebx + 0x24], 0x10
jb 0x413f5d
mov edx, dword [ebx + 0x10]
jmp 0x413f60
lea edx, [ebx + 0x10]
mov dword [ebp - 0xfc4], edx
mov eax, dword [ebp - 0xfbc]
push eax
mov ecx, dword [ebp - 0xfc0]
push ecx
mov ecx, dword [ebp - 0xfc4]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [ebx + 0x20]
sub eax, dword [ebp - 0xfb8]
mov dword [ebp - 0xfc8], eax
mov edx, dword [ebp - 0xfc8]
mov dword [ebp - 0xfcc], edx
mov byte [ebp - 0xfcd], 0
cmp dword [ebx + 0x24], 0x10
jb 0x413fb0
mov ecx, dword [ebx + 0x10]
jmp 0x413fb3
lea ecx, [ebx + 0x10]
mov eax, dword [ebp - 0xfcc]
mov dword [ebx + 0x20], eax
add ecx, eax
mov dword [ebp - 0xfd4], ecx
mov edx, dword [ebp - 0xfd4]
mov cl, byte [ebp - 0xfcd]
mov byte [edx], cl
jmp 0x4141e7
mov ecx, dword [ebp - 0xf90]
mov dword [ebp - 0xfd8], ecx
lea eax, [ebx + 8]
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0xfdc], eax
cmp dword [ebp - 0xfdc], 1
ja 0x414003
mov edx, 1
jmp 0x41400a
mov edx, dword [ebp - 0xfdc]
dec edx
cmp edx, dword [ebp - 0xfd8]
jae 0x414019
push ebx
call fcn.0059ce64
pop ecx
mov eax, dword [ebx + 0x24]
cmp eax, dword [ebp - 0xfd8]
jae 0x414102
mov ecx, dword [ebx + 0x20]
push ecx
mov ecx, dword [ebp - 0xfd8]
push ecx
push ebx
call fcn.00403ebc
add esp, 0xc
jmp 0x41413b
cmp dword [ebp - 0xfd8], 0
jne 0x41413b
mov byte [ebp - 0xff5], 0
cmp dword [ebx + 0x24], 0x10
jb 0x41411d
mov ecx, dword [ebx + 0x10]
jmp 0x414120
lea ecx, [ebx + 0x10]
xor eax, eax
mov dword [ebx + 0x20], eax
add ecx, eax
mov dword [ebp - 0xffc], ecx
mov edx, dword [ebp - 0xffc]
mov cl, byte [ebp - 0xff5]
mov byte [edx], cl
cmp dword [ebp - 0xfd8], 0
seta cl
and ecx, 1
test cl, cl
je 0x4141e7
mov eax, dword [ebp - 0xf90]
mov dword [ebp - 0x1000], eax
cmp dword [ebx + 0x24], 0x10
jb 0x414167
mov edx, dword [ebx + 0x10]
jmp 0x41416a
lea edx, [ebx + 0x10]
add edx, dword [ebp - 0xf8c]
mov dword [ebp - 0x1004], edx
cmp dword [ebx + 0x24], 0x10
jb 0x414181
mov eax, dword [ebx + 0x10]
jmp 0x414184
lea eax, [ebx + 0x10]
mov dword [ebp - 0x1008], eax
mov edx, dword [ebp - 0x1000]
push edx
mov ecx, dword [ebp - 0x1004]
push ecx
mov ecx, dword [ebp - 0x1008]
push ecx
call fcn.005a2008
add esp, 0xc
mov eax, dword [ebp - 0xf90]
mov dword [ebp - 0x100c], eax
mov byte [ebp - 0x100d], 0
cmp dword [ebx + 0x24], 0x10
jb 0x4141c5
mov edx, dword [ebx + 0x10]
jmp 0x4141c8
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 0x100c]
mov dword [ebx + 0x20], eax
add edx, eax
mov dword [ebp - 0x1014], edx
mov edx, dword [ebp - 0x1014]
mov cl, byte [ebp - 0x100d]
mov byte [edx], cl
mov ecx, ebx
jmp 0x414388
lea eax, [ebx + 8]
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0x1018], eax
cmp dword [ebp - 0x1018], 1
ja 0x41420e
mov edx, 1
jmp 0x414215
mov edx, dword [ebp - 0x1018]
dec edx
cmp edi, edx
jbe 0x414220
push ebx
call fcn.0059ce64
pop ecx
cmp edi, dword [ebx + 0x24]
jbe 0x4142ef
mov eax, dword [ebx + 0x20]
push eax
push edi
push ebx
call fcn.00403ebc
add esp, 0xc
jmp 0x414323
test edi, edi
jne 0x414323
mov byte [ebp - 0x1031], 0
cmp dword [ebx + 0x24], 0x10
jb 0x414305
mov ecx, dword [ebx + 0x10]
jmp 0x414308
lea ecx, [ebx + 0x10]
xor eax, eax
mov dword [ebx + 0x20], eax
add ecx, eax
mov dword [ebp - 0x1038], ecx
mov edx, dword [ebp - 0x1038]
mov cl, byte [ebp - 0x1031]
mov byte [edx], cl
test edi, edi
seta cl
and ecx, 1
test cl, cl
je 0x414386
cmp dword [ebx + 0x24], 0x10
jb 0x41433a
mov eax, dword [ebx + 0x10]
jmp 0x41433d
lea eax, [ebx + 0x10]
mov dword [ebp - 0x103c], eax
push edi
push 0x5b2204
mov edx, dword [ebp - 0x103c]
push edx
call fcn.005a2008
add esp, 0xc
mov byte [ebp - 0x103d], 0
cmp dword [ebx + 0x24], 0x10
jb 0x41436a
mov ecx, dword [ebx + 0x10]
jmp 0x41436d
lea ecx, [ebx + 0x10]
mov dword [ebx + 0x20], edi
add ecx, edi
mov dword [ebp - 0x1044], ecx
mov eax, dword [ebp - 0x1044]
mov dl, byte [ebp - 0x103d]
mov byte [eax], dl
mov ecx, ebx
inc dword [ebp - 0x6ac]
push esi
call fcn.0040e9a4
pop ecx
inc dword [ebp - 0x6ac]
mov ecx, 0x5b5464
mov dword [esi], ecx
lea eax, [ebx + 8]
push eax
lea edx, [ebp - 0x104c]
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0x104c]
push ecx
lea eax, [esi + 0x10]
push eax
call fcn.00403e94
add esp, 8
mov edx, 0xf
mov dword [esi + 0x2c], edx
mov byte [ebp - 0x104d], 0
cmp dword [esi + 0x2c], 0x10
jb 0x4143e2
mov ecx, dword [esi + 0x18]
jmp 0x4143e5
lea ecx, [esi + 0x18]
xor eax, eax
mov dword [esi + 0x28], eax
add ecx, eax
mov dword [ebp - 0x1054], ecx
mov edx, dword [ebp - 0x1054]
mov cl, byte [ebp - 0x104d]
mov byte [edx], cl
cmp dword [ebx + 0x20], 0
jae 0x414410
lea ecx, [esi + 8]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x1058], eax
cmp dword [ebp - 0x1058], 0xffffffff
jbe 0x41442c
mov dword [ebp - 0x1058], 0xffffffff
lea edx, [esi + 8]
cmp edx, ebx
jne 0x414631
mov dword [ebp - 0x105c], 0xffffffff
mov ecx, dword [ebp - 0x1058]
mov dword [ebp - 0x1060], ecx
mov eax, dword [esi + 0x28]
cmp eax, dword [ebp - 0x1060]
jae 0x414462
lea edx, [esi + 8]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [esi + 0x28]
sub ecx, dword [ebp - 0x1060]
cmp ecx, dword [ebp - 0x105c]
jae 0x414482
mov eax, dword [esi + 0x28]
sub eax, dword [ebp - 0x1060]
mov dword [ebp - 0x105c], eax
cmp dword [ebp - 0x105c], 0
jbe 0x41454a
mov edx, dword [esi + 0x28]
sub edx, dword [ebp - 0x1060]
sub edx, dword [ebp - 0x105c]
mov dword [ebp - 0x1064], edx
cmp dword [esi + 0x2c], 0x10
jb 0x4144af
mov ecx, dword [esi + 0x18]
jmp 0x4144b2
lea ecx, [esi + 0x18]
add ecx, dword [ebp - 0x1060]
add ecx, dword [ebp - 0x105c]
mov dword [ebp - 0x1068], ecx
cmp dword [esi + 0x2c], 0x10
jb 0x4144cf
mov eax, dword [esi + 0x18]
jmp 0x4144d2
lea eax, [esi + 0x18]
add eax, dword [ebp - 0x1060]
mov dword [ebp - 0x106c], eax
mov edx, dword [ebp - 0x1064]
push edx
mov ecx, dword [ebp - 0x1068]
push ecx
mov ecx, dword [ebp - 0x106c]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [esi + 0x28]
sub eax, dword [ebp - 0x105c]
mov dword [ebp - 0x1070], eax
mov edx, dword [ebp - 0x1070]
mov dword [ebp - 0x1074], edx
mov byte [ebp - 0x1075], 0
cmp dword [esi + 0x2c], 0x10
jb 0x414528
mov ecx, dword [esi + 0x18]
jmp 0x41452b
lea ecx, [esi + 0x18]
mov eax, dword [ebp - 0x1074]
mov dword [esi + 0x28], eax
add ecx, eax
mov dword [ebp - 0x107c], ecx
mov edx, dword [ebp - 0x107c]
mov cl, byte [ebp - 0x1075]
mov byte [edx], cl
xor ecx, ecx
mov dword [ebp - 0x1080], ecx
cmp dword [esi + 0x28], 0
jae 0x414562
lea eax, [esi + 8]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [esi + 0x28]
cmp edx, dword [ebp - 0x1080]
jae 0x414576
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x1080], ecx
cmp dword [ebp - 0x1080], 0
jbe 0x414841
mov eax, dword [esi + 0x28]
sub eax, dword [ebp - 0x1080]
mov dword [ebp - 0x1084], eax
cmp dword [esi + 0x2c], 0x10
jb 0x41459d
mov edx, dword [esi + 0x18]
jmp 0x4145a0
lea edx, [esi + 0x18]
add edx, dword [ebp - 0x1080]
mov dword [ebp - 0x1088], edx
cmp dword [esi + 0x2c], 0x10
jb 0x4145b7
mov eax, dword [esi + 0x18]
jmp 0x4145ba
lea eax, [esi + 0x18]
mov dword [ebp - 0x108c], eax
mov edx, dword [ebp - 0x1084]
push edx
mov ecx, dword [ebp - 0x1088]
push ecx
mov ecx, dword [ebp - 0x108c]
push ecx
call fcn.005a2121
add esp, 0xc
mov eax, dword [esi + 0x28]
sub eax, dword [ebp - 0x1080]
mov dword [ebp - 0x1090], eax
mov edx, dword [ebp - 0x1090]
mov dword [ebp - 0x1094], edx
mov byte [ebp - 0x1095], 0
cmp dword [esi + 0x2c], 0x10
jb 0x41460a
mov ecx, dword [esi + 0x18]
jmp 0x41460d
lea ecx, [esi + 0x18]
mov eax, dword [ebp - 0x1094]
mov dword [esi + 0x28], eax
add ecx, eax
mov dword [ebp - 0x109c], ecx
mov edx, dword [ebp - 0x109c]
mov cl, byte [ebp - 0x1095]
mov byte [edx], cl
jmp 0x414841
mov ecx, dword [ebp - 0x1058]
mov dword [ebp - 0x10a0], ecx
lea eax, [esi + 0x10]
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0x10a4], eax
cmp dword [ebp - 0x10a4], 1
ja 0x41465d
mov edx, 1
jmp 0x414664
mov edx, dword [ebp - 0x10a4]
dec edx
cmp edx, dword [ebp - 0x10a0]
jae 0x414676
lea eax, [esi + 8]
push eax
call fcn.0059ce64
pop ecx
mov ecx, dword [esi + 0x2c]
cmp ecx, dword [ebp - 0x10a0]
jae 0x414762
mov ecx, dword [esi + 0x28]
push ecx
mov eax, dword [ebp - 0x10a0]
push eax
lea edx, [esi + 8]
push edx
call fcn.00403ebc
add esp, 0xc
jmp 0x41479b
cmp dword [ebp - 0x10a0], 0
jne 0x41479b
mov byte [ebp - 0x10bd], 0
cmp dword [esi + 0x2c], 0x10
jb 0x41477d
mov ecx, dword [esi + 0x18]
jmp 0x414780
lea ecx, [esi + 0x18]
xor eax, eax
mov dword [esi + 0x28], eax
add ecx, eax
mov dword [ebp - 0x10c4], ecx
mov edx, dword [ebp - 0x10c4]
mov cl, byte [ebp - 0x10bd]
mov byte [edx], cl
cmp dword [ebp - 0x10a0], 0
seta cl
and ecx, 1
test cl, cl
je 0x414841
mov eax, dword [ebp - 0x1058]
mov dword [ebp - 0x10c8], eax
cmp dword [ebx + 0x24], 0x10
jb 0x4147c7
mov edx, dword [ebx + 0x10]
jmp 0x4147ca
lea edx, [ebx + 0x10]
mov dword [ebp - 0x10cc], edx
cmp dword [esi + 0x2c], 0x10
jb 0x4147db
mov eax, dword [esi + 0x18]
jmp 0x4147de
lea eax, [esi + 0x18]
mov dword [ebp - 0x10d0], eax
mov edx, dword [ebp - 0x10c8]
push edx
mov ecx, dword [ebp - 0x10cc]
push ecx
mov ecx, dword [ebp - 0x10d0]
push ecx
call fcn.005a2008
add esp, 0xc
mov eax, dword [ebp - 0x1058]
mov dword [ebp - 0x10d4], eax
mov byte [ebp - 0x10d5], 0
cmp dword [esi + 0x2c], 0x10
jb 0x41481f
mov edx, dword [esi + 0x18]
jmp 0x414822
lea edx, [esi + 0x18]
mov eax, dword [ebp - 0x10d4]
mov dword [esi + 0x28], eax
add edx, eax
mov dword [ebp - 0x10dc], edx
mov edx, dword [ebp - 0x10dc]
mov cl, byte [ebp - 0x10d5]
mov byte [edx], cl
inc dword [ebp - 0x6ac]
inc dword [ebp - 0x6ac]
mov ecx, 0x5b5478
mov dword [esi], ecx
inc dword [ebp - 0x6ac]
dec dword [ebp - 0x6ac]
cmp dword [ebx + 0x24], 0x10
jb 0x414888
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x10e0], eax
mov edx, dword [ebp - 0x10e0]
mov dword [ebp - 0x10e4], edx
mov ecx, dword [ebp - 0x10e4]
push ecx
call fcn.00597660
pop ecx
mov eax, 0xf
mov dword [ebx + 0x24], eax
mov byte [ebp - 0x10e5], 0
cmp dword [ebx + 0x24], 0x10
jb 0x4148a2
mov edx, dword [ebx + 0x10]
jmp 0x4148a5
lea edx, [ebx + 0x10]
xor eax, eax
mov dword [ebx + 0x20], eax
add edx, eax
mov dword [ebp - 0x10ec], edx
mov edx, dword [ebp - 0x10ec]
mov cl, byte [ebp - 0x10e5]
mov byte [edx], cl
mov word [ebp - 0x6b8], 0x60
push esi
push 0x40e524
call fcn.005af81c
add esp, 0x24
mov ecx, dword [ebp - 0xac]
shr ecx, 1
mov dword [ebp - 0x10f0], ecx
cmp dword [ebp - 0x10f0], 8
jae 0x4148f8
mov dword [ebp - 0x10f0], 8
mov eax, dword [ebp - 0xf78]
cmp eax, dword [ebp - 0x10f0]
jae 0x414930
lea edx, [ebp - 0xb8]
push edx
call fcn.004040bc
shr eax, 4
pop ecx
sub eax, dword [ebp - 0x10f0]
cmp eax, dword [ebp - 0xac]
jb 0x414930
mov ecx, dword [ebp - 0x10f0]
mov dword [ebp - 0xf78], ecx
mov eax, dword [ebp - 0xa8]
shr eax, 4
mov dword [ebp - 0x10f4], eax
mov edx, dword [ebp - 0xac]
add edx, dword [ebp - 0xf78]
mov dword [ebp - 0x10fc], edx
mov ecx, dword [ebp - 0x10fc]
shl ecx, 2
push ecx
call fcn.0059cd68
pop ecx
mov dword [ebp - 0x10f8], eax
mov eax, dword [ebp - 0x10f4]
shl eax, 2
add eax, dword [ebp - 0x10f8]
mov dword [ebp - 0x1100], eax
mov edx, dword [ebp - 0x1100]
mov dword [ebp - 0x1104], edx
mov ecx, dword [ebp - 0xac]
shl ecx, 2
add ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x1108], ecx
lea ecx, [ebp - 0x1114]
mov eax, dword [ebp - 0x10f4]
shl eax, 2
add eax, dword [ebp - 0xb0]
mov dword [ebp - 0x110c], eax
mov edx, dword [ebp - 0x111c]
mov dword [ebp - 0x1114], edx
mov edx, dword [ebp - 0x1118]
mov dword [ebp - 0x1110], edx
lea edx, [ebp - 0xc0]
push dword [ecx + 4]
push dword [ecx]
push edx
mov ecx, dword [ebp - 0x1104]
push ecx
mov eax, dword [ebp - 0x1108]
push eax
mov edx, dword [ebp - 0x110c]
push edx
call fcn.0040e9d4
add esp, 0x18
mov dword [ebp - 0x1100], eax
mov ecx, dword [ebp - 0x10f4]
cmp ecx, dword [ebp - 0xf78]
ja 0x414b64
mov eax, dword [ebp - 0x1100]
mov dword [ebp - 0x1120], eax
mov edx, dword [ebp - 0x10f4]
shl edx, 2
add edx, dword [ebp - 0xb0]
mov dword [ebp - 0x1124], edx
lea edx, [ebp - 0x1130]
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x1128], ecx
mov eax, dword [ebp - 0x1138]
mov dword [ebp - 0x1130], eax
mov eax, dword [ebp - 0x1134]
mov dword [ebp - 0x112c], eax
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0xc0]
push edx
mov ecx, dword [ebp - 0x1120]
push ecx
mov ecx, dword [ebp - 0x1124]
push ecx
mov eax, dword [ebp - 0x1128]
push eax
call fcn.0040e9d4
mov dword [ebp - 0x1100], eax
xor edx, edx
mov dword [ebp - 0x113c], edx
add esp, 0x18
mov ecx, dword [ebp - 0xf78]
sub ecx, dword [ebp - 0x10f4]
mov dword [ebp - 0x1140], ecx
lea ecx, [ebp - 0x114c]
mov eax, dword [ebp - 0x1100]
mov dword [ebp - 0x1144], eax
mov edx, dword [ebp - 0x1154]
mov dword [ebp - 0x114c], edx
mov edx, dword [ebp - 0x1150]
mov dword [ebp - 0x1148], edx
lea edx, [ebp - 0xc0]
push dword [ecx + 4]
push dword [ecx]
lea ecx, [ebp - 0x113c]
push edx
push ecx
mov eax, dword [ebp - 0x1140]
push eax
mov edx, dword [ebp - 0x1144]
push edx
call fcn.0040ea64
add esp, 0x18
xor ecx, ecx
mov dword [ebp - 0x1158], ecx
mov eax, dword [ebp - 0x10f4]
mov dword [ebp - 0x115c], eax
lea eax, [ebp - 0x1168]
mov edx, dword [ebp - 0x10f8]
mov dword [ebp - 0x1160], edx
mov ecx, dword [ebp - 0x1170]
mov dword [ebp - 0x1168], ecx
mov ecx, dword [ebp - 0x116c]
mov dword [ebp - 0x1164], ecx
lea ecx, [ebp - 0xc0]
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x1158]
push ecx
push eax
mov edx, dword [ebp - 0x115c]
push edx
mov ecx, dword [ebp - 0x1160]
push ecx
call fcn.0040ea64
add esp, 0x18
jmp 0x414cb6
mov eax, dword [ebp - 0x1100]
mov dword [ebp - 0x1174], eax
mov edx, dword [ebp - 0xf78]
shl edx, 2
add edx, dword [ebp - 0xb0]
mov dword [ebp - 0x1178], edx
lea edx, [ebp - 0x1184]
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x117c], ecx
mov eax, dword [ebp - 0x118c]
mov dword [ebp - 0x1184], eax
mov eax, dword [ebp - 0x1188]
mov dword [ebp - 0x1180], eax
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0xc0]
push edx
mov ecx, dword [ebp - 0x1174]
push ecx
mov ecx, dword [ebp - 0x1178]
push ecx
mov eax, dword [ebp - 0x117c]
push eax
call fcn.0040e9d4
mov edx, dword [ebp - 0x10f8]
add esp, 0x18
mov dword [ebp - 0x1190], edx
mov ecx, dword [ebp - 0x10f4]
shl ecx, 2
add ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x1194], ecx
lea ecx, [ebp - 0x11a0]
mov eax, dword [ebp - 0xf78]
shl eax, 2
add eax, dword [ebp - 0xb0]
mov dword [ebp - 0x1198], eax
mov edx, dword [ebp - 0x11a8]
mov dword [ebp - 0x11a0], edx
mov edx, dword [ebp - 0x11a4]
mov dword [ebp - 0x119c], edx
lea edx, [ebp - 0xc0]
push dword [ecx + 4]
push dword [ecx]
push edx
mov ecx, dword [ebp - 0x1190]
push ecx
mov eax, dword [ebp - 0x1194]
push eax
mov edx, dword [ebp - 0x1198]
push edx
call fcn.0040e9d4
add esp, 0x18
mov dword [ebp - 0x1100], eax
xor ecx, ecx
mov dword [ebp - 0x11ac], ecx
lea ecx, [ebp - 0x11b8]
mov eax, dword [ebp - 0x1100]
mov dword [ebp - 0x11b0], eax
mov edx, dword [ebp - 0x11c0]
mov dword [ebp - 0x11b8], edx
mov edx, dword [ebp - 0x11bc]
mov dword [ebp - 0x11b4], edx
lea edx, [ebp - 0xc0]
push dword [ecx + 4]
push dword [ecx]
lea ecx, [ebp - 0x11ac]
push edx
push ecx
mov eax, dword [ebp - 0xf78]
push eax
mov edx, dword [ebp - 0x11b0]
push edx
call fcn.0040ea64
add esp, 0x18
mov ecx, dword [ebp - 0xac]
shl ecx, 2
add ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x11c4], ecx
lea ecx, [ebp - 0x11d0]
mov eax, dword [ebp - 0x10f4]
shl eax, 2
add eax, dword [ebp - 0xb0]
mov dword [ebp - 0x11c8], eax
mov edx, dword [ebp - 0x11d8]
mov dword [ebp - 0x11d0], edx
mov edx, dword [ebp - 0x11d4]
mov dword [ebp - 0x11cc], edx
lea edx, [ebp - 0xc0]
push dword [ecx + 4]
push dword [ecx]
push edx
mov ecx, dword [ebp - 0x11c4]
push ecx
mov eax, dword [ebp - 0x11c8]
push eax
call fcn.0040eaf0
add esp, 0x14
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0x11dc], edx
mov ecx, dword [ebp - 0x11dc]
push ecx
call fcn.00597660
pop ecx
mov eax, dword [ebp - 0x10f8]
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0xf78]
add dword [ebp - 0xac], edx
mov ecx, dword [ebp - 0xa8]
add ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x11e0], ecx
mov eax, dword [ebp - 0x11e0]
shr eax, 4
mov dword [ebp - 0x11e4], eax
mov edx, dword [ebp - 0xac]
cmp edx, dword [ebp - 0x11e4]
ja 0x414d8c
mov ecx, dword [ebp - 0xac]
sub dword [ebp - 0x11e4], ecx
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x11e4]
cmp dword [eax + edx*4], 0
jne 0x414db5
push 0x10
call fcn.0059cd68
pop ecx
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x11e4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x11e4]
mov ecx, dword [ebp - 0x11e0]
and ecx, 0xf
mov eax, dword [eax + edx*4]
add eax, ecx
mov dword [ebp - 0x11e8], eax
mov ecx, dword [ebp - 0x11e8]
mov dword [ebp - 0x11ec], ecx
mov eax, dword [ebp - 0x11ec]
push eax
push 1
call fcn.0040eb08
mov dword [ebp - 0x11f0], eax
add esp, 8
mov edx, dword [ebp - 0xf74]
mov eax, dword [ebp - 0x11f0]
mov cl, byte [edx]
mov byte [eax], cl
inc dword [ebp - 0xa4]
inc dword [ebp - 0xf70]
mov edx, dword [ebp - 0xf70]
cmp edx, dword [ebp - 0xf54]
jb 0x413c52
push 0
mov ecx, dword [ebp - 0xf58]
push ecx
mov eax, dword [ebp - 0xd0]
push eax
mov edx, dword [ebp - 0xb10]
push edx
call sub.WSOCK32.DLL_recv
mov dword [ebp - 0xf54], eax
test eax, eax
jg 0x413c3c
mov word [ebp - 0x6b8], 0x84
lea edx, [ebp - 0x11f8]
push edx
call fcn.00403e6c
pop ecx
lea ecx, [ebp - 0x11f8]
push ecx
lea eax, [ebp - 0x1200]
push eax
call fcn.00403e94
add esp, 8
lea edx, [ebp - 0x1200]
push edx
lea ecx, [ebp - 0xf8]
push ecx
call fcn.0040e49c
add esp, 8
lea eax, [ebp - 0x11f8]
push eax
lea edx, [ebp - 0xf0]
push edx
call fcn.00403e94
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe4], eax
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xdc], ecx
add esp, 8
lea eax, [ebp - 0x1208]
inc dword [ebp - 0x6ac]
mov word [ebp - 0x6b8], 0xc
mov word [ebp - 0x6b8], 0x90
push eax
call fcn.00403e6c
pop ecx
lea edx, [ebp - 0x1208]
push edx
lea ecx, [ebp - 0x1210]
push ecx
call fcn.00403e94
add esp, 8
lea eax, [ebp - 0x1210]
push eax
lea edx, [ebp - 0x120]
push edx
call fcn.0040e49c
add esp, 8
lea ecx, [ebp - 0x1208]
push ecx
lea eax, [ebp - 0x118]
push eax
call fcn.00403e94
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], ecx
xor eax, eax
xor edx, edx
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], edx
inc dword [ebp - 0x6ac]
add esp, 8
mov word [ebp - 0x6b8], 0xc
xor ecx, ecx
mov dword [ebp - 0x1214], ecx
xor eax, eax
mov dword [ebp - 0x1218], eax
mov word [ebp - 0x6b8], 0xc
jmp 0x41913b
cmp dword [ebp - 0x1214], 4
jne 0x4164c5
mov edx, dword [ebp - 0x1218]
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x121c], edx
mov ecx, dword [ebp - 0x121c]
mov dword [ebp - 0x1220], ecx
mov dword [ebp - 0x1224], eax
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x1228], edx
mov ecx, dword [ebp - 0x1224]
mov dword [ebp - 0x2bd0], ecx
mov eax, dword [ebp - 0x1228]
mov dword [ebp - 0x2bcc], eax
mov edx, dword [ebp - 0x2bd0]
mov dword [ebp - 0x2be0], edx
mov ecx, dword [ebp - 0x2bcc]
mov dword [ebp - 0x2bdc], ecx
mov eax, dword [ebp - 0x1220]
add dword [ebp - 0x2bdc], eax
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2bf0], edx
mov ecx, dword [ebp - 0x2bdc]
mov dword [ebp - 0x2bec], ecx
mov eax, dword [ebp - 0x2bec]
shr eax, 4
mov dword [ebp - 0x122c], eax
mov edx, dword [ebp - 0x2bec]
and edx, 0xf
mov dword [ebp - 0x1230], edx
mov ecx, dword [ebp - 0x2bf0]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebp - 0x122c]
ja 0x41504b
mov edx, dword [ebp - 0x2bf0]
mov ecx, dword [edx + 0x1c]
sub dword [ebp - 0x122c], ecx
mov eax, dword [ebp - 0x2bf0]
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x122c]
mov eax, dword [edx + ecx*4]
add eax, dword [ebp - 0x1230]
mov dword [ebp - 0x1234], eax
mov edx, dword [ebp - 0xe0]
add edx, dword [ebp - 0xdc]
test dl, 0xf
jne 0x416408
mov ecx, dword [ebp - 0xdc]
add ecx, 0x10
shr ecx, 4
cmp ecx, dword [ebp - 0xe4]
jb 0x416408
mov dword [ebp - 0x1238], 1
lea eax, [ebp - 0xf0]
push eax
call fcn.004040bc
shr eax, 4
pop ecx
sub eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0x1238]
jae 0x415f8e
lea edx, [ebp - 0x6c8]
lea ecx, [ebp - 0x1240]
push edx
push 0
push 0
push 0
push 1
push 0x40e580
push 0
mov word [ebp - 0x6b8], 0xa8
push ecx
call fcn.00403e6c
pop ecx
lea eax, [ebp - 0x1240]
push eax
lea edx, [ebp - 0x2c0]
push edx
call fcn.00403e94
add esp, 8
mov ecx, 0xf
mov dword [ebp - 0x2a4], ecx
mov byte [ebp - 0x1241], 0
cmp dword [ebp - 0x2a4], 0x10
jb 0x415127
mov eax, dword [ebp - 0x2b8]
jmp 0x41512d
lea eax, [ebp - 0x2b8]
xor edx, edx
mov dword [ebp - 0x2a8], edx
add eax, edx
mov dword [ebp - 0x1248], eax
mov eax, dword [ebp - 0x1248]
mov cl, byte [ebp - 0x1241]
mov byte [eax], cl
push 0x5b2216
call fcn.005a2354
pop ecx
mov dword [ebp - 0x124c], eax
mov eax, 0x5b2216
test eax, eax
je 0x4151a9
cmp dword [ebp - 0x2a4], 0x10
mov edx, 0x5b2216
jb 0x41517b
mov ecx, dword [ebp - 0x2b8]
jmp 0x415181
lea ecx, [ebp - 0x2b8]
cmp edx, ecx
jb 0x4151a9
cmp dword [ebp - 0x2a4], 0x10
jb 0x415196
mov eax, dword [ebp - 0x2b8]
jmp 0x41519c
lea eax, [ebp - 0x2b8]
add eax, dword [ebp - 0x2a8]
cmp eax, 0x5b2216
ja 0x4151ad
xor edx, edx
jmp 0x4151af
mov dl, 1
test dl, dl
je 0x415712
cmp dword [ebp - 0x2a4], 0x10
mov eax, 0x5b2216
jb 0x4151cd
mov ecx, dword [ebp - 0x2b8]
jmp 0x4151d3
lea ecx, [ebp - 0x2b8]
sub eax, ecx
mov dword [ebp - 0x1250], eax
mov eax, dword [ebp - 0x2a8]
cmp eax, dword [ebp - 0x1250]
jae 0x4151f6
lea edx, [ebp - 0x2c8]
push edx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x2a8]
sub eax, dword [ebp - 0x1250]
mov dword [ebp - 0x1254], eax
mov edx, dword [ebp - 0x124c]
cmp edx, dword [ebp - 0x1254]
jae 0x415222
mov ecx, dword [ebp - 0x124c]
mov dword [ebp - 0x1254], ecx
lea eax, [ebp - 0x2c8]
lea edx, [ebp - 0x2c8]
cmp eax, edx
jne 0x41549a
mov dword [ebp - 0x1258], 0xffffffff
mov ecx, dword [ebp - 0x1250]
add ecx, dword [ebp - 0x1254]
mov dword [ebp - 0x125c], ecx
mov eax, dword [ebp - 0x2a8]
cmp eax, dword [ebp - 0x125c]
jae 0x41526d
lea edx, [ebp - 0x2c8]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x2a8]
sub ecx, dword [ebp - 0x125c]
cmp ecx, dword [ebp - 0x1258]
jae 0x415293
mov eax, dword [ebp - 0x2a8]
sub eax, dword [ebp - 0x125c]
mov dword [ebp - 0x1258], eax
cmp dword [ebp - 0x1258], 0
jbe 0x41537f
mov edx, dword [ebp - 0x2a8]
sub edx, dword [ebp - 0x125c]
sub edx, dword [ebp - 0x1258]
mov dword [ebp - 0x1260], edx
cmp dword [ebp - 0x2a4], 0x10
jb 0x4152c9
mov ecx, dword [ebp - 0x2b8]
jmp 0x4152cf
lea ecx, [ebp - 0x2b8]
add ecx, dword [ebp - 0x125c]
add ecx, dword [ebp - 0x1258]
mov dword [ebp - 0x1264], ecx
cmp dword [ebp - 0x2a4], 0x10
jb 0x4152f2
mov eax, dword [ebp - 0x2b8]
jmp 0x4152f8
lea eax, [ebp - 0x2b8]
add eax, dword [ebp - 0x125c]
mov dword [ebp - 0x1268], eax
mov edx, dword [ebp - 0x1260]
push edx
mov ecx, dword [ebp - 0x1264]
push ecx
mov eax, dword [ebp - 0x1268]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x2a8]
sub edx, dword [ebp - 0x1258]
mov dword [ebp - 0x126c], edx
mov ecx, dword [ebp - 0x126c]
mov dword [ebp - 0x1270], ecx
mov byte [ebp - 0x1271], 0
cmp dword [ebp - 0x2a4], 0x10
jb 0x415357
mov eax, dword [ebp - 0x2b8]
jmp 0x41535d
lea eax, [ebp - 0x2b8]
mov edx, dword [ebp - 0x1270]
mov dword [ebp - 0x2a8], edx
add eax, edx
mov dword [ebp - 0x1278], eax
mov eax, dword [ebp - 0x1278]
mov cl, byte [ebp - 0x1271]
mov byte [eax], cl
mov eax, dword [ebp - 0x1250]
mov dword [ebp - 0x127c], eax
cmp dword [ebp - 0x2a8], 0
jae 0x4153a1
lea edx, [ebp - 0x2c8]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x2a8]
cmp ecx, dword [ebp - 0x127c]
jae 0x4153bb
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x127c], eax
cmp dword [ebp - 0x127c], 0
jbe 0x415707
mov edx, dword [ebp - 0x2a8]
sub edx, dword [ebp - 0x127c]
mov dword [ebp - 0x1280], edx
cmp dword [ebp - 0x2a4], 0x10
jb 0x4153eb
mov ecx, dword [ebp - 0x2b8]
jmp 0x4153f1
lea ecx, [ebp - 0x2b8]
add ecx, dword [ebp - 0x127c]
mov dword [ebp - 0x1284], ecx
cmp dword [ebp - 0x2a4], 0x10
jb 0x41540e
mov eax, dword [ebp - 0x2b8]
jmp 0x415414
lea eax, [ebp - 0x2b8]
mov dword [ebp - 0x1288], eax
mov edx, dword [ebp - 0x1280]
push edx
mov ecx, dword [ebp - 0x1284]
push ecx
mov eax, dword [ebp - 0x1288]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x2a8]
sub edx, dword [ebp - 0x127c]
mov dword [ebp - 0x128c], edx
mov ecx, dword [ebp - 0x128c]
mov dword [ebp - 0x1290], ecx
mov byte [ebp - 0x1291], 0
cmp dword [ebp - 0x2a4], 0x10
jb 0x41546d
mov eax, dword [ebp - 0x2b8]
jmp 0x415473
lea eax, [ebp - 0x2b8]
mov edx, dword [ebp - 0x1290]
mov dword [ebp - 0x2a8], edx
add eax, edx
mov dword [ebp - 0x1298], eax
mov eax, dword [ebp - 0x1298]
mov cl, byte [ebp - 0x1291]
mov byte [eax], cl
jmp 0x415707
mov eax, dword [ebp - 0x1254]
mov dword [ebp - 0x129c], eax
lea edx, [ebp - 0x2c0]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x12a0], eax
cmp dword [ebp - 0x12a0], 1
ja 0x4154c9
mov ecx, 1
jmp 0x4154d0
mov ecx, dword [ebp - 0x12a0]
dec ecx
cmp ecx, dword [ebp - 0x129c]
jae 0x4154e5
lea eax, [ebp - 0x2c8]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x2a4]
cmp edx, dword [ebp - 0x129c]
jae 0x4155f8
mov eax, dword [ebp - 0x2a8]
push eax
mov edx, dword [ebp - 0x129c]
push edx
lea ecx, [ebp - 0x2c8]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x41563d
cmp dword [ebp - 0x129c], 0
jne 0x41563d
mov byte [ebp - 0x12b9], 0
cmp dword [ebp - 0x2a4], 0x10
jb 0x415619
mov eax, dword [ebp - 0x2b8]
jmp 0x41561f
lea eax, [ebp - 0x2b8]
xor edx, edx
mov dword [ebp - 0x2a8], edx
add eax, edx
mov dword [ebp - 0x12c0], eax
mov eax, dword [ebp - 0x12c0]
mov cl, byte [ebp - 0x12b9]
mov byte [eax], cl
cmp dword [ebp - 0x129c], 0
seta al
and eax, 1
test al, al
je 0x415707
mov edx, dword [ebp - 0x1254]
mov dword [ebp - 0x12c4], edx
cmp dword [ebp - 0x2a4], 0x10
jb 0x41566f
mov ecx, dword [ebp - 0x2b8]
jmp 0x415675
lea ecx, [ebp - 0x2b8]
add ecx, dword [ebp - 0x1250]
mov dword [ebp - 0x12c8], ecx
cmp dword [ebp - 0x2a4], 0x10
jb 0x415692
mov eax, dword [ebp - 0x2b8]
jmp 0x415698
lea eax, [ebp - 0x2b8]
mov dword [ebp - 0x12cc], eax
mov edx, dword [ebp - 0x12c4]
push edx
mov ecx, dword [ebp - 0x12c8]
push ecx
mov eax, dword [ebp - 0x12cc]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0x1254]
mov dword [ebp - 0x12d0], edx
mov byte [ebp - 0x12d1], 0
cmp dword [ebp - 0x2a4], 0x10
jb 0x4156df
mov ecx, dword [ebp - 0x2b8]
jmp 0x4156e5
lea ecx, [ebp - 0x2b8]
mov eax, dword [ebp - 0x12d0]
mov dword [ebp - 0x2a8], eax
add ecx, eax
mov dword [ebp - 0x12d8], ecx
mov edx, dword [ebp - 0x12d8]
mov cl, byte [ebp - 0x12d1]
mov byte [edx], cl
lea eax, [ebp - 0x2c8]
jmp 0x415938
lea edx, [ebp - 0x2c0]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x12dc], eax
cmp dword [ebp - 0x12dc], 1
ja 0x415735
mov ecx, 1
jmp 0x41573c
mov ecx, dword [ebp - 0x12dc]
dec ecx
cmp ecx, dword [ebp - 0x124c]
jae 0x415751
lea eax, [ebp - 0x2c8]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x2a4]
cmp edx, dword [ebp - 0x124c]
jae 0x415864
mov eax, dword [ebp - 0x2a8]
push eax
mov edx, dword [ebp - 0x124c]
push edx
lea ecx, [ebp - 0x2c8]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x4158a9
cmp dword [ebp - 0x124c], 0
jne 0x4158a9
mov byte [ebp - 0x12f5], 0
cmp dword [ebp - 0x2a4], 0x10
jb 0x415885
mov eax, dword [ebp - 0x2b8]
jmp 0x41588b
lea eax, [ebp - 0x2b8]
xor edx, edx
mov dword [ebp - 0x2a8], edx
add eax, edx
mov dword [ebp - 0x12fc], eax
mov eax, dword [ebp - 0x12fc]
mov cl, byte [ebp - 0x12f5]
mov byte [eax], cl
cmp dword [ebp - 0x124c], 0
seta al
and eax, 1
test al, al
je 0x415932
cmp dword [ebp - 0x2a4], 0x10
jb 0x4158cb
mov edx, dword [ebp - 0x2b8]
jmp 0x4158d1
lea edx, [ebp - 0x2b8]
mov dword [ebp - 0x1300], edx
mov eax, dword [ebp - 0x124c]
push eax
push 0x5b2216
mov ecx, dword [ebp - 0x1300]
push ecx
call fcn.005a2008
add esp, 0xc
mov byte [ebp - 0x1301], 0
cmp dword [ebp - 0x2a4], 0x10
jb 0x41590a
mov eax, dword [ebp - 0x2b8]
jmp 0x415910
lea eax, [ebp - 0x2b8]
mov edx, dword [ebp - 0x124c]
mov dword [ebp - 0x2a8], edx
add eax, edx
mov dword [ebp - 0x1308], eax
mov eax, dword [ebp - 0x1308]
mov cl, byte [ebp - 0x1301]
mov byte [eax], cl
lea eax, [ebp - 0x2c8]
inc dword [ebp - 0x6ac]
lea edx, [ebp - 0x2a0]
push edx
call fcn.0040e9a4
pop ecx
inc dword [ebp - 0x6ac]
mov ecx, 0x5b5464
mov dword [ebp - 0x2a0], ecx
lea eax, [ebp - 0x2c0]
push eax
lea edx, [ebp - 0x1310]
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0x1310]
push ecx
lea eax, [ebp - 0x290]
push eax
call fcn.00403e94
add esp, 8
mov edx, 0xf
mov dword [ebp - 0x274], edx
mov byte [ebp - 0x1311], 0
cmp dword [ebp - 0x274], 0x10
jb 0x4159ab
mov ecx, dword [ebp - 0x288]
jmp 0x4159b1
lea ecx, [ebp - 0x288]
xor eax, eax
mov dword [ebp - 0x278], eax
add ecx, eax
mov dword [ebp - 0x1318], ecx
mov edx, dword [ebp - 0x1318]
mov cl, byte [ebp - 0x1311]
mov byte [edx], cl
cmp dword [ebp - 0x2a8], 0
jae 0x4159e5
lea eax, [ebp - 0x298]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x2a8]
mov dword [ebp - 0x131c], edx
cmp dword [ebp - 0x131c], 0xffffffff
jbe 0x415a04
mov dword [ebp - 0x131c], 0xffffffff
lea ecx, [ebp - 0x298]
lea ebx, [ebp - 0x2c8]
cmp ecx, ebx
jne 0x415c72
mov dword [ebp - 0x1320], 0xffffffff
mov eax, dword [ebp - 0x131c]
mov dword [ebp - 0x1324], eax
mov edx, dword [ebp - 0x278]
cmp edx, dword [ebp - 0x1324]
jae 0x415a49
lea ecx, [ebp - 0x298]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x278]
sub eax, dword [ebp - 0x1324]
cmp eax, dword [ebp - 0x1320]
jae 0x415a6f
mov edx, dword [ebp - 0x278]
sub edx, dword [ebp - 0x1324]
mov dword [ebp - 0x1320], edx
cmp dword [ebp - 0x1320], 0
jbe 0x415b5b
mov ecx, dword [ebp - 0x278]
sub ecx, dword [ebp - 0x1324]
sub ecx, dword [ebp - 0x1320]
mov dword [ebp - 0x1328], ecx
cmp dword [ebp - 0x274], 0x10
jb 0x415aa5
mov eax, dword [ebp - 0x288]
jmp 0x415aab
lea eax, [ebp - 0x288]
add eax, dword [ebp - 0x1324]
add eax, dword [ebp - 0x1320]
mov dword [ebp - 0x132c], eax
cmp dword [ebp - 0x274], 0x10
jb 0x415ace
mov edx, dword [ebp - 0x288]
jmp 0x415ad4
lea edx, [ebp - 0x288]
add edx, dword [ebp - 0x1324]
mov dword [ebp - 0x1330], edx
mov eax, dword [ebp - 0x1328]
push eax
mov ecx, dword [ebp - 0x132c]
push ecx
mov eax, dword [ebp - 0x1330]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x278]
sub edx, dword [ebp - 0x1320]
mov dword [ebp - 0x1334], edx
mov ecx, dword [ebp - 0x1334]
mov dword [ebp - 0x1338], ecx
mov byte [ebp - 0x1339], 0
cmp dword [ebp - 0x274], 0x10
jb 0x415b33
mov eax, dword [ebp - 0x288]
jmp 0x415b39
lea eax, [ebp - 0x288]
mov edx, dword [ebp - 0x1338]
mov dword [ebp - 0x278], edx
add eax, edx
mov dword [ebp - 0x1340], eax
mov eax, dword [ebp - 0x1340]
mov cl, byte [ebp - 0x1339]
mov byte [eax], cl
xor eax, eax
mov dword [ebp - 0x1344], eax
cmp dword [ebp - 0x278], 0
jae 0x415b79
lea edx, [ebp - 0x298]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x278]
cmp ecx, dword [ebp - 0x1344]
jae 0x415b93
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x1344], eax
cmp dword [ebp - 0x1344], 0
jbe 0x415ed9
mov edx, dword [ebp - 0x278]
sub edx, dword [ebp - 0x1344]
mov dword [ebp - 0x1348], edx
cmp dword [ebp - 0x274], 0x10
jb 0x415bc3
mov ecx, dword [ebp - 0x288]
jmp 0x415bc9
lea ecx, [ebp - 0x288]
add ecx, dword [ebp - 0x1344]
mov dword [ebp - 0x134c], ecx
cmp dword [ebp - 0x274], 0x10
jb 0x415be6
mov eax, dword [ebp - 0x288]
jmp 0x415bec
lea eax, [ebp - 0x288]
mov dword [ebp - 0x1350], eax
mov edx, dword [ebp - 0x1348]
push edx
mov ecx, dword [ebp - 0x134c]
push ecx
mov eax, dword [ebp - 0x1350]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x278]
sub edx, dword [ebp - 0x1344]
mov dword [ebp - 0x1354], edx
mov ecx, dword [ebp - 0x1354]
mov dword [ebp - 0x1358], ecx
mov byte [ebp - 0x1359], 0
cmp dword [ebp - 0x274], 0x10
jb 0x415c45
mov eax, dword [ebp - 0x288]
jmp 0x415c4b
lea eax, [ebp - 0x288]
mov edx, dword [ebp - 0x1358]
mov dword [ebp - 0x278], edx
add eax, edx
mov dword [ebp - 0x1360], eax
mov eax, dword [ebp - 0x1360]
mov cl, byte [ebp - 0x1359]
mov byte [eax], cl
jmp 0x415ed9
mov eax, dword [ebp - 0x131c]
mov dword [ebp - 0x1364], eax
lea edx, [ebp - 0x290]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x1368], eax
cmp dword [ebp - 0x1368], 1
ja 0x415ca1
mov ecx, 1
jmp 0x415ca8
mov ecx, dword [ebp - 0x1368]
dec ecx
cmp ecx, dword [ebp - 0x1364]
jae 0x415cbd
lea eax, [ebp - 0x298]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x274]
cmp edx, dword [ebp - 0x1364]
jae 0x415dd0
mov eax, dword [ebp - 0x278]
push eax
mov edx, dword [ebp - 0x1364]
push edx
lea ecx, [ebp - 0x298]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x415e15
cmp dword [ebp - 0x1364], 0
jne 0x415e15
mov byte [ebp - 0x1381], 0
cmp dword [ebp - 0x274], 0x10
jb 0x415df1
mov eax, dword [ebp - 0x288]
jmp 0x415df7
lea eax, [ebp - 0x288]
xor edx, edx
mov dword [ebp - 0x278], edx
add eax, edx
mov dword [ebp - 0x1388], eax
mov eax, dword [ebp - 0x1388]
mov cl, byte [ebp - 0x1381]
mov byte [eax], cl
cmp dword [ebp - 0x1364], 0
seta al
and eax, 1
test al, al
je 0x415ed9
mov edx, dword [ebp - 0x131c]
mov dword [ebp - 0x138c], edx
cmp dword [ebp - 0x2a4], 0x10
jb 0x415e47
mov ecx, dword [ebp - 0x2b8]
jmp 0x415e4d
lea ecx, [ebp - 0x2b8]
mov dword [ebp - 0x1390], ecx
cmp dword [ebp - 0x274], 0x10
jb 0x415e64
mov eax, dword [ebp - 0x288]
jmp 0x415e6a
lea eax, [ebp - 0x288]
mov dword [ebp - 0x1394], eax
mov edx, dword [ebp - 0x138c]
push edx
mov ecx, dword [ebp - 0x1390]
push ecx
mov eax, dword [ebp - 0x1394]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0x131c]
mov dword [ebp - 0x1398], edx
mov byte [ebp - 0x1399], 0
cmp dword [ebp - 0x274], 0x10
jb 0x415eb1
mov ecx, dword [ebp - 0x288]
jmp 0x415eb7
lea ecx, [ebp - 0x288]
mov eax, dword [ebp - 0x1398]
mov dword [ebp - 0x278], eax
add ecx, eax
mov dword [ebp - 0x13a0], ecx
mov edx, dword [ebp - 0x13a0]
mov cl, byte [ebp - 0x1399]
mov byte [edx], cl
inc dword [ebp - 0x6ac]
inc dword [ebp - 0x6ac]
mov eax, 0x5b5478
mov dword [ebp - 0x2a0], eax
inc dword [ebp - 0x6ac]
dec dword [ebp - 0x6ac]
cmp dword [ebp - 0x2a4], 0x10
jb 0x415f2a
mov edx, dword [ebp - 0x2b8]
mov dword [ebp - 0x13a4], edx
mov ecx, dword [ebp - 0x13a4]
mov dword [ebp - 0x13a8], ecx
mov eax, dword [ebp - 0x13a8]
push eax
call fcn.00597660
pop ecx
mov edx, 0xf
mov dword [ebp - 0x2a4], edx
mov byte [ebp - 0x13a9], 0
cmp dword [ebp - 0x2a4], 0x10
jb 0x415f4d
mov ecx, dword [ebp - 0x2b8]
jmp 0x415f53
lea ecx, [ebp - 0x2b8]
xor eax, eax
add ecx, eax
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x13b0], ecx
lea eax, [ebp - 0x2a0]
mov edx, dword [ebp - 0x13b0]
mov cl, byte [ebp - 0x13a9]
mov byte [edx], cl
mov word [ebp - 0x6b8], 0x9c
push eax
push 0x40e524
call fcn.005af81c
add esp, 0x24
mov edx, dword [ebp - 0xe4]
shr edx, 1
mov dword [ebp - 0x13b4], edx
cmp dword [ebp - 0x13b4], 8
jae 0x415faf
mov dword [ebp - 0x13b4], 8
mov ecx, dword [ebp - 0x1238]
cmp ecx, dword [ebp - 0x13b4]
jae 0x415fe7
lea eax, [ebp - 0xf0]
push eax
call fcn.004040bc
shr eax, 4
pop ecx
sub eax, dword [ebp - 0x13b4]
cmp eax, dword [ebp - 0xe4]
jb 0x415fe7
mov edx, dword [ebp - 0x13b4]
mov dword [ebp - 0x1238], edx
mov ecx, dword [ebp - 0xe0]
shr ecx, 4
mov dword [ebp - 0x13b8], ecx
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0x1238]
mov dword [ebp - 0x13c0], eax
mov edx, dword [ebp - 0x13c0]
shl edx, 2
push edx
call fcn.0059cd68
pop ecx
mov dword [ebp - 0x13bc], eax
mov ecx, dword [ebp - 0x13b8]
shl ecx, 2
add ecx, dword [ebp - 0x13bc]
mov dword [ebp - 0x13c4], ecx
mov eax, dword [ebp - 0x13c4]
mov dword [ebp - 0x13c8], eax
mov edx, dword [ebp - 0xe4]
shl edx, 2
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0x13cc], edx
lea edx, [ebp - 0x13d8]
mov ecx, dword [ebp - 0x13b8]
shl ecx, 2
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x13d0], ecx
mov eax, dword [ebp - 0x13e0]
mov dword [ebp - 0x13d8], eax
mov eax, dword [ebp - 0x13dc]
mov dword [ebp - 0x13d4], eax
lea eax, [ebp - 0xf8]
push dword [edx + 4]
push dword [edx]
push eax
mov edx, dword [ebp - 0x13c8]
push edx
mov ecx, dword [ebp - 0x13cc]
push ecx
mov eax, dword [ebp - 0x13d0]
push eax
call fcn.0040e9d4
add esp, 0x18
mov dword [ebp - 0x13c4], eax
mov edx, dword [ebp - 0x13b8]
cmp edx, dword [ebp - 0x1238]
ja 0x41621b
mov ecx, dword [ebp - 0x13c4]
mov dword [ebp - 0x13e4], ecx
mov eax, dword [ebp - 0x13b8]
shl eax, 2
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0x13e8], eax
lea eax, [ebp - 0x13f4]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x13ec], edx
mov ecx, dword [ebp - 0x13fc]
mov dword [ebp - 0x13f4], ecx
mov ecx, dword [ebp - 0x13f8]
mov dword [ebp - 0x13f0], ecx
lea ecx, [ebp - 0xf8]
push dword [eax + 4]
push dword [eax]
push ecx
mov eax, dword [ebp - 0x13e4]
push eax
mov edx, dword [ebp - 0x13e8]
push edx
mov ecx, dword [ebp - 0x13ec]
push ecx
call fcn.0040e9d4
mov dword [ebp - 0x13c4], eax
xor eax, eax
mov dword [ebp - 0x1400], eax
add esp, 0x18
mov edx, dword [ebp - 0x1238]
sub edx, dword [ebp - 0x13b8]
mov dword [ebp - 0x1404], edx
lea edx, [ebp - 0x1410]
mov ecx, dword [ebp - 0x13c4]
mov dword [ebp - 0x1408], ecx
mov eax, dword [ebp - 0x1418]
mov dword [ebp - 0x1410], eax
mov eax, dword [ebp - 0x1414]
mov dword [ebp - 0x140c], eax
lea eax, [ebp - 0xf8]
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0x1400]
push eax
push edx
mov ecx, dword [ebp - 0x1404]
push ecx
mov eax, dword [ebp - 0x1408]
push eax
call fcn.0040ea64
add esp, 0x18
xor edx, edx
mov dword [ebp - 0x141c], edx
mov ecx, dword [ebp - 0x13b8]
mov dword [ebp - 0x1420], ecx
lea ecx, [ebp - 0x142c]
mov eax, dword [ebp - 0x13bc]
mov dword [ebp - 0x1424], eax
lea eax, [ebp - 0xf8]
mov edx, dword [ebp - 0x1434]
mov dword [ebp - 0x142c], edx
mov edx, dword [ebp - 0x1430]
mov dword [ebp - 0x1428], edx
lea edx, [ebp - 0x141c]
push dword [ecx + 4]
push dword [ecx]
push eax
push edx
mov ecx, dword [ebp - 0x1420]
push ecx
mov eax, dword [ebp - 0x1424]
push eax
call fcn.0040ea64
add esp, 0x18
jmp 0x41636d
mov edx, dword [ebp - 0x13c4]
mov dword [ebp - 0x1438], edx
mov ecx, dword [ebp - 0x1238]
shl ecx, 2
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x143c], ecx
lea ecx, [ebp - 0x1448]
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x1440], eax
lea eax, [ebp - 0xf8]
mov edx, dword [ebp - 0x1450]
mov dword [ebp - 0x1448], edx
mov edx, dword [ebp - 0x144c]
mov dword [ebp - 0x1444], edx
push dword [ecx + 4]
push dword [ecx]
push eax
mov edx, dword [ebp - 0x1438]
push edx
mov ecx, dword [ebp - 0x143c]
push ecx
mov eax, dword [ebp - 0x1440]
push eax
call fcn.0040e9d4
mov edx, dword [ebp - 0x13bc]
add esp, 0x18
mov dword [ebp - 0x1454], edx
mov ecx, dword [ebp - 0x13b8]
shl ecx, 2
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x1458], ecx
lea ecx, [ebp - 0x1464]
mov eax, dword [ebp - 0x1238]
shl eax, 2
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0x145c], eax
lea eax, [ebp - 0xf8]
mov edx, dword [ebp - 0x146c]
mov dword [ebp - 0x1464], edx
mov edx, dword [ebp - 0x1468]
mov dword [ebp - 0x1460], edx
push dword [ecx + 4]
push dword [ecx]
push eax
mov edx, dword [ebp - 0x1454]
push edx
mov ecx, dword [ebp - 0x1458]
push ecx
mov eax, dword [ebp - 0x145c]
push eax
call fcn.0040e9d4
add esp, 0x18
mov dword [ebp - 0x13c4], eax
xor edx, edx
mov dword [ebp - 0x1470], edx
lea edx, [ebp - 0x147c]
mov ecx, dword [ebp - 0x13c4]
mov dword [ebp - 0x1474], ecx
mov eax, dword [ebp - 0x1484]
mov dword [ebp - 0x147c], eax
mov eax, dword [ebp - 0x1480]
mov dword [ebp - 0x1478], eax
lea eax, [ebp - 0xf8]
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0x1470]
push eax
push edx
mov ecx, dword [ebp - 0x1238]
push ecx
mov eax, dword [ebp - 0x1474]
push eax
call fcn.0040ea64
add esp, 0x18
mov edx, dword [ebp - 0xe4]
shl edx, 2
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0x1488], edx
lea edx, [ebp - 0x1494]
mov ecx, dword [ebp - 0x13b8]
shl ecx, 2
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x148c], ecx
mov eax, dword [ebp - 0x149c]
mov dword [ebp - 0x1494], eax
mov eax, dword [ebp - 0x1498]
mov dword [ebp - 0x1490], eax
lea eax, [ebp - 0xf8]
push dword [edx + 4]
push dword [edx]
push eax
mov edx, dword [ebp - 0x1488]
push edx
mov ecx, dword [ebp - 0x148c]
push ecx
call fcn.0040eaf0
add esp, 0x14
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x14a0], eax
mov edx, dword [ebp - 0x14a0]
push edx
call fcn.00597660
pop ecx
mov ecx, dword [ebp - 0x13bc]
mov dword [ebp - 0xe8], ecx
mov eax, dword [ebp - 0x1238]
add dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0xe0]
add edx, dword [ebp - 0xdc]
mov dword [ebp - 0x14a4], edx
mov ecx, dword [ebp - 0x14a4]
shr ecx, 4
mov dword [ebp - 0x14a8], ecx
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0x14a8]
ja 0x416443
mov edx, dword [ebp - 0xe4]
sub dword [ebp - 0x14a8], edx
mov ecx, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0x14a8]
cmp dword [ecx + ebx*4], 0
jne 0x41646c
push 0x10
call fcn.0059cd68
pop ecx
mov edx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x14a8]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x14a8]
mov ecx, dword [ebp - 0x14a4]
and ecx, 0xf
mov eax, dword [eax + edx*4]
add eax, ecx
mov dword [ebp - 0x14ac], eax
mov eax, dword [ebp - 0x14ac]
mov dword [ebp - 0x14b0], eax
mov edx, dword [ebp - 0x14b0]
push edx
push 1
call fcn.0040eb08
mov dword [ebp - 0x14b4], eax
add esp, 8
mov ecx, dword [ebp - 0x1234]
mov edx, dword [ebp - 0x14b4]
mov al, byte [ecx]
mov byte [edx], al
inc dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x1218]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x14b8], ecx
mov eax, dword [ebp - 0x14b8]
mov dword [ebp - 0x14bc], eax
mov dword [ebp - 0x14c0], edx
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x14c4], ecx
mov eax, dword [ebp - 0x14c0]
mov dword [ebp - 0x2c00], eax
mov edx, dword [ebp - 0x14c4]
mov dword [ebp - 0x2bfc], edx
mov ecx, dword [ebp - 0x2c00]
mov dword [ebp - 0x2c10], ecx
mov eax, dword [ebp - 0x2bfc]
mov dword [ebp - 0x2c0c], eax
mov edx, dword [ebp - 0x14bc]
add dword [ebp - 0x2c0c], edx
mov ecx, dword [ebp - 0x2c10]
mov dword [ebp - 0x2c20], ecx
mov eax, dword [ebp - 0x2c0c]
mov dword [ebp - 0x2c1c], eax
mov edx, dword [ebp - 0x2c1c]
shr edx, 4
mov dword [ebp - 0x14c8], edx
mov ecx, dword [ebp - 0x2c1c]
and ecx, 0xf
mov dword [ebp - 0x14cc], ecx
mov eax, dword [ebp - 0x2c20]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x14c8]
ja 0x416587
mov ecx, dword [ebp - 0x2c20]
mov eax, dword [ecx + 0x1c]
sub dword [ebp - 0x14c8], eax
mov edx, dword [ebp - 0x2c20]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebp - 0x14c8]
mov eax, dword [ecx + ebx*4]
add eax, dword [ebp - 0x14cc]
movsx edx, byte [eax]
cmp edx, 0xd
je 0x416691
mov ecx, dword [ebp - 0x1218]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x14d0], ecx
mov eax, dword [ebp - 0x14d0]
mov dword [ebp - 0x14d4], eax
mov dword [ebp - 0x14d8], edx
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x14dc], ecx
mov eax, dword [ebp - 0x14d8]
mov dword [ebp - 0x2c30], eax
mov edx, dword [ebp - 0x14dc]
mov dword [ebp - 0x2c2c], edx
mov ecx, dword [ebp - 0x2c30]
mov dword [ebp - 0x2c40], ecx
mov eax, dword [ebp - 0x2c2c]
mov dword [ebp - 0x2c3c], eax
mov edx, dword [ebp - 0x14d4]
add dword [ebp - 0x2c3c], edx
mov ecx, dword [ebp - 0x2c40]
mov dword [ebp - 0x2c50], ecx
mov eax, dword [ebp - 0x2c3c]
mov dword [ebp - 0x2c4c], eax
mov edx, dword [ebp - 0x2c4c]
shr edx, 4
mov dword [ebp - 0x14e0], edx
mov ecx, dword [ebp - 0x2c4c]
and ecx, 0xf
mov dword [ebp - 0x14e4], ecx
mov eax, dword [ebp - 0x2c50]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x14e0]
ja 0x41666d
mov ecx, dword [ebp - 0x2c50]
mov eax, dword [ecx + 0x1c]
sub dword [ebp - 0x14e0], eax
mov edx, dword [ebp - 0x2c50]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebp - 0x14e0]
mov eax, dword [ecx + ebx*4]
add eax, dword [ebp - 0x14e4]
movsx edx, byte [eax]
cmp edx, 0xa
jne 0x417be5
cmp dword [ebp - 0x1214], 4
jge 0x417be5
inc dword [ebp - 0x1214]
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 0x1218]
mov dword [ebp - 0x14e8], ecx
mov eax, dword [ebp - 0x14e8]
mov dword [ebp - 0x14ec], eax
mov dword [ebp - 0x14f0], edx
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x14f4], ecx
mov eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x2c60], eax
mov edx, dword [ebp - 0x14f4]
mov dword [ebp - 0x2c5c], edx
mov ecx, dword [ebp - 0x2c60]
mov dword [ebp - 0x2c70], ecx
mov eax, dword [ebp - 0x2c5c]
mov dword [ebp - 0x2c6c], eax
mov edx, dword [ebp - 0x14ec]
add dword [ebp - 0x2c6c], edx
mov ecx, dword [ebp - 0x2c70]
mov dword [ebp - 0x2c80], ecx
mov eax, dword [ebp - 0x2c6c]
mov dword [ebp - 0x2c7c], eax
mov edx, dword [ebp - 0x2c7c]
shr edx, 4
mov dword [ebp - 0x14f8], edx
mov ecx, dword [ebp - 0x2c7c]
and ecx, 0xf
mov dword [ebp - 0x14fc], ecx
mov eax, dword [ebp - 0x2c80]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x14f8]
ja 0x416766
mov ecx, dword [ebp - 0x2c80]
mov eax, dword [ecx + 0x1c]
sub dword [ebp - 0x14f8], eax
mov edx, dword [ebp - 0x2c80]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebp - 0x14f8]
mov eax, dword [ecx + ebx*4]
add eax, dword [ebp - 0x14fc]
mov dword [ebp - 0x1500], eax
mov edx, dword [ebp - 0x108]
add edx, dword [ebp - 0x104]
test dl, 0xf
jne 0x417b23
mov ecx, dword [ebp - 0x104]
add ecx, 0x10
shr ecx, 4
cmp ecx, dword [ebp - 0x10c]
jb 0x417b23
mov dword [ebp - 0x1504], 1
lea eax, [ebp - 0x118]
push eax
call fcn.004040bc
shr eax, 4
pop ecx
sub eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x1504]
jae 0x4176a9
lea edx, [ebp - 0x6c8]
lea ecx, [ebp - 0x150c]
push edx
push 0
push 0
push 0
push 1
push 0x40e580
push 0
mov word [ebp - 0x6b8], 0xcc
push ecx
call fcn.00403e6c
pop ecx
lea eax, [ebp - 0x150c]
push eax
lea edx, [ebp - 0x318]
push edx
call fcn.00403e94
add esp, 8
mov ecx, 0xf
mov dword [ebp - 0x2fc], ecx
mov byte [ebp - 0x150d], 0
cmp dword [ebp - 0x2fc], 0x10
jb 0x416842
mov eax, dword [ebp - 0x310]
jmp 0x416848
lea eax, [ebp - 0x310]
xor edx, edx
mov dword [ebp - 0x300], edx
add eax, edx
mov dword [ebp - 0x1514], eax
mov eax, dword [ebp - 0x1514]
mov cl, byte [ebp - 0x150d]
mov byte [eax], cl
push 0x5b2228
call fcn.005a2354
pop ecx
mov dword [ebp - 0x1518], eax
mov eax, 0x5b2228
test eax, eax
je 0x4168c4
cmp dword [ebp - 0x2fc], 0x10
mov edx, 0x5b2228
jb 0x416896
mov ecx, dword [ebp - 0x310]
jmp 0x41689c
lea ecx, [ebp - 0x310]
cmp edx, ecx
jb 0x4168c4
cmp dword [ebp - 0x2fc], 0x10
jb 0x4168b1
mov eax, dword [ebp - 0x310]
jmp 0x4168b7
lea eax, [ebp - 0x310]
add eax, dword [ebp - 0x300]
cmp eax, 0x5b2228
ja 0x4168c8
xor edx, edx
jmp 0x4168ca
mov dl, 1
test dl, dl
je 0x416e2d
cmp dword [ebp - 0x2fc], 0x10
mov eax, 0x5b2228
jb 0x4168e8
mov ecx, dword [ebp - 0x310]
jmp 0x4168ee
lea ecx, [ebp - 0x310]
sub eax, ecx
mov dword [ebp - 0x151c], eax
mov eax, dword [ebp - 0x300]
cmp eax, dword [ebp - 0x151c]
jae 0x416911
lea edx, [ebp - 0x320]
push edx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x300]
sub eax, dword [ebp - 0x151c]
mov dword [ebp - 0x1520], eax
mov edx, dword [ebp - 0x1518]
cmp edx, dword [ebp - 0x1520]
jae 0x41693d
mov ecx, dword [ebp - 0x1518]
mov dword [ebp - 0x1520], ecx
lea eax, [ebp - 0x320]
lea edx, [ebp - 0x320]
cmp eax, edx
jne 0x416bb5
mov dword [ebp - 0x1524], 0xffffffff
mov ecx, dword [ebp - 0x151c]
add ecx, dword [ebp - 0x1520]
mov dword [ebp - 0x1528], ecx
mov eax, dword [ebp - 0x300]
cmp eax, dword [ebp - 0x1528]
jae 0x416988
lea edx, [ebp - 0x320]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x300]
sub ecx, dword [ebp - 0x1528]
cmp ecx, dword [ebp - 0x1524]
jae 0x4169ae
mov eax, dword [ebp - 0x300]
sub eax, dword [ebp - 0x1528]
mov dword [ebp - 0x1524], eax
cmp dword [ebp - 0x1524], 0
jbe 0x416a9a
mov edx, dword [ebp - 0x300]
sub edx, dword [ebp - 0x1528]
sub edx, dword [ebp - 0x1524]
mov dword [ebp - 0x152c], edx
cmp dword [ebp - 0x2fc], 0x10
jb 0x4169e4
mov ecx, dword [ebp - 0x310]
jmp 0x4169ea
lea ecx, [ebp - 0x310]
add ecx, dword [ebp - 0x1528]
add ecx, dword [ebp - 0x1524]
mov dword [ebp - 0x1530], ecx
cmp dword [ebp - 0x2fc], 0x10
jb 0x416a0d
mov eax, dword [ebp - 0x310]
jmp 0x416a13
lea eax, [ebp - 0x310]
add eax, dword [ebp - 0x1528]
mov dword [ebp - 0x1534], eax
mov edx, dword [ebp - 0x152c]
push edx
mov ecx, dword [ebp - 0x1530]
push ecx
mov eax, dword [ebp - 0x1534]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x300]
sub edx, dword [ebp - 0x1524]
mov dword [ebp - 0x1538], edx
mov ecx, dword [ebp - 0x1538]
mov dword [ebp - 0x153c], ecx
mov byte [ebp - 0x153d], 0
cmp dword [ebp - 0x2fc], 0x10
jb 0x416a72
mov eax, dword [ebp - 0x310]
jmp 0x416a78
lea eax, [ebp - 0x310]
mov edx, dword [ebp - 0x153c]
mov dword [ebp - 0x300], edx
add eax, edx
mov dword [ebp - 0x1544], eax
mov eax, dword [ebp - 0x1544]
mov cl, byte [ebp - 0x153d]
mov byte [eax], cl
mov eax, dword [ebp - 0x151c]
mov dword [ebp - 0x1548], eax
cmp dword [ebp - 0x300], 0
jae 0x416abc
lea edx, [ebp - 0x320]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x300]
cmp ecx, dword [ebp - 0x1548]
jae 0x416ad6
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1548], eax
cmp dword [ebp - 0x1548], 0
jbe 0x416e22
mov edx, dword [ebp - 0x300]
sub edx, dword [ebp - 0x1548]
mov dword [ebp - 0x154c], edx
cmp dword [ebp - 0x2fc], 0x10
jb 0x416b06
mov ecx, dword [ebp - 0x310]
jmp 0x416b0c
lea ecx, [ebp - 0x310]
add ecx, dword [ebp - 0x1548]
mov dword [ebp - 0x1550], ecx
cmp dword [ebp - 0x2fc], 0x10
jb 0x416b29
mov eax, dword [ebp - 0x310]
jmp 0x416b2f
lea eax, [ebp - 0x310]
mov dword [ebp - 0x1554], eax
mov edx, dword [ebp - 0x154c]
push edx
mov ecx, dword [ebp - 0x1550]
push ecx
mov eax, dword [ebp - 0x1554]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x300]
sub edx, dword [ebp - 0x1548]
mov dword [ebp - 0x1558], edx
mov ecx, dword [ebp - 0x1558]
mov dword [ebp - 0x155c], ecx
mov byte [ebp - 0x155d], 0
cmp dword [ebp - 0x2fc], 0x10
jb 0x416b88
mov eax, dword [ebp - 0x310]
jmp 0x416b8e
lea eax, [ebp - 0x310]
mov edx, dword [ebp - 0x155c]
mov dword [ebp - 0x300], edx
add eax, edx
mov dword [ebp - 0x1564], eax
mov eax, dword [ebp - 0x1564]
mov cl, byte [ebp - 0x155d]
mov byte [eax], cl
jmp 0x416e22
mov eax, dword [ebp - 0x1520]
mov dword [ebp - 0x1568], eax
lea edx, [ebp - 0x318]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x156c], eax
cmp dword [ebp - 0x156c], 1
ja 0x416be4
mov ecx, 1
jmp 0x416beb
mov ecx, dword [ebp - 0x156c]
dec ecx
cmp ecx, dword [ebp - 0x1568]
jae 0x416c00
lea eax, [ebp - 0x320]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x2fc]
cmp edx, dword [ebp - 0x1568]
jae 0x416d13
mov eax, dword [ebp - 0x300]
push eax
mov edx, dword [ebp - 0x1568]
push edx
lea ecx, [ebp - 0x320]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x416d58
cmp dword [ebp - 0x1568], 0
jne 0x416d58
mov byte [ebp - 0x1585], 0
cmp dword [ebp - 0x2fc], 0x10
jb 0x416d34
mov eax, dword [ebp - 0x310]
jmp 0x416d3a
lea eax, [ebp - 0x310]
xor edx, edx
mov dword [ebp - 0x300], edx
add eax, edx
mov dword [ebp - 0x158c], eax
mov eax, dword [ebp - 0x158c]
mov cl, byte [ebp - 0x1585]
mov byte [eax], cl
cmp dword [ebp - 0x1568], 0
seta al
and eax, 1
test al, al
je 0x416e22
mov edx, dword [ebp - 0x1520]
mov dword [ebp - 0x1590], edx
cmp dword [ebp - 0x2fc], 0x10
jb 0x416d8a
mov ecx, dword [ebp - 0x310]
jmp 0x416d90
lea ecx, [ebp - 0x310]
add ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1594], ecx
cmp dword [ebp - 0x2fc], 0x10
jb 0x416dad
mov eax, dword [ebp - 0x310]
jmp 0x416db3
lea eax, [ebp - 0x310]
mov dword [ebp - 0x1598], eax
mov edx, dword [ebp - 0x1590]
push edx
mov ecx, dword [ebp - 0x1594]
push ecx
mov eax, dword [ebp - 0x1598]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0x1520]
mov dword [ebp - 0x159c], edx
mov byte [ebp - 0x159d], 0
cmp dword [ebp - 0x2fc], 0x10
jb 0x416dfa
mov ecx, dword [ebp - 0x310]
jmp 0x416e00
lea ecx, [ebp - 0x310]
mov eax, dword [ebp - 0x159c]
mov dword [ebp - 0x300], eax
add ecx, eax
mov dword [ebp - 0x15a4], ecx
mov edx, dword [ebp - 0x15a4]
mov cl, byte [ebp - 0x159d]
mov byte [edx], cl
lea eax, [ebp - 0x320]
jmp 0x417053
lea edx, [ebp - 0x318]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x15a8], eax
cmp dword [ebp - 0x15a8], 1
ja 0x416e50
mov ecx, 1
jmp 0x416e57
mov ecx, dword [ebp - 0x15a8]
dec ecx
cmp ecx, dword [ebp - 0x1518]
jae 0x416e6c
lea eax, [ebp - 0x320]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x2fc]
cmp edx, dword [ebp - 0x1518]
jae 0x416f7f
mov eax, dword [ebp - 0x300]
push eax
mov edx, dword [ebp - 0x1518]
push edx
lea ecx, [ebp - 0x320]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x416fc4
cmp dword [ebp - 0x1518], 0
jne 0x416fc4
mov byte [ebp - 0x15c1], 0
cmp dword [ebp - 0x2fc], 0x10
jb 0x416fa0
mov eax, dword [ebp - 0x310]
jmp 0x416fa6
lea eax, [ebp - 0x310]
xor edx, edx
mov dword [ebp - 0x300], edx
add eax, edx
mov dword [ebp - 0x15c8], eax
mov eax, dword [ebp - 0x15c8]
mov cl, byte [ebp - 0x15c1]
mov byte [eax], cl
cmp dword [ebp - 0x1518], 0
seta al
and eax, 1
test al, al
je 0x41704d
cmp dword [ebp - 0x2fc], 0x10
jb 0x416fe6
mov edx, dword [ebp - 0x310]
jmp 0x416fec
lea edx, [ebp - 0x310]
mov dword [ebp - 0x15cc], edx
mov eax, dword [ebp - 0x1518]
push eax
push 0x5b2228
mov ecx, dword [ebp - 0x15cc]
push ecx
call fcn.005a2008
add esp, 0xc
mov byte [ebp - 0x15cd], 0
cmp dword [ebp - 0x2fc], 0x10
jb 0x417025
mov eax, dword [ebp - 0x310]
jmp 0x41702b
lea eax, [ebp - 0x310]
mov edx, dword [ebp - 0x1518]
mov dword [ebp - 0x300], edx
add eax, edx
mov dword [ebp - 0x15d4], eax
mov eax, dword [ebp - 0x15d4]
mov cl, byte [ebp - 0x15cd]
mov byte [eax], cl
lea eax, [ebp - 0x320]
inc dword [ebp - 0x6ac]
lea edx, [ebp - 0x2f8]
push edx
call fcn.0040e9a4
pop ecx
inc dword [ebp - 0x6ac]
mov ecx, 0x5b5464
mov dword [ebp - 0x2f8], ecx
lea eax, [ebp - 0x318]
push eax
lea edx, [ebp - 0x15dc]
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0x15dc]
push ecx
lea eax, [ebp - 0x2e8]
push eax
call fcn.00403e94
add esp, 8
mov edx, 0xf
mov dword [ebp - 0x2cc], edx
mov byte [ebp - 0x15dd], 0
cmp dword [ebp - 0x2cc], 0x10
jb 0x4170c6
mov ecx, dword [ebp - 0x2e0]
jmp 0x4170cc
lea ecx, [ebp - 0x2e0]
xor eax, eax
mov dword [ebp - 0x2d0], eax
add ecx, eax
mov dword [ebp - 0x15e4], ecx
mov edx, dword [ebp - 0x15e4]
mov cl, byte [ebp - 0x15dd]
mov byte [edx], cl
cmp dword [ebp - 0x300], 0
jae 0x417100
lea eax, [ebp - 0x2f0]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x300]
mov dword [ebp - 0x15e8], edx
cmp dword [ebp - 0x15e8], 0xffffffff
jbe 0x41711f
mov dword [ebp - 0x15e8], 0xffffffff
lea ecx, [ebp - 0x2f0]
lea ebx, [ebp - 0x320]
cmp ecx, ebx
jne 0x41738d
mov dword [ebp - 0x15ec], 0xffffffff
mov eax, dword [ebp - 0x15e8]
mov dword [ebp - 0x15f0], eax
mov edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x15f0]
jae 0x417164
lea ecx, [ebp - 0x2f0]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x2d0]
sub eax, dword [ebp - 0x15f0]
cmp eax, dword [ebp - 0x15ec]
jae 0x41718a
mov edx, dword [ebp - 0x2d0]
sub edx, dword [ebp - 0x15f0]
mov dword [ebp - 0x15ec], edx
cmp dword [ebp - 0x15ec], 0
jbe 0x417276
mov ecx, dword [ebp - 0x2d0]
sub ecx, dword [ebp - 0x15f0]
sub ecx, dword [ebp - 0x15ec]
mov dword [ebp - 0x15f4], ecx
cmp dword [ebp - 0x2cc], 0x10
jb 0x4171c0
mov eax, dword [ebp - 0x2e0]
jmp 0x4171c6
lea eax, [ebp - 0x2e0]
add eax, dword [ebp - 0x15f0]
add eax, dword [ebp - 0x15ec]
mov dword [ebp - 0x15f8], eax
cmp dword [ebp - 0x2cc], 0x10
jb 0x4171e9
mov edx, dword [ebp - 0x2e0]
jmp 0x4171ef
lea edx, [ebp - 0x2e0]
add edx, dword [ebp - 0x15f0]
mov dword [ebp - 0x15fc], edx
mov eax, dword [ebp - 0x15f4]
push eax
mov ecx, dword [ebp - 0x15f8]
push ecx
mov eax, dword [ebp - 0x15fc]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x2d0]
sub edx, dword [ebp - 0x15ec]
mov dword [ebp - 0x1600], edx
mov ecx, dword [ebp - 0x1600]
mov dword [ebp - 0x1604], ecx
mov byte [ebp - 0x1605], 0
cmp dword [ebp - 0x2cc], 0x10
jb 0x41724e
mov eax, dword [ebp - 0x2e0]
jmp 0x417254
lea eax, [ebp - 0x2e0]
mov edx, dword [ebp - 0x1604]
mov dword [ebp - 0x2d0], edx
add eax, edx
mov dword [ebp - 0x160c], eax
mov eax, dword [ebp - 0x160c]
mov cl, byte [ebp - 0x1605]
mov byte [eax], cl
xor eax, eax
mov dword [ebp - 0x1610], eax
cmp dword [ebp - 0x2d0], 0
jae 0x417294
lea edx, [ebp - 0x2f0]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x2d0]
cmp ecx, dword [ebp - 0x1610]
jae 0x4172ae
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x1610], eax
cmp dword [ebp - 0x1610], 0
jbe 0x4175f4
mov edx, dword [ebp - 0x2d0]
sub edx, dword [ebp - 0x1610]
mov dword [ebp - 0x1614], edx
cmp dword [ebp - 0x2cc], 0x10
jb 0x4172de
mov ecx, dword [ebp - 0x2e0]
jmp 0x4172e4
lea ecx, [ebp - 0x2e0]
add ecx, dword [ebp - 0x1610]
mov dword [ebp - 0x1618], ecx
cmp dword [ebp - 0x2cc], 0x10
jb 0x417301
mov eax, dword [ebp - 0x2e0]
jmp 0x417307
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x161c], eax
mov edx, dword [ebp - 0x1614]
push edx
mov ecx, dword [ebp - 0x1618]
push ecx
mov eax, dword [ebp - 0x161c]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x2d0]
sub edx, dword [ebp - 0x1610]
mov dword [ebp - 0x1620], edx
mov ecx, dword [ebp - 0x1620]
mov dword [ebp - 0x1624], ecx
mov byte [ebp - 0x1625], 0
cmp dword [ebp - 0x2cc], 0x10
jb 0x417360
mov eax, dword [ebp - 0x2e0]
jmp 0x417366
lea eax, [ebp - 0x2e0]
mov edx, dword [ebp - 0x1624]
mov dword [ebp - 0x2d0], edx
add eax, edx
mov dword [ebp - 0x162c], eax
mov eax, dword [ebp - 0x162c]
mov cl, byte [ebp - 0x1625]
mov byte [eax], cl
jmp 0x4175f4
mov eax, dword [ebp - 0x15e8]
mov dword [ebp - 0x1630], eax
lea edx, [ebp - 0x2e8]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x1634], eax
cmp dword [ebp - 0x1634], 1
ja 0x4173bc
mov ecx, 1
jmp 0x4173c3
mov ecx, dword [ebp - 0x1634]
dec ecx
cmp ecx, dword [ebp - 0x1630]
jae 0x4173d8
lea eax, [ebp - 0x2f0]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x2cc]
cmp edx, dword [ebp - 0x1630]
jae 0x4174eb
mov eax, dword [ebp - 0x2d0]
push eax
mov edx, dword [ebp - 0x1630]
push edx
lea ecx, [ebp - 0x2f0]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x417530
cmp dword [ebp - 0x1630], 0
jne 0x417530
mov byte [ebp - 0x164d], 0
cmp dword [ebp - 0x2cc], 0x10
jb 0x41750c
mov eax, dword [ebp - 0x2e0]
jmp 0x417512
lea eax, [ebp - 0x2e0]
xor edx, edx
mov dword [ebp - 0x2d0], edx
add eax, edx
mov dword [ebp - 0x1654], eax
mov eax, dword [ebp - 0x1654]
mov cl, byte [ebp - 0x164d]
mov byte [eax], cl
cmp dword [ebp - 0x1630], 0
seta al
and eax, 1
test al, al
je 0x4175f4
mov edx, dword [ebp - 0x15e8]
mov dword [ebp - 0x1658], edx
cmp dword [ebp - 0x2fc], 0x10
jb 0x417562
mov ecx, dword [ebp - 0x310]
jmp 0x417568
lea ecx, [ebp - 0x310]
mov dword [ebp - 0x165c], ecx
cmp dword [ebp - 0x2cc], 0x10
jb 0x41757f
mov eax, dword [ebp - 0x2e0]
jmp 0x417585
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x1660], eax
mov edx, dword [ebp - 0x1658]
push edx
mov ecx, dword [ebp - 0x165c]
push ecx
mov eax, dword [ebp - 0x1660]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0x15e8]
mov dword [ebp - 0x1664], edx
mov byte [ebp - 0x1665], 0
cmp dword [ebp - 0x2cc], 0x10
jb 0x4175cc
mov ecx, dword [ebp - 0x2e0]
jmp 0x4175d2
lea ecx, [ebp - 0x2e0]
mov eax, dword [ebp - 0x1664]
mov dword [ebp - 0x2d0], eax
add ecx, eax
mov dword [ebp - 0x166c], ecx
mov edx, dword [ebp - 0x166c]
mov cl, byte [ebp - 0x1665]
mov byte [edx], cl
inc dword [ebp - 0x6ac]
inc dword [ebp - 0x6ac]
mov eax, 0x5b5478
mov dword [ebp - 0x2f8], eax
inc dword [ebp - 0x6ac]
dec dword [ebp - 0x6ac]
cmp dword [ebp - 0x2fc], 0x10
jb 0x417645
mov edx, dword [ebp - 0x310]
mov dword [ebp - 0x1670], edx
mov ecx, dword [ebp - 0x1670]
mov dword [ebp - 0x1674], ecx
mov eax, dword [ebp - 0x1674]
push eax
call fcn.00597660
pop ecx
mov edx, 0xf
mov dword [ebp - 0x2fc], edx
mov byte [ebp - 0x1675], 0
cmp dword [ebp - 0x2fc], 0x10
jb 0x417668
mov ecx, dword [ebp - 0x310]
jmp 0x41766e
lea ecx, [ebp - 0x310]
xor eax, eax
add ecx, eax
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x167c], ecx
lea eax, [ebp - 0x2f8]
mov edx, dword [ebp - 0x167c]
mov cl, byte [ebp - 0x1675]
mov byte [edx], cl
mov word [ebp - 0x6b8], 0xc0
push eax
push 0x40e524
call fcn.005af81c
add esp, 0x24
mov edx, dword [ebp - 0x10c]
shr edx, 1
mov dword [ebp - 0x1680], edx
cmp dword [ebp - 0x1680], 8
jae 0x4176ca
mov dword [ebp - 0x1680], 8
mov ecx, dword [ebp - 0x1504]
cmp ecx, dword [ebp - 0x1680]
jae 0x417702
lea eax, [ebp - 0x118]
push eax
call fcn.004040bc
shr eax, 4
pop ecx
sub eax, dword [ebp - 0x1680]
cmp eax, dword [ebp - 0x10c]
jb 0x417702
mov edx, dword [ebp - 0x1680]
mov dword [ebp - 0x1504], edx
mov ecx, dword [ebp - 0x108]
shr ecx, 4
mov dword [ebp - 0x1684], ecx
mov eax, dword [ebp - 0x10c]
add eax, dword [ebp - 0x1504]
mov dword [ebp - 0x168c], eax
mov edx, dword [ebp - 0x168c]
shl edx, 2
push edx
call fcn.0059cd68
pop ecx
mov dword [ebp - 0x1688], eax
mov ecx, dword [ebp - 0x1684]
shl ecx, 2
add ecx, dword [ebp - 0x1688]
mov dword [ebp - 0x1690], ecx
mov eax, dword [ebp - 0x1690]
mov dword [ebp - 0x1694], eax
mov edx, dword [ebp - 0x10c]
shl edx, 2
add edx, dword [ebp - 0x110]
mov dword [ebp - 0x1698], edx
lea edx, [ebp - 0x16a4]
mov ecx, dword [ebp - 0x1684]
shl ecx, 2
add ecx, dword [ebp - 0x110]
mov dword [ebp - 0x169c], ecx
mov eax, dword [ebp - 0x16ac]
mov dword [ebp - 0x16a4], eax
mov eax, dword [ebp - 0x16a8]
mov dword [ebp - 0x16a0], eax
lea eax, [ebp - 0x120]
push dword [edx + 4]
push dword [edx]
push eax
mov edx, dword [ebp - 0x1694]
push edx
mov ecx, dword [ebp - 0x1698]
push ecx
mov eax, dword [ebp - 0x169c]
push eax
call fcn.0040e9d4
add esp, 0x18
mov dword [ebp - 0x1690], eax
mov edx, dword [ebp - 0x1684]
cmp edx, dword [ebp - 0x1504]
ja 0x417936
mov ecx, dword [ebp - 0x1690]
mov dword [ebp - 0x16b0], ecx
mov eax, dword [ebp - 0x1684]
shl eax, 2
add eax, dword [ebp - 0x110]
mov dword [ebp - 0x16b4], eax
lea eax, [ebp - 0x16c0]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x16b8], edx
mov ecx, dword [ebp - 0x16c8]
mov dword [ebp - 0x16c0], ecx
mov ecx, dword [ebp - 0x16c4]
mov dword [ebp - 0x16bc], ecx
lea ecx, [ebp - 0x120]
push dword [eax + 4]
push dword [eax]
push ecx
mov eax, dword [ebp - 0x16b0]
push eax
mov edx, dword [ebp - 0x16b4]
push edx
mov ecx, dword [ebp - 0x16b8]
push ecx
call fcn.0040e9d4
mov dword [ebp - 0x1690], eax
xor eax, eax
mov dword [ebp - 0x16cc], eax
add esp, 0x18
mov edx, dword [ebp - 0x1504]
sub edx, dword [ebp - 0x1684]
mov dword [ebp - 0x16d0], edx
lea edx, [ebp - 0x16dc]
mov ecx, dword [ebp - 0x1690]
mov dword [ebp - 0x16d4], ecx
mov eax, dword [ebp - 0x16e4]
mov dword [ebp - 0x16dc], eax
mov eax, dword [ebp - 0x16e0]
mov dword [ebp - 0x16d8], eax
lea eax, [ebp - 0x120]
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0x16cc]
push eax
push edx
mov ecx, dword [ebp - 0x16d0]
push ecx
mov eax, dword [ebp - 0x16d4]
push eax
call fcn.0040ea64
add esp, 0x18
xor edx, edx
mov dword [ebp - 0x16e8], edx
mov ecx, dword [ebp - 0x1684]
mov dword [ebp - 0x16ec], ecx
lea ecx, [ebp - 0x16f8]
mov eax, dword [ebp - 0x1688]
mov dword [ebp - 0x16f0], eax
lea eax, [ebp - 0x120]
mov edx, dword [ebp - 0x1700]
mov dword [ebp - 0x16f8], edx
mov edx, dword [ebp - 0x16fc]
mov dword [ebp - 0x16f4], edx
lea edx, [ebp - 0x16e8]
push dword [ecx + 4]
push dword [ecx]
push eax
push edx
mov ecx, dword [ebp - 0x16ec]
push ecx
mov eax, dword [ebp - 0x16f0]
push eax
call fcn.0040ea64
add esp, 0x18
jmp 0x417a88
mov edx, dword [ebp - 0x1690]
mov dword [ebp - 0x1704], edx
mov ecx, dword [ebp - 0x1504]
shl ecx, 2
add ecx, dword [ebp - 0x110]
mov dword [ebp - 0x1708], ecx
lea ecx, [ebp - 0x1714]
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x170c], eax
lea eax, [ebp - 0x120]
mov edx, dword [ebp - 0x171c]
mov dword [ebp - 0x1714], edx
mov edx, dword [ebp - 0x1718]
mov dword [ebp - 0x1710], edx
push dword [ecx + 4]
push dword [ecx]
push eax
mov edx, dword [ebp - 0x1704]
push edx
mov ecx, dword [ebp - 0x1708]
push ecx
mov eax, dword [ebp - 0x170c]
push eax
call fcn.0040e9d4
mov edx, dword [ebp - 0x1688]
add esp, 0x18
mov dword [ebp - 0x1720], edx
mov ecx, dword [ebp - 0x1684]
shl ecx, 2
add ecx, dword [ebp - 0x110]
mov dword [ebp - 0x1724], ecx
lea ecx, [ebp - 0x1730]
mov eax, dword [ebp - 0x1504]
shl eax, 2
add eax, dword [ebp - 0x110]
mov dword [ebp - 0x1728], eax
lea eax, [ebp - 0x120]
mov edx, dword [ebp - 0x1738]
mov dword [ebp - 0x1730], edx
mov edx, dword [ebp - 0x1734]
mov dword [ebp - 0x172c], edx
push dword [ecx + 4]
push dword [ecx]
push eax
mov edx, dword [ebp - 0x1720]
push edx
mov ecx, dword [ebp - 0x1724]
push ecx
mov eax, dword [ebp - 0x1728]
push eax
call fcn.0040e9d4
add esp, 0x18
mov dword [ebp - 0x1690], eax
xor edx, edx
mov dword [ebp - 0x173c], edx
lea edx, [ebp - 0x1748]
mov ecx, dword [ebp - 0x1690]
mov dword [ebp - 0x1740], ecx
mov eax, dword [ebp - 0x1750]
mov dword [ebp - 0x1748], eax
mov eax, dword [ebp - 0x174c]
mov dword [ebp - 0x1744], eax
lea eax, [ebp - 0x120]
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0x173c]
push eax
push edx
mov ecx, dword [ebp - 0x1504]
push ecx
mov eax, dword [ebp - 0x1740]
push eax
call fcn.0040ea64
add esp, 0x18
mov edx, dword [ebp - 0x10c]
shl edx, 2
add edx, dword [ebp - 0x110]
mov dword [ebp - 0x1754], edx
lea edx, [ebp - 0x1760]
mov ecx, dword [ebp - 0x1684]
shl ecx, 2
add ecx, dword [ebp - 0x110]
mov dword [ebp - 0x1758], ecx
mov eax, dword [ebp - 0x1768]
mov dword [ebp - 0x1760], eax
mov eax, dword [ebp - 0x1764]
mov dword [ebp - 0x175c], eax
lea eax, [ebp - 0x120]
push dword [edx + 4]
push dword [edx]
push eax
mov edx, dword [ebp - 0x1754]
push edx
mov ecx, dword [ebp - 0x1758]
push ecx
call fcn.0040eaf0
add esp, 0x14
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x176c], eax
mov edx, dword [ebp - 0x176c]
push edx
call fcn.00597660
pop ecx
mov ecx, dword [ebp - 0x1688]
mov dword [ebp - 0x110], ecx
mov eax, dword [ebp - 0x1504]
add dword [ebp - 0x10c], eax
mov edx, dword [ebp - 0x108]
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x1770], edx
mov ecx, dword [ebp - 0x1770]
shr ecx, 4
mov dword [ebp - 0x1774], ecx
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x1774]
ja 0x417b5e
mov edx, dword [ebp - 0x10c]
sub dword [ebp - 0x1774], edx
mov ecx, dword [ebp - 0x110]
mov ebx, dword [ebp - 0x1774]
cmp dword [ecx + ebx*4], 0
jne 0x417b87
push 0x10
call fcn.0059cd68
pop ecx
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x1774]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x1774]
mov ecx, dword [ebp - 0x1770]
and ecx, 0xf
mov eax, dword [eax + edx*4]
add eax, ecx
mov dword [ebp - 0x1778], eax
mov eax, dword [ebp - 0x1778]
mov dword [ebp - 0x177c], eax
mov edx, dword [ebp - 0x177c]
push edx
push 1
call fcn.0040eb08
mov dword [ebp - 0x1780], eax
add esp, 8
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x1780]
mov al, byte [ecx]
mov byte [edx], al
inc dword [ebp - 0x104]
jmp 0x419135
cmp dword [ebp - 0x1214], 4
jge 0x419135
xor ecx, ecx
mov dword [ebp - 0x1214], ecx
lea ecx, [ebp - 0xc8]
mov eax, dword [ebp - 0x1218]
mov dword [ebp - 0x1784], eax
mov edx, dword [ebp - 0x1784]
mov dword [ebp - 0x1788], edx
mov dword [ebp - 0x178c], ecx
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x1790], eax
mov edx, dword [ebp - 0x178c]
mov dword [ebp - 0x2c90], edx
mov ecx, dword [ebp - 0x1790]
mov dword [ebp - 0x2c8c], ecx
mov eax, dword [ebp - 0x2c90]
mov dword [ebp - 0x2ca0], eax
mov edx, dword [ebp - 0x2c8c]
mov dword [ebp - 0x2c9c], edx
mov ecx, dword [ebp - 0x1788]
add dword [ebp - 0x2c9c], ecx
mov eax, dword [ebp - 0x2ca0]
mov dword [ebp - 0x2cb0], eax
mov edx, dword [ebp - 0x2c9c]
mov dword [ebp - 0x2cac], edx
mov ecx, dword [ebp - 0x2cac]
shr ecx, 4
mov dword [ebp - 0x1794], ecx
mov eax, dword [ebp - 0x2cac]
and eax, 0xf
mov dword [ebp - 0x1798], eax
mov edx, dword [ebp - 0x2cb0]
mov ecx, dword [edx + 0x1c]
cmp ecx, dword [ebp - 0x1794]
ja 0x417cbc
mov eax, dword [ebp - 0x2cb0]
mov edx, dword [eax + 0x1c]
sub dword [ebp - 0x1794], edx
mov ecx, dword [ebp - 0x2cb0]
mov eax, dword [ecx + 0x18]
mov edx, dword [ebp - 0x1794]
mov ecx, dword [eax + edx*4]
add ecx, dword [ebp - 0x1798]
mov dword [ebp - 0x179c], ecx
mov eax, dword [ebp - 0x108]
add eax, dword [ebp - 0x104]
test al, 0xf
jne 0x419078
mov edx, dword [ebp - 0x104]
add edx, 0x10
shr edx, 4
cmp edx, dword [ebp - 0x10c]
jb 0x419078
mov dword [ebp - 0x17a0], 1
lea ecx, [ebp - 0x118]
push ecx
call fcn.004040bc
shr eax, 4
pop ecx
sub eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x17a0]
jae 0x418bfe
lea eax, [ebp - 0x6c8]
lea edx, [ebp - 0x17a8]
push eax
push 0
push 0
push 0
push 1
push 0x40e580
push 0
mov word [ebp - 0x6b8], 0xf0
push edx
call fcn.00403e6c
pop ecx
lea ecx, [ebp - 0x17a8]
push ecx
lea eax, [ebp - 0x370]
push eax
call fcn.00403e94
add esp, 8
mov edx, 0xf
mov dword [ebp - 0x354], edx
mov byte [ebp - 0x17a9], 0
cmp dword [ebp - 0x354], 0x10
jb 0x417d97
mov ecx, dword [ebp - 0x368]
jmp 0x417d9d
lea ecx, [ebp - 0x368]
xor eax, eax
mov dword [ebp - 0x358], eax
add ecx, eax
mov dword [ebp - 0x17b0], ecx
mov edx, dword [ebp - 0x17b0]
mov cl, byte [ebp - 0x17a9]
mov byte [edx], cl
push 0x5b223a
call fcn.005a2354
pop ecx
mov dword [ebp - 0x17b4], eax
mov eax, 0x5b223a
test eax, eax
je 0x417e19
cmp dword [ebp - 0x354], 0x10
mov edx, 0x5b223a
jb 0x417deb
mov ecx, dword [ebp - 0x368]
jmp 0x417df1
lea ecx, [ebp - 0x368]
cmp edx, ecx
jb 0x417e19
cmp dword [ebp - 0x354], 0x10
jb 0x417e06
mov eax, dword [ebp - 0x368]
jmp 0x417e0c
lea eax, [ebp - 0x368]
add eax, dword [ebp - 0x358]
cmp eax, 0x5b223a
ja 0x417e1d
xor edx, edx
jmp 0x417e1f
mov dl, 1
test dl, dl
je 0x418382
cmp dword [ebp - 0x354], 0x10
mov eax, 0x5b223a
jb 0x417e3d
mov ecx, dword [ebp - 0x368]
jmp 0x417e43
lea ecx, [ebp - 0x368]
sub eax, ecx
mov dword [ebp - 0x17b8], eax
mov eax, dword [ebp - 0x358]
cmp eax, dword [ebp - 0x17b8]
jae 0x417e66
lea edx, [ebp - 0x378]
push edx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x358]
sub eax, dword [ebp - 0x17b8]
mov dword [ebp - 0x17bc], eax
mov edx, dword [ebp - 0x17b4]
cmp edx, dword [ebp - 0x17bc]
jae 0x417e92
mov ecx, dword [ebp - 0x17b4]
mov dword [ebp - 0x17bc], ecx
lea eax, [ebp - 0x378]
lea edx, [ebp - 0x378]
cmp eax, edx
jne 0x41810a
mov dword [ebp - 0x17c0], 0xffffffff
mov ecx, dword [ebp - 0x17b8]
add ecx, dword [ebp - 0x17bc]
mov dword [ebp - 0x17c4], ecx
mov eax, dword [ebp - 0x358]
cmp eax, dword [ebp - 0x17c4]
jae 0x417edd
lea edx, [ebp - 0x378]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x358]
sub ecx, dword [ebp - 0x17c4]
cmp ecx, dword [ebp - 0x17c0]
jae 0x417f03
mov eax, dword [ebp - 0x358]
sub eax, dword [ebp - 0x17c4]
mov dword [ebp - 0x17c0], eax
cmp dword [ebp - 0x17c0], 0
jbe 0x417fef
mov edx, dword [ebp - 0x358]
sub edx, dword [ebp - 0x17c4]
sub edx, dword [ebp - 0x17c0]
mov dword [ebp - 0x17c8], edx
cmp dword [ebp - 0x354], 0x10
jb 0x417f39
mov ecx, dword [ebp - 0x368]
jmp 0x417f3f
lea ecx, [ebp - 0x368]
add ecx, dword [ebp - 0x17c4]
add ecx, dword [ebp - 0x17c0]
mov dword [ebp - 0x17cc], ecx
cmp dword [ebp - 0x354], 0x10
jb 0x417f62
mov eax, dword [ebp - 0x368]
jmp 0x417f68
lea eax, [ebp - 0x368]
add eax, dword [ebp - 0x17c4]
mov dword [ebp - 0x17d0], eax
mov edx, dword [ebp - 0x17c8]
push edx
mov ecx, dword [ebp - 0x17cc]
push ecx
mov eax, dword [ebp - 0x17d0]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x358]
sub edx, dword [ebp - 0x17c0]
mov dword [ebp - 0x17d4], edx
mov ecx, dword [ebp - 0x17d4]
mov dword [ebp - 0x17d8], ecx
mov byte [ebp - 0x17d9], 0
cmp dword [ebp - 0x354], 0x10
jb 0x417fc7
mov eax, dword [ebp - 0x368]
jmp 0x417fcd
lea eax, [ebp - 0x368]
mov edx, dword [ebp - 0x17d8]
mov dword [ebp - 0x358], edx
add eax, edx
mov dword [ebp - 0x17e0], eax
mov eax, dword [ebp - 0x17e0]
mov cl, byte [ebp - 0x17d9]
mov byte [eax], cl
mov eax, dword [ebp - 0x17b8]
mov dword [ebp - 0x17e4], eax
cmp dword [ebp - 0x358], 0
jae 0x418011
lea edx, [ebp - 0x378]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x358]
cmp ecx, dword [ebp - 0x17e4]
jae 0x41802b
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x17e4], eax
cmp dword [ebp - 0x17e4], 0
jbe 0x418377
mov edx, dword [ebp - 0x358]
sub edx, dword [ebp - 0x17e4]
mov dword [ebp - 0x17e8], edx
cmp dword [ebp - 0x354], 0x10
jb 0x41805b
mov ecx, dword [ebp - 0x368]
jmp 0x418061
lea ecx, [ebp - 0x368]
add ecx, dword [ebp - 0x17e4]
mov dword [ebp - 0x17ec], ecx
cmp dword [ebp - 0x354], 0x10
jb 0x41807e
mov eax, dword [ebp - 0x368]
jmp 0x418084
lea eax, [ebp - 0x368]
mov dword [ebp - 0x17f0], eax
mov edx, dword [ebp - 0x17e8]
push edx
mov ecx, dword [ebp - 0x17ec]
push ecx
mov eax, dword [ebp - 0x17f0]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x358]
sub edx, dword [ebp - 0x17e4]
mov dword [ebp - 0x17f4], edx
mov ecx, dword [ebp - 0x17f4]
mov dword [ebp - 0x17f8], ecx
mov byte [ebp - 0x17f9], 0
cmp dword [ebp - 0x354], 0x10
jb 0x4180dd
mov eax, dword [ebp - 0x368]
jmp 0x4180e3
lea eax, [ebp - 0x368]
mov edx, dword [ebp - 0x17f8]
mov dword [ebp - 0x358], edx
add eax, edx
mov dword [ebp - 0x1800], eax
mov eax, dword [ebp - 0x1800]
mov cl, byte [ebp - 0x17f9]
mov byte [eax], cl
jmp 0x418377
mov eax, dword [ebp - 0x17bc]
mov dword [ebp - 0x1804], eax
lea edx, [ebp - 0x370]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x1808], eax
cmp dword [ebp - 0x1808], 1
ja 0x418139
mov ecx, 1
jmp 0x418140
mov ecx, dword [ebp - 0x1808]
dec ecx
cmp ecx, dword [ebp - 0x1804]
jae 0x418155
lea eax, [ebp - 0x378]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x354]
cmp edx, dword [ebp - 0x1804]
jae 0x418268
mov eax, dword [ebp - 0x358]
push eax
mov edx, dword [ebp - 0x1804]
push edx
lea ecx, [ebp - 0x378]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x4182ad
cmp dword [ebp - 0x1804], 0
jne 0x4182ad
mov byte [ebp - 0x1821], 0
cmp dword [ebp - 0x354], 0x10
jb 0x418289
mov eax, dword [ebp - 0x368]
jmp 0x41828f
lea eax, [ebp - 0x368]
xor edx, edx
mov dword [ebp - 0x358], edx
add eax, edx
mov dword [ebp - 0x1828], eax
mov eax, dword [ebp - 0x1828]
mov cl, byte [ebp - 0x1821]
mov byte [eax], cl
cmp dword [ebp - 0x1804], 0
seta al
and eax, 1
test al, al
je 0x418377
mov edx, dword [ebp - 0x17bc]
mov dword [ebp - 0x182c], edx
cmp dword [ebp - 0x354], 0x10
jb 0x4182df
mov ecx, dword [ebp - 0x368]
jmp 0x4182e5
lea ecx, [ebp - 0x368]
add ecx, dword [ebp - 0x17b8]
mov dword [ebp - 0x1830], ecx
cmp dword [ebp - 0x354], 0x10
jb 0x418302
mov eax, dword [ebp - 0x368]
jmp 0x418308
lea eax, [ebp - 0x368]
mov dword [ebp - 0x1834], eax
mov edx, dword [ebp - 0x182c]
push edx
mov ecx, dword [ebp - 0x1830]
push ecx
mov eax, dword [ebp - 0x1834]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0x17bc]
mov dword [ebp - 0x1838], edx
mov byte [ebp - 0x1839], 0
cmp dword [ebp - 0x354], 0x10
jb 0x41834f
mov ecx, dword [ebp - 0x368]
jmp 0x418355
lea ecx, [ebp - 0x368]
mov eax, dword [ebp - 0x1838]
mov dword [ebp - 0x358], eax
add ecx, eax
mov dword [ebp - 0x1840], ecx
mov edx, dword [ebp - 0x1840]
mov cl, byte [ebp - 0x1839]
mov byte [edx], cl
lea eax, [ebp - 0x378]
jmp 0x4185a8
lea edx, [ebp - 0x370]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x1844], eax
cmp dword [ebp - 0x1844], 1
ja 0x4183a5
mov ecx, 1
jmp 0x4183ac
mov ecx, dword [ebp - 0x1844]
dec ecx
cmp ecx, dword [ebp - 0x17b4]
jae 0x4183c1
lea eax, [ebp - 0x378]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x354]
cmp edx, dword [ebp - 0x17b4]
jae 0x4184d4
mov eax, dword [ebp - 0x358]
push eax
mov edx, dword [ebp - 0x17b4]
push edx
lea ecx, [ebp - 0x378]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x418519
cmp dword [ebp - 0x17b4], 0
jne 0x418519
mov byte [ebp - 0x185d], 0
cmp dword [ebp - 0x354], 0x10
jb 0x4184f5
mov eax, dword [ebp - 0x368]
jmp 0x4184fb
lea eax, [ebp - 0x368]
xor edx, edx
mov dword [ebp - 0x358], edx
add eax, edx
mov dword [ebp - 0x1864], eax
mov eax, dword [ebp - 0x1864]
mov cl, byte [ebp - 0x185d]
mov byte [eax], cl
cmp dword [ebp - 0x17b4], 0
seta al
and eax, 1
test al, al
je 0x4185a2
cmp dword [ebp - 0x354], 0x10
jb 0x41853b
mov edx, dword [ebp - 0x368]
jmp 0x418541
lea edx, [ebp - 0x368]
mov dword [ebp - 0x1868], edx
mov eax, dword [ebp - 0x17b4]
push eax
push 0x5b223a
mov ecx, dword [ebp - 0x1868]
push ecx
call fcn.005a2008
add esp, 0xc
mov byte [ebp - 0x1869], 0
cmp dword [ebp - 0x354], 0x10
jb 0x41857a
mov eax, dword [ebp - 0x368]
jmp 0x418580
lea eax, [ebp - 0x368]
mov edx, dword [ebp - 0x17b4]
mov dword [ebp - 0x358], edx
add eax, edx
mov dword [ebp - 0x1870], eax
mov eax, dword [ebp - 0x1870]
mov cl, byte [ebp - 0x1869]
mov byte [eax], cl
lea eax, [ebp - 0x378]
inc dword [ebp - 0x6ac]
lea edx, [ebp - 0x350]
push edx
call fcn.0040e9a4
pop ecx
inc dword [ebp - 0x6ac]
mov ecx, 0x5b5464
mov dword [ebp - 0x350], ecx
lea eax, [ebp - 0x370]
push eax
lea edx, [ebp - 0x1878]
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0x1878]
push ecx
lea eax, [ebp - 0x340]
push eax
call fcn.00403e94
add esp, 8
mov edx, 0xf
mov dword [ebp - 0x324], edx
mov byte [ebp - 0x1879], 0
cmp dword [ebp - 0x324], 0x10
jb 0x41861b
mov ecx, dword [ebp - 0x338]
jmp 0x418621
lea ecx, [ebp - 0x338]
xor eax, eax
mov dword [ebp - 0x328], eax
add ecx, eax
mov dword [ebp - 0x1880], ecx
mov edx, dword [ebp - 0x1880]
mov cl, byte [ebp - 0x1879]
mov byte [edx], cl
cmp dword [ebp - 0x358], 0
jae 0x418655
lea eax, [ebp - 0x348]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x358]
mov dword [ebp - 0x1884], edx
cmp dword [ebp - 0x1884], 0xffffffff
jbe 0x418674
mov dword [ebp - 0x1884], 0xffffffff
lea ecx, [ebp - 0x348]
lea ebx, [ebp - 0x378]
cmp ecx, ebx
jne 0x4188e2
mov dword [ebp - 0x1888], 0xffffffff
mov eax, dword [ebp - 0x1884]
mov dword [ebp - 0x188c], eax
mov edx, dword [ebp - 0x328]
cmp edx, dword [ebp - 0x188c]
jae 0x4186b9
lea ecx, [ebp - 0x348]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x328]
sub eax, dword [ebp - 0x188c]
cmp eax, dword [ebp - 0x1888]
jae 0x4186df
mov edx, dword [ebp - 0x328]
sub edx, dword [ebp - 0x188c]
mov dword [ebp - 0x1888], edx
cmp dword [ebp - 0x1888], 0
jbe 0x4187cb
mov ecx, dword [ebp - 0x328]
sub ecx, dword [ebp - 0x188c]
sub ecx, dword [ebp - 0x1888]
mov dword [ebp - 0x1890], ecx
cmp dword [ebp - 0x324], 0x10
jb 0x418715
mov eax, dword [ebp - 0x338]
jmp 0x41871b
lea eax, [ebp - 0x338]
add eax, dword [ebp - 0x188c]
add eax, dword [ebp - 0x1888]
mov dword [ebp - 0x1894], eax
cmp dword [ebp - 0x324], 0x10
jb 0x41873e
mov edx, dword [ebp - 0x338]
jmp 0x418744
lea edx, [ebp - 0x338]
add edx, dword [ebp - 0x188c]
mov dword [ebp - 0x1898], edx
mov eax, dword [ebp - 0x1890]
push eax
mov ecx, dword [ebp - 0x1894]
push ecx
mov eax, dword [ebp - 0x1898]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x328]
sub edx, dword [ebp - 0x1888]
mov dword [ebp - 0x189c], edx
mov ecx, dword [ebp - 0x189c]
mov dword [ebp - 0x18a0], ecx
mov byte [ebp - 0x18a1], 0
cmp dword [ebp - 0x324], 0x10
jb 0x4187a3
mov eax, dword [ebp - 0x338]
jmp 0x4187a9
lea eax, [ebp - 0x338]
mov edx, dword [ebp - 0x18a0]
mov dword [ebp - 0x328], edx
add eax, edx
mov dword [ebp - 0x18a8], eax
mov eax, dword [ebp - 0x18a8]
mov cl, byte [ebp - 0x18a1]
mov byte [eax], cl
xor eax, eax
mov dword [ebp - 0x18ac], eax
cmp dword [ebp - 0x328], 0
jae 0x4187e9
lea edx, [ebp - 0x348]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x328]
cmp ecx, dword [ebp - 0x18ac]
jae 0x418803
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x18ac], eax
cmp dword [ebp - 0x18ac], 0
jbe 0x418b49
mov edx, dword [ebp - 0x328]
sub edx, dword [ebp - 0x18ac]
mov dword [ebp - 0x18b0], edx
cmp dword [ebp - 0x324], 0x10
jb 0x418833
mov ecx, dword [ebp - 0x338]
jmp 0x418839
lea ecx, [ebp - 0x338]
add ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x18b4], ecx
cmp dword [ebp - 0x324], 0x10
jb 0x418856
mov eax, dword [ebp - 0x338]
jmp 0x41885c
lea eax, [ebp - 0x338]
mov dword [ebp - 0x18b8], eax
mov edx, dword [ebp - 0x18b0]
push edx
mov ecx, dword [ebp - 0x18b4]
push ecx
mov eax, dword [ebp - 0x18b8]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x328]
sub edx, dword [ebp - 0x18ac]
mov dword [ebp - 0x18bc], edx
mov ecx, dword [ebp - 0x18bc]
mov dword [ebp - 0x18c0], ecx
mov byte [ebp - 0x18c1], 0
cmp dword [ebp - 0x324], 0x10
jb 0x4188b5
mov eax, dword [ebp - 0x338]
jmp 0x4188bb
lea eax, [ebp - 0x338]
mov edx, dword [ebp - 0x18c0]
mov dword [ebp - 0x328], edx
add eax, edx
mov dword [ebp - 0x18c8], eax
mov eax, dword [ebp - 0x18c8]
mov cl, byte [ebp - 0x18c1]
mov byte [eax], cl
jmp 0x418b49
mov eax, dword [ebp - 0x1884]
mov dword [ebp - 0x18cc], eax
lea edx, [ebp - 0x340]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x18d0], eax
cmp dword [ebp - 0x18d0], 1
ja 0x418911
mov ecx, 1
jmp 0x418918
mov ecx, dword [ebp - 0x18d0]
dec ecx
cmp ecx, dword [ebp - 0x18cc]
jae 0x41892d
lea eax, [ebp - 0x348]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x324]
cmp edx, dword [ebp - 0x18cc]
jae 0x418a40
mov eax, dword [ebp - 0x328]
push eax
mov edx, dword [ebp - 0x18cc]
push edx
lea ecx, [ebp - 0x348]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x418a85
cmp dword [ebp - 0x18cc], 0
jne 0x418a85
mov byte [ebp - 0x18e9], 0
cmp dword [ebp - 0x324], 0x10
jb 0x418a61
mov eax, dword [ebp - 0x338]
jmp 0x418a67
lea eax, [ebp - 0x338]
xor edx, edx
mov dword [ebp - 0x328], edx
add eax, edx
mov dword [ebp - 0x18f0], eax
mov eax, dword [ebp - 0x18f0]
mov cl, byte [ebp - 0x18e9]
mov byte [eax], cl
cmp dword [ebp - 0x18cc], 0
seta al
and eax, 1
test al, al
je 0x418b49
mov edx, dword [ebp - 0x1884]
mov dword [ebp - 0x18f4], edx
cmp dword [ebp - 0x354], 0x10
jb 0x418ab7
mov ecx, dword [ebp - 0x368]
jmp 0x418abd
lea ecx, [ebp - 0x368]
mov dword [ebp - 0x18f8], ecx
cmp dword [ebp - 0x324], 0x10
jb 0x418ad4
mov eax, dword [ebp - 0x338]
jmp 0x418ada
lea eax, [ebp - 0x338]
mov dword [ebp - 0x18fc], eax
mov edx, dword [ebp - 0x18f4]
push edx
mov ecx, dword [ebp - 0x18f8]
push ecx
mov eax, dword [ebp - 0x18fc]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0x1884]
mov dword [ebp - 0x1900], edx
mov byte [ebp - 0x1901], 0
cmp dword [ebp - 0x324], 0x10
jb 0x418b21
mov ecx, dword [ebp - 0x338]
jmp 0x418b27
lea ecx, [ebp - 0x338]
mov eax, dword [ebp - 0x1900]
mov dword [ebp - 0x328], eax
add ecx, eax
mov dword [ebp - 0x1908], ecx
mov edx, dword [ebp - 0x1908]
mov cl, byte [ebp - 0x1901]
mov byte [edx], cl
inc dword [ebp - 0x6ac]
inc dword [ebp - 0x6ac]
mov eax, 0x5b5478
mov dword [ebp - 0x350], eax
inc dword [ebp - 0x6ac]
dec dword [ebp - 0x6ac]
cmp dword [ebp - 0x354], 0x10
jb 0x418b9a
mov edx, dword [ebp - 0x368]
mov dword [ebp - 0x190c], edx
mov ecx, dword [ebp - 0x190c]
mov dword [ebp - 0x1910], ecx
mov eax, dword [ebp - 0x1910]
push eax
call fcn.00597660
pop ecx
mov edx, 0xf
mov dword [ebp - 0x354], edx
mov byte [ebp - 0x1911], 0
cmp dword [ebp - 0x354], 0x10
jb 0x418bbd
mov ecx, dword [ebp - 0x368]
jmp 0x418bc3
lea ecx, [ebp - 0x368]
xor eax, eax
add ecx, eax
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x1918], ecx
lea eax, [ebp - 0x350]
mov edx, dword [ebp - 0x1918]
mov cl, byte [ebp - 0x1911]
mov byte [edx], cl
mov word [ebp - 0x6b8], 0xe4
push eax
push 0x40e524
call fcn.005af81c
add esp, 0x24
mov edx, dword [ebp - 0x10c]
shr edx, 1
mov dword [ebp - 0x191c], edx
cmp dword [ebp - 0x191c], 8
jae 0x418c1f
mov dword [ebp - 0x191c], 8
mov ecx, dword [ebp - 0x17a0]
cmp ecx, dword [ebp - 0x191c]
jae 0x418c57
lea eax, [ebp - 0x118]
push eax
call fcn.004040bc
shr eax, 4
pop ecx
sub eax, dword [ebp - 0x191c]
cmp eax, dword [ebp - 0x10c]
jb 0x418c57
mov edx, dword [ebp - 0x191c]
mov dword [ebp - 0x17a0], edx
mov ecx, dword [ebp - 0x108]
shr ecx, 4
mov dword [ebp - 0x1920], ecx
mov eax, dword [ebp - 0x10c]
add eax, dword [ebp - 0x17a0]
mov dword [ebp - 0x1928], eax
mov edx, dword [ebp - 0x1928]
shl edx, 2
push edx
call fcn.0059cd68
pop ecx
mov dword [ebp - 0x1924], eax
mov ecx, dword [ebp - 0x1920]
shl ecx, 2
add ecx, dword [ebp - 0x1924]
mov dword [ebp - 0x192c], ecx
mov eax, dword [ebp - 0x192c]
mov dword [ebp - 0x1930], eax
mov edx, dword [ebp - 0x10c]
shl edx, 2
add edx, dword [ebp - 0x110]
mov dword [ebp - 0x1934], edx
lea edx, [ebp - 0x1940]
mov ecx, dword [ebp - 0x1920]
shl ecx, 2
add ecx, dword [ebp - 0x110]
mov dword [ebp - 0x1938], ecx
mov eax, dword [ebp - 0x1948]
mov dword [ebp - 0x1940], eax
mov eax, dword [ebp - 0x1944]
mov dword [ebp - 0x193c], eax
lea eax, [ebp - 0x120]
push dword [edx + 4]
push dword [edx]
push eax
mov edx, dword [ebp - 0x1930]
push edx
mov ecx, dword [ebp - 0x1934]
push ecx
mov eax, dword [ebp - 0x1938]
push eax
call fcn.0040e9d4
add esp, 0x18
mov dword [ebp - 0x192c], eax
mov edx, dword [ebp - 0x1920]
cmp edx, dword [ebp - 0x17a0]
ja 0x418e8b
mov ecx, dword [ebp - 0x192c]
mov dword [ebp - 0x194c], ecx
mov eax, dword [ebp - 0x1920]
shl eax, 2
add eax, dword [ebp - 0x110]
mov dword [ebp - 0x1950], eax
lea eax, [ebp - 0x195c]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x1954], edx
mov ecx, dword [ebp - 0x1964]
mov dword [ebp - 0x195c], ecx
mov ecx, dword [ebp - 0x1960]
mov dword [ebp - 0x1958], ecx
lea ecx, [ebp - 0x120]
push dword [eax + 4]
push dword [eax]
push ecx
mov eax, dword [ebp - 0x194c]
push eax
mov edx, dword [ebp - 0x1950]
push edx
mov ecx, dword [ebp - 0x1954]
push ecx
call fcn.0040e9d4
mov dword [ebp - 0x192c], eax
xor eax, eax
mov dword [ebp - 0x1968], eax
add esp, 0x18
mov edx, dword [ebp - 0x17a0]
sub edx, dword [ebp - 0x1920]
mov dword [ebp - 0x196c], edx
lea edx, [ebp - 0x1978]
mov ecx, dword [ebp - 0x192c]
mov dword [ebp - 0x1970], ecx
mov eax, dword [ebp - 0x1980]
mov dword [ebp - 0x1978], eax
mov eax, dword [ebp - 0x197c]
mov dword [ebp - 0x1974], eax
lea eax, [ebp - 0x120]
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0x1968]
push eax
push edx
mov ecx, dword [ebp - 0x196c]
push ecx
mov eax, dword [ebp - 0x1970]
push eax
call fcn.0040ea64
add esp, 0x18
xor edx, edx
mov dword [ebp - 0x1984], edx
mov ecx, dword [ebp - 0x1920]
mov dword [ebp - 0x1988], ecx
lea ecx, [ebp - 0x1994]
mov eax, dword [ebp - 0x1924]
mov dword [ebp - 0x198c], eax
lea eax, [ebp - 0x120]
mov edx, dword [ebp - 0x199c]
mov dword [ebp - 0x1994], edx
mov edx, dword [ebp - 0x1998]
mov dword [ebp - 0x1990], edx
lea edx, [ebp - 0x1984]
push dword [ecx + 4]
push dword [ecx]
push eax
push edx
mov ecx, dword [ebp - 0x1988]
push ecx
mov eax, dword [ebp - 0x198c]
push eax
call fcn.0040ea64
add esp, 0x18
jmp 0x418fdd
mov edx, dword [ebp - 0x192c]
mov dword [ebp - 0x19a0], edx
mov ecx, dword [ebp - 0x17a0]
shl ecx, 2
add ecx, dword [ebp - 0x110]
mov dword [ebp - 0x19a4], ecx
lea ecx, [ebp - 0x19b0]
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x19a8], eax
lea eax, [ebp - 0x120]
mov edx, dword [ebp - 0x19b8]
mov dword [ebp - 0x19b0], edx
mov edx, dword [ebp - 0x19b4]
mov dword [ebp - 0x19ac], edx
push dword [ecx + 4]
push dword [ecx]
push eax
mov edx, dword [ebp - 0x19a0]
push edx
mov ecx, dword [ebp - 0x19a4]
push ecx
mov eax, dword [ebp - 0x19a8]
push eax
call fcn.0040e9d4
mov edx, dword [ebp - 0x1924]
add esp, 0x18
mov dword [ebp - 0x19bc], edx
mov ecx, dword [ebp - 0x1920]
shl ecx, 2
add ecx, dword [ebp - 0x110]
mov dword [ebp - 0x19c0], ecx
lea ecx, [ebp - 0x19cc]
mov eax, dword [ebp - 0x17a0]
shl eax, 2
add eax, dword [ebp - 0x110]
mov dword [ebp - 0x19c4], eax
lea eax, [ebp - 0x120]
mov edx, dword [ebp - 0x19d4]
mov dword [ebp - 0x19cc], edx
mov edx, dword [ebp - 0x19d0]
mov dword [ebp - 0x19c8], edx
push dword [ecx + 4]
push dword [ecx]
push eax
mov edx, dword [ebp - 0x19bc]
push edx
mov ecx, dword [ebp - 0x19c0]
push ecx
mov eax, dword [ebp - 0x19c4]
push eax
call fcn.0040e9d4
add esp, 0x18
mov dword [ebp - 0x192c], eax
xor edx, edx
mov dword [ebp - 0x19d8], edx
lea edx, [ebp - 0x19e4]
mov ecx, dword [ebp - 0x192c]
mov dword [ebp - 0x19dc], ecx
mov eax, dword [ebp - 0x19ec]
mov dword [ebp - 0x19e4], eax
mov eax, dword [ebp - 0x19e8]
mov dword [ebp - 0x19e0], eax
lea eax, [ebp - 0x120]
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0x19d8]
push eax
push edx
mov ecx, dword [ebp - 0x17a0]
push ecx
mov eax, dword [ebp - 0x19dc]
push eax
call fcn.0040ea64
add esp, 0x18
mov edx, dword [ebp - 0x10c]
shl edx, 2
add edx, dword [ebp - 0x110]
mov dword [ebp - 0x19f0], edx
lea edx, [ebp - 0x19fc]
mov ecx, dword [ebp - 0x1920]
shl ecx, 2
add ecx, dword [ebp - 0x110]
mov dword [ebp - 0x19f4], ecx
mov eax, dword [ebp - 0x1a04]
mov dword [ebp - 0x19fc], eax
mov eax, dword [ebp - 0x1a00]
mov dword [ebp - 0x19f8], eax
lea eax, [ebp - 0x120]
push dword [edx + 4]
push dword [edx]
push eax
mov edx, dword [ebp - 0x19f0]
push edx
mov ecx, dword [ebp - 0x19f4]
push ecx
call fcn.0040eaf0
add esp, 0x14
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x1a08], eax
mov edx, dword [ebp - 0x1a08]
push edx
call fcn.00597660
pop ecx
mov ecx, dword [ebp - 0x1924]
mov dword [ebp - 0x110], ecx
mov eax, dword [ebp - 0x17a0]
add dword [ebp - 0x10c], eax
mov edx, dword [ebp - 0x108]
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x1a0c], edx
mov ecx, dword [ebp - 0x1a0c]
shr ecx, 4
mov dword [ebp - 0x1a10], ecx
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x1a10]
ja 0x4190b3
mov edx, dword [ebp - 0x10c]
sub dword [ebp - 0x1a10], edx
mov ecx, dword [ebp - 0x110]
mov ebx, dword [ebp - 0x1a10]
cmp dword [ecx + ebx*4], 0
jne 0x4190dc
push 0x10
call fcn.0059cd68
pop ecx
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x1a10]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x1a10]
mov ecx, dword [ebp - 0x1a0c]
and ecx, 0xf
mov eax, dword [eax + edx*4]
add eax, ecx
mov dword [ebp - 0x1a14], eax
mov eax, dword [ebp - 0x1a14]
mov dword [ebp - 0x1a18], eax
mov edx, dword [ebp - 0x1a18]
push edx
push 1
call fcn.0040eb08
mov dword [ebp - 0x1a1c], eax
add esp, 8
mov ecx, dword [ebp - 0x179c]
mov edx, dword [ebp - 0x1a1c]
mov al, byte [ecx]
mov byte [edx], al
inc dword [ebp - 0x104]
inc dword [ebp - 0x1218]
mov ecx, dword [ebp - 0x1218]
cmp ecx, dword [ebp - 0xa4]
jb 0x414f7c
lea eax, [ebp - 0xc8]
lea edx, [ebp - 0x100]
cmp eax, edx
je 0x419564
cmp dword [ebp - 0xdc], 0
jne 0x41917c
lea ecx, [ebp - 0xc8]
push ecx
call fcn.0040eb2c
pop ecx
jmp 0x419564
mov eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xa4]
ja 0x419302
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x1a20], edx
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x1a24], ecx
lea ecx, [ebp - 0x100]
mov eax, dword [ebp - 0x1a20]
mov dword [ebp - 0x2cc0], eax
mov edx, dword [ebp - 0x1a24]
mov dword [ebp - 0x2cbc], edx
mov dword [ebp - 0x1a28], ecx
mov eax, dword [ebp - 0xe0]
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0x1a2c], eax
lea eax, [ebp - 0x100]
mov edx, dword [ebp - 0x1a28]
mov dword [ebp - 0x2cd0], edx
mov ecx, dword [ebp - 0x1a2c]
mov dword [ebp - 0x2ccc], ecx
mov dword [ebp - 0x1a30], eax
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x1a34], edx
mov ecx, dword [ebp - 0x1a30]
mov dword [ebp - 0x2ce0], ecx
lea ecx, [ebp - 0x1a3c]
mov eax, dword [ebp - 0x1a34]
mov dword [ebp - 0x2cdc], eax
mov edx, dword [ebp - 0x1a44]
mov dword [ebp - 0x1a3c], edx
mov edx, dword [ebp - 0x1a40]
mov dword [ebp - 0x1a38], edx
push dword [ecx + 4]
push dword [ecx]
add esp, 0xfffffff0
mov eax, dword [ebp - 0x2cc0]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2cbc]
mov dword [esp + 0xc], edx
add esp, 0xfffffff0
mov ecx, dword [ebp - 0x2cd0]
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x2ccc]
mov dword [esp + 0xc], eax
add esp, 0xfffffff0
mov edx, dword [ebp - 0x2ce0]
lea eax, [ebp - 0x2cf8]
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x2cdc]
mov dword [esp + 0xc], ecx
push eax
call fcn.00422770
lea edx, [ebp - 0xc8]
add esp, 0x3c
mov dword [ebp - 0x1a48], edx
add esp, 0xfffffff0
mov ecx, dword [ebp - 0xa8]
add ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x1a4c], ecx
mov eax, dword [ebp - 0x1a48]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x1a4c]
mov dword [esp + 0xc], edx
add esp, 0xfffffff0
mov ecx, dword [ebp - 0x2cf0]
lea edx, [ebp - 0xc8]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x2d08]
mov eax, dword [ebp - 0x2cec]
mov dword [esp + 0xc], eax
push edx
push ecx
call fcn.00422504
add esp, 0x28
jmp 0x419564
mov eax, dword [ebp - 0xa4]
lea edx, [ebp - 0x100]
mov dword [ebp - 0x1a50], eax
mov dword [ebp - 0x1a54], edx
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x1a58], ecx
mov eax, dword [ebp - 0x1a54]
mov dword [ebp - 0x2d10], eax
mov edx, dword [ebp - 0x1a58]
mov dword [ebp - 0x2d0c], edx
mov ecx, dword [ebp - 0x2d10]
mov dword [ebp - 0x2d20], ecx
mov eax, dword [ebp - 0x2d0c]
mov dword [ebp - 0x2d1c], eax
mov edx, dword [ebp - 0x1a50]
add dword [ebp - 0x2d1c], edx
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 0x2d20]
mov dword [ebp - 0x2d30], ecx
mov eax, dword [ebp - 0x2d1c]
mov dword [ebp - 0x2d2c], eax
mov dword [ebp - 0x1a5c], edx
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x1a60], ecx
mov eax, dword [ebp - 0x1a5c]
mov dword [ebp - 0x2d40], eax
mov edx, dword [ebp - 0x1a60]
mov dword [ebp - 0x2d3c], edx
lea edx, [ebp - 0x100]
mov ecx, dword [ebp - 0x2d30]
mov dword [ebp - 0x2d50], ecx
mov eax, dword [ebp - 0x2d2c]
mov dword [ebp - 0x2d4c], eax
mov dword [ebp - 0x1a64], edx
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x1a68], ecx
mov eax, dword [ebp - 0x1a64]
mov dword [ebp - 0x2d60], eax
lea eax, [ebp - 0x1a70]
mov edx, dword [ebp - 0x1a68]
mov dword [ebp - 0x2d5c], edx
mov ecx, dword [ebp - 0x1a78]
mov dword [ebp - 0x1a70], ecx
mov ecx, dword [ebp - 0x1a74]
mov dword [ebp - 0x1a6c], ecx
push dword [eax + 4]
push dword [eax]
add esp, 0xfffffff0
mov ecx, dword [ebp - 0x2d40]
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x2d3c]
mov dword [esp + 0xc], eax
add esp, 0xfffffff0
mov edx, dword [ebp - 0x2d50]
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x2d4c]
mov dword [esp + 0xc], ecx
add esp, 0xfffffff0
mov eax, dword [ebp - 0x2d60]
lea ecx, [ebp - 0x2d78]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2d5c]
mov dword [esp + 0xc], edx
push ecx
call fcn.00422770
lea eax, [ebp - 0x100]
add esp, 0x3c
mov dword [ebp - 0x1a7c], eax
mov edx, dword [ebp - 0xe0]
add edx, dword [ebp - 0xdc]
mov dword [ebp - 0x1a80], edx
mov ecx, dword [ebp - 0x1a7c]
mov dword [ebp - 0x2d80], ecx
mov eax, dword [ebp - 0x1a80]
mov dword [ebp - 0x2d7c], eax
lea eax, [ebp - 0xc8]
mov edx, dword [ebp - 0x2d30]
mov dword [ebp - 0x2d90], edx
mov ecx, dword [ebp - 0x2d2c]
mov dword [ebp - 0x2d8c], ecx
mov dword [ebp - 0x1a84], eax
mov edx, dword [ebp - 0xa8]
add edx, dword [ebp - 0xa4]
mov dword [ebp - 0x1a88], edx
mov ecx, dword [ebp - 0x1a84]
mov dword [ebp - 0x2da0], ecx
lea ecx, [ebp - 0x1a90]
mov eax, dword [ebp - 0x1a88]
mov dword [ebp - 0x2d9c], eax
mov edx, dword [ebp - 0x1a98]
mov dword [ebp - 0x1a90], edx
mov edx, dword [ebp - 0x1a94]
mov dword [ebp - 0x1a8c], edx
push dword [ecx + 4]
push dword [ecx]
add esp, 0xfffffff0
mov eax, dword [ebp - 0x2d80]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2d7c]
mov dword [esp + 0xc], edx
add esp, 0xfffffff0
mov ecx, dword [ebp - 0x2d90]
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x2d8c]
mov dword [esp + 0xc], eax
add esp, 0xfffffff0
mov edx, dword [ebp - 0x2da0]
lea eax, [ebp - 0xc8]
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x2d9c]
mov dword [esp + 0xc], ecx
push eax
call fcn.00422804
add esp, 0x3c
mov word [ebp - 0x6b8], 0x108
lea edx, [ebp - 0x1aa0]
push edx
call fcn.0042800c
pop ecx
lea ecx, [ebp - 0x1aa0]
push ecx
lea eax, [ebp - 0x1aa8]
push eax
call fcn.00428034
add esp, 8
lea edx, [ebp - 0x1aa8]
push edx
lea ecx, [ebp - 0x148]
push ecx
call fcn.0042805c
add esp, 8
lea eax, [ebp - 0x1aa0]
push eax
lea edx, [ebp - 0x140]
push edx
call fcn.00428034
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x138], ecx
xor edx, edx
mov dword [ebp - 0x134], eax
xor ecx, ecx
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], ecx
inc dword [ebp - 0x6ac]
add esp, 8
mov word [ebp - 0x6b8], 0xc
cmp byte [ebp + 0x58], 1
jne 0x41e2b6
mov dword [ebp - 0x1aac], 0xffffffff
xor eax, eax
mov dword [ebp - 0x1ab0], eax
mov word [ebp - 0x6b8], 0xc
jmp 0x41ac25
mov edx, dword [ebp - 0x1ab0]
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x1ab4], edx
mov ecx, dword [ebp - 0x1ab4]
mov dword [ebp - 0x1ab8], ecx
mov dword [ebp - 0x1abc], eax
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x1ac0], edx
mov ecx, dword [ebp - 0x1abc]
mov dword [ebp - 0x2db0], ecx
mov eax, dword [ebp - 0x1ac0]
mov dword [ebp - 0x2dac], eax
mov edx, dword [ebp - 0x2db0]
mov dword [ebp - 0x2dc0], edx
mov ecx, dword [ebp - 0x2dac]
mov dword [ebp - 0x2dbc], ecx
mov eax, dword [ebp - 0x1ab8]
add dword [ebp - 0x2dbc], eax
mov edx, dword [ebp - 0x2dc0]
mov dword [ebp - 0x2dd0], edx
mov ecx, dword [ebp - 0x2dbc]
mov dword [ebp - 0x2dcc], ecx
mov eax, dword [ebp - 0x2dcc]
shr eax, 4
mov dword [ebp - 0x1ac4], eax
mov edx, dword [ebp - 0x2dcc]
and edx, 0xf
mov dword [ebp - 0x1ac8], edx
mov ecx, dword [ebp - 0x2dd0]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebp - 0x1ac4]
ja 0x4196d7
mov edx, dword [ebp - 0x2dd0]
mov ecx, dword [edx + 0x1c]
sub dword [ebp - 0x1ac4], ecx
mov eax, dword [ebp - 0x2dd0]
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1ac4]
mov eax, dword [edx + ecx*4]
add eax, dword [ebp - 0x1ac8]
movsx edx, byte [eax]
cmp edx, 0xd
jne 0x41ac1f
mov ecx, dword [ebp - 0x1ab0]
push ecx
lea eax, [ebp - 0xc8]
push eax
call fcn.00404178
add esp, 8
mov dword [ebp - 0x1aac], eax
cmp dword [ebp - 0x1aac], 0xffffffff
je 0x41ac1f
push 8
call fcn.0059cd68
pop ecx
mov dword [ebp - 0x3ac], eax
test eax, eax
je 0x419785
mov word [ebp - 0x6b8], 0x12c
mov edx, dword [ebp - 0x1aac]
mov dword [ebp - 0x1ad0], edx
mov ecx, dword [ebp - 0x1ab0]
mov dword [ebp - 0x1ad4], ecx
mov eax, dword [ebp - 0x3ac]
mov edx, dword [ebp - 0x1ad4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3ac]
mov ebx, dword [ebp - 0x1ad0]
mov dword [ecx + 4], ebx
mov word [ebp - 0x6b8], 0x114
mov eax, dword [ebp - 0x3ac]
jmp 0x41978b
mov eax, dword [ebp - 0x3ac]
mov dword [ebp - 0x1acc], eax
mov edx, dword [ebp - 0x130]
add edx, dword [ebp - 0x12c]
test dl, 1
jne 0x41ab2c
mov ecx, dword [ebp - 0x12c]
add ecx, 2
shr ecx, 1
cmp ecx, dword [ebp - 0x134]
jb 0x41ab2c
mov dword [ebp - 0x1ad8], 1
lea eax, [ebp - 0x140]
push eax
call fcn.00428084
shr eax, 1
pop ecx
sub eax, dword [ebp - 0x134]
cmp eax, dword [ebp - 0x1ad8]
jae 0x41a6b4
lea edx, [ebp - 0x6c8]
lea ecx, [ebp - 0x1ae0]
push edx
push 0
push 0
push 0
push 1
push 0x40e580
push 0
mov word [ebp - 0x6b8], 0x138
push ecx
call fcn.00403e6c
pop ecx
lea eax, [ebp - 0x1ae0]
push eax
lea edx, [ebp - 0x3cc]
push edx
call fcn.00403e94
add esp, 8
mov ecx, 0xf
mov dword [ebp - 0x3b0], ecx
mov byte [ebp - 0x1ae1], 0
cmp dword [ebp - 0x3b0], 0x10
jb 0x41984d
mov eax, dword [ebp - 0x3c4]
jmp 0x419853
lea eax, [ebp - 0x3c4]
xor edx, edx
mov dword [ebp - 0x3b4], edx
add eax, edx
mov dword [ebp - 0x1ae8], eax
mov eax, dword [ebp - 0x1ae8]
mov cl, byte [ebp - 0x1ae1]
mov byte [eax], cl
push 0x5b224c
call fcn.005a2354
pop ecx
mov dword [ebp - 0x1aec], eax
mov eax, 0x5b224c
test eax, eax
je 0x4198cf
cmp dword [ebp - 0x3b0], 0x10
mov edx, 0x5b224c
jb 0x4198a1
mov ecx, dword [ebp - 0x3c4]
jmp 0x4198a7
lea ecx, [ebp - 0x3c4]
cmp edx, ecx
jb 0x4198cf
cmp dword [ebp - 0x3b0], 0x10
jb 0x4198bc
mov eax, dword [ebp - 0x3c4]
jmp 0x4198c2
lea eax, [ebp - 0x3c4]
add eax, dword [ebp - 0x3b4]
cmp eax, 0x5b224c
ja 0x4198d3
xor edx, edx
jmp 0x4198d5
mov dl, 1
test dl, dl
je 0x419e38
cmp dword [ebp - 0x3b0], 0x10
mov eax, 0x5b224c
jb 0x4198f3
mov ecx, dword [ebp - 0x3c4]
jmp 0x4198f9
lea ecx, [ebp - 0x3c4]
sub eax, ecx
mov dword [ebp - 0x1af0], eax
mov eax, dword [ebp - 0x3b4]
cmp eax, dword [ebp - 0x1af0]
jae 0x41991c
lea edx, [ebp - 0x3d4]
push edx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x3b4]
sub eax, dword [ebp - 0x1af0]
mov dword [ebp - 0x1af4], eax
mov edx, dword [ebp - 0x1aec]
cmp edx, dword [ebp - 0x1af4]
jae 0x419948
mov ecx, dword [ebp - 0x1aec]
mov dword [ebp - 0x1af4], ecx
lea eax, [ebp - 0x3d4]
lea edx, [ebp - 0x3d4]
cmp eax, edx
jne 0x419bc0
mov dword [ebp - 0x1af8], 0xffffffff
mov ecx, dword [ebp - 0x1af0]
add ecx, dword [ebp - 0x1af4]
mov dword [ebp - 0x1afc], ecx
mov eax, dword [ebp - 0x3b4]
cmp eax, dword [ebp - 0x1afc]
jae 0x419993
lea edx, [ebp - 0x3d4]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x3b4]
sub ecx, dword [ebp - 0x1afc]
cmp ecx, dword [ebp - 0x1af8]
jae 0x4199b9
mov eax, dword [ebp - 0x3b4]
sub eax, dword [ebp - 0x1afc]
mov dword [ebp - 0x1af8], eax
cmp dword [ebp - 0x1af8], 0
jbe 0x419aa5
mov edx, dword [ebp - 0x3b4]
sub edx, dword [ebp - 0x1afc]
sub edx, dword [ebp - 0x1af8]
mov dword [ebp - 0x1b00], edx
cmp dword [ebp - 0x3b0], 0x10
jb 0x4199ef
mov ecx, dword [ebp - 0x3c4]
jmp 0x4199f5
lea ecx, [ebp - 0x3c4]
add ecx, dword [ebp - 0x1afc]
add ecx, dword [ebp - 0x1af8]
mov dword [ebp - 0x1b04], ecx
cmp dword [ebp - 0x3b0], 0x10
jb 0x419a18
mov eax, dword [ebp - 0x3c4]
jmp 0x419a1e
lea eax, [ebp - 0x3c4]
add eax, dword [ebp - 0x1afc]
mov dword [ebp - 0x1b08], eax
mov edx, dword [ebp - 0x1b00]
push edx
mov ecx, dword [ebp - 0x1b04]
push ecx
mov eax, dword [ebp - 0x1b08]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x3b4]
sub edx, dword [ebp - 0x1af8]
mov dword [ebp - 0x1b0c], edx
mov ecx, dword [ebp - 0x1b0c]
mov dword [ebp - 0x1b10], ecx
mov byte [ebp - 0x1b11], 0
cmp dword [ebp - 0x3b0], 0x10
jb 0x419a7d
mov eax, dword [ebp - 0x3c4]
jmp 0x419a83
lea eax, [ebp - 0x3c4]
mov edx, dword [ebp - 0x1b10]
mov dword [ebp - 0x3b4], edx
add eax, edx
mov dword [ebp - 0x1b18], eax
mov eax, dword [ebp - 0x1b18]
mov cl, byte [ebp - 0x1b11]
mov byte [eax], cl
mov eax, dword [ebp - 0x1af0]
mov dword [ebp - 0x1b1c], eax
cmp dword [ebp - 0x3b4], 0
jae 0x419ac7
lea edx, [ebp - 0x3d4]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x3b4]
cmp ecx, dword [ebp - 0x1b1c]
jae 0x419ae1
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x1b1c], eax
cmp dword [ebp - 0x1b1c], 0
jbe 0x419e2d
mov edx, dword [ebp - 0x3b4]
sub edx, dword [ebp - 0x1b1c]
mov dword [ebp - 0x1b20], edx
cmp dword [ebp - 0x3b0], 0x10
jb 0x419b11
mov ecx, dword [ebp - 0x3c4]
jmp 0x419b17
lea ecx, [ebp - 0x3c4]
add ecx, dword [ebp - 0x1b1c]
mov dword [ebp - 0x1b24], ecx
cmp dword [ebp - 0x3b0], 0x10
jb 0x419b34
mov eax, dword [ebp - 0x3c4]
jmp 0x419b3a
lea eax, [ebp - 0x3c4]
mov dword [ebp - 0x1b28], eax
mov edx, dword [ebp - 0x1b20]
push edx
mov ecx, dword [ebp - 0x1b24]
push ecx
mov eax, dword [ebp - 0x1b28]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x3b4]
sub edx, dword [ebp - 0x1b1c]
mov dword [ebp - 0x1b2c], edx
mov ecx, dword [ebp - 0x1b2c]
mov dword [ebp - 0x1b30], ecx
mov byte [ebp - 0x1b31], 0
cmp dword [ebp - 0x3b0], 0x10
jb 0x419b93
mov eax, dword [ebp - 0x3c4]
jmp 0x419b99
lea eax, [ebp - 0x3c4]
mov edx, dword [ebp - 0x1b30]
mov dword [ebp - 0x3b4], edx
add eax, edx
mov dword [ebp - 0x1b38], eax
mov eax, dword [ebp - 0x1b38]
mov cl, byte [ebp - 0x1b31]
mov byte [eax], cl
jmp 0x419e2d
mov eax, dword [ebp - 0x1af4]
mov dword [ebp - 0x1b3c], eax
lea edx, [ebp - 0x3cc]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x1b40], eax
cmp dword [ebp - 0x1b40], 1
ja 0x419bef
mov ecx, 1
jmp 0x419bf6
mov ecx, dword [ebp - 0x1b40]
dec ecx
cmp ecx, dword [ebp - 0x1b3c]
jae 0x419c0b
lea eax, [ebp - 0x3d4]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x3b0]
cmp edx, dword [ebp - 0x1b3c]
jae 0x419d1e
mov eax, dword [ebp - 0x3b4]
push eax
mov edx, dword [ebp - 0x1b3c]
push edx
lea ecx, [ebp - 0x3d4]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x419d63
cmp dword [ebp - 0x1b3c], 0
jne 0x419d63
mov byte [ebp - 0x1b59], 0
cmp dword [ebp - 0x3b0], 0x10
jb 0x419d3f
mov eax, dword [ebp - 0x3c4]
jmp 0x419d45
lea eax, [ebp - 0x3c4]
xor edx, edx
mov dword [ebp - 0x3b4], edx
add eax, edx
mov dword [ebp - 0x1b60], eax
mov eax, dword [ebp - 0x1b60]
mov cl, byte [ebp - 0x1b59]
mov byte [eax], cl
cmp dword [ebp - 0x1b3c], 0
seta al
and eax, 1
test al, al
je 0x419e2d
mov edx, dword [ebp - 0x1af4]
mov dword [ebp - 0x1b64], edx
cmp dword [ebp - 0x3b0], 0x10
jb 0x419d95
mov ecx, dword [ebp - 0x3c4]
jmp 0x419d9b
lea ecx, [ebp - 0x3c4]
add ecx, dword [ebp - 0x1af0]
mov dword [ebp - 0x1b68], ecx
cmp dword [ebp - 0x3b0], 0x10
jb 0x419db8
mov eax, dword [ebp - 0x3c4]
jmp 0x419dbe
lea eax, [ebp - 0x3c4]
mov dword [ebp - 0x1b6c], eax
mov edx, dword [ebp - 0x1b64]
push edx
mov ecx, dword [ebp - 0x1b68]
push ecx
mov eax, dword [ebp - 0x1b6c]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0x1af4]
mov dword [ebp - 0x1b70], edx
mov byte [ebp - 0x1b71], 0
cmp dword [ebp - 0x3b0], 0x10
jb 0x419e05
mov ecx, dword [ebp - 0x3c4]
jmp 0x419e0b
lea ecx, [ebp - 0x3c4]
mov eax, dword [ebp - 0x1b70]
mov dword [ebp - 0x3b4], eax
add ecx, eax
mov dword [ebp - 0x1b78], ecx
mov edx, dword [ebp - 0x1b78]
mov cl, byte [ebp - 0x1b71]
mov byte [edx], cl
lea eax, [ebp - 0x3d4]
jmp 0x41a05e
lea edx, [ebp - 0x3cc]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x1b7c], eax
cmp dword [ebp - 0x1b7c], 1
ja 0x419e5b
mov ecx, 1
jmp 0x419e62
mov ecx, dword [ebp - 0x1b7c]
dec ecx
cmp ecx, dword [ebp - 0x1aec]
jae 0x419e77
lea eax, [ebp - 0x3d4]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x3b0]
cmp edx, dword [ebp - 0x1aec]
jae 0x419f8a
mov eax, dword [ebp - 0x3b4]
push eax
mov edx, dword [ebp - 0x1aec]
push edx
lea ecx, [ebp - 0x3d4]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x419fcf
cmp dword [ebp - 0x1aec], 0
jne 0x419fcf
mov byte [ebp - 0x1b95], 0
cmp dword [ebp - 0x3b0], 0x10
jb 0x419fab
mov eax, dword [ebp - 0x3c4]
jmp 0x419fb1
lea eax, [ebp - 0x3c4]
xor edx, edx
mov dword [ebp - 0x3b4], edx
add eax, edx
mov dword [ebp - 0x1b9c], eax
mov eax, dword [ebp - 0x1b9c]
mov cl, byte [ebp - 0x1b95]
mov byte [eax], cl
cmp dword [ebp - 0x1aec], 0
seta al
and eax, 1
test al, al
je 0x41a058
cmp dword [ebp - 0x3b0], 0x10
jb 0x419ff1
mov edx, dword [ebp - 0x3c4]
jmp 0x419ff7
lea edx, [ebp - 0x3c4]
mov dword [ebp - 0x1ba0], edx
mov eax, dword [ebp - 0x1aec]
push eax
push 0x5b224c
mov ecx, dword [ebp - 0x1ba0]
push ecx
call fcn.005a2008
add esp, 0xc
mov byte [ebp - 0x1ba1], 0
cmp dword [ebp - 0x3b0], 0x10
jb 0x41a030
mov eax, dword [ebp - 0x3c4]
jmp 0x41a036
lea eax, [ebp - 0x3c4]
mov edx, dword [ebp - 0x1aec]
mov dword [ebp - 0x3b4], edx
add eax, edx
mov dword [ebp - 0x1ba8], eax
mov eax, dword [ebp - 0x1ba8]
mov cl, byte [ebp - 0x1ba1]
mov byte [eax], cl
lea eax, [ebp - 0x3d4]
inc dword [ebp - 0x6ac]
lea edx, [ebp - 0x3a8]
push edx
call fcn.0040e9a4
pop ecx
inc dword [ebp - 0x6ac]
mov ecx, 0x5b5464
mov dword [ebp - 0x3a8], ecx
lea eax, [ebp - 0x3cc]
push eax
lea edx, [ebp - 0x1bb0]
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0x1bb0]
push ecx
lea eax, [ebp - 0x398]
push eax
call fcn.00403e94
add esp, 8
mov edx, 0xf
mov dword [ebp - 0x37c], edx
mov byte [ebp - 0x1bb1], 0
cmp dword [ebp - 0x37c], 0x10
jb 0x41a0d1
mov ecx, dword [ebp - 0x390]
jmp 0x41a0d7
lea ecx, [ebp - 0x390]
xor eax, eax
mov dword [ebp - 0x380], eax
add ecx, eax
mov dword [ebp - 0x1bb8], ecx
mov edx, dword [ebp - 0x1bb8]
mov cl, byte [ebp - 0x1bb1]
mov byte [edx], cl
cmp dword [ebp - 0x3b4], 0
jae 0x41a10b
lea eax, [ebp - 0x3a0]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x3b4]
mov dword [ebp - 0x1bbc], edx
cmp dword [ebp - 0x1bbc], 0xffffffff
jbe 0x41a12a
mov dword [ebp - 0x1bbc], 0xffffffff
lea ecx, [ebp - 0x3a0]
lea ebx, [ebp - 0x3d4]
cmp ecx, ebx
jne 0x41a398
mov dword [ebp - 0x1bc0], 0xffffffff
mov eax, dword [ebp - 0x1bbc]
mov dword [ebp - 0x1bc4], eax
mov edx, dword [ebp - 0x380]
cmp edx, dword [ebp - 0x1bc4]
jae 0x41a16f
lea ecx, [ebp - 0x3a0]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x380]
sub eax, dword [ebp - 0x1bc4]
cmp eax, dword [ebp - 0x1bc0]
jae 0x41a195
mov edx, dword [ebp - 0x380]
sub edx, dword [ebp - 0x1bc4]
mov dword [ebp - 0x1bc0], edx
cmp dword [ebp - 0x1bc0], 0
jbe 0x41a281
mov ecx, dword [ebp - 0x380]
sub ecx, dword [ebp - 0x1bc4]
sub ecx, dword [ebp - 0x1bc0]
mov dword [ebp - 0x1bc8], ecx
cmp dword [ebp - 0x37c], 0x10
jb 0x41a1cb
mov eax, dword [ebp - 0x390]
jmp 0x41a1d1
lea eax, [ebp - 0x390]
add eax, dword [ebp - 0x1bc4]
add eax, dword [ebp - 0x1bc0]
mov dword [ebp - 0x1bcc], eax
cmp dword [ebp - 0x37c], 0x10
jb 0x41a1f4
mov edx, dword [ebp - 0x390]
jmp 0x41a1fa
lea edx, [ebp - 0x390]
add edx, dword [ebp - 0x1bc4]
mov dword [ebp - 0x1bd0], edx
mov eax, dword [ebp - 0x1bc8]
push eax
mov ecx, dword [ebp - 0x1bcc]
push ecx
mov eax, dword [ebp - 0x1bd0]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x380]
sub edx, dword [ebp - 0x1bc0]
mov dword [ebp - 0x1bd4], edx
mov ecx, dword [ebp - 0x1bd4]
mov dword [ebp - 0x1bd8], ecx
mov byte [ebp - 0x1bd9], 0
cmp dword [ebp - 0x37c], 0x10
jb 0x41a259
mov eax, dword [ebp - 0x390]
jmp 0x41a25f
lea eax, [ebp - 0x390]
mov edx, dword [ebp - 0x1bd8]
mov dword [ebp - 0x380], edx
add eax, edx
mov dword [ebp - 0x1be0], eax
mov eax, dword [ebp - 0x1be0]
mov cl, byte [ebp - 0x1bd9]
mov byte [eax], cl
xor eax, eax
mov dword [ebp - 0x1be4], eax
cmp dword [ebp - 0x380], 0
jae 0x41a29f
lea edx, [ebp - 0x3a0]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x380]
cmp ecx, dword [ebp - 0x1be4]
jae 0x41a2b9
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x1be4], eax
cmp dword [ebp - 0x1be4], 0
jbe 0x41a5ff
mov edx, dword [ebp - 0x380]
sub edx, dword [ebp - 0x1be4]
mov dword [ebp - 0x1be8], edx
cmp dword [ebp - 0x37c], 0x10
jb 0x41a2e9
mov ecx, dword [ebp - 0x390]
jmp 0x41a2ef
lea ecx, [ebp - 0x390]
add ecx, dword [ebp - 0x1be4]
mov dword [ebp - 0x1bec], ecx
cmp dword [ebp - 0x37c], 0x10
jb 0x41a30c
mov eax, dword [ebp - 0x390]
jmp 0x41a312
lea eax, [ebp - 0x390]
mov dword [ebp - 0x1bf0], eax
mov edx, dword [ebp - 0x1be8]
push edx
mov ecx, dword [ebp - 0x1bec]
push ecx
mov eax, dword [ebp - 0x1bf0]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x380]
sub edx, dword [ebp - 0x1be4]
mov dword [ebp - 0x1bf4], edx
mov ecx, dword [ebp - 0x1bf4]
mov dword [ebp - 0x1bf8], ecx
mov byte [ebp - 0x1bf9], 0
cmp dword [ebp - 0x37c], 0x10
jb 0x41a36b
mov eax, dword [ebp - 0x390]
jmp 0x41a371
lea eax, [ebp - 0x390]
mov edx, dword [ebp - 0x1bf8]
mov dword [ebp - 0x380], edx
add eax, edx
mov dword [ebp - 0x1c00], eax
mov eax, dword [ebp - 0x1c00]
mov cl, byte [ebp - 0x1bf9]
mov byte [eax], cl
jmp 0x41a5ff
mov eax, dword [ebp - 0x1bbc]
mov dword [ebp - 0x1c04], eax
lea edx, [ebp - 0x398]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x1c08], eax
cmp dword [ebp - 0x1c08], 1
ja 0x41a3c7
mov ecx, 1
jmp 0x41a3ce
mov ecx, dword [ebp - 0x1c08]
dec ecx
cmp ecx, dword [ebp - 0x1c04]
jae 0x41a3e3
lea eax, [ebp - 0x3a0]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x37c]
cmp edx, dword [ebp - 0x1c04]
jae 0x41a4f6
mov eax, dword [ebp - 0x380]
push eax
mov edx, dword [ebp - 0x1c04]
push edx
lea ecx, [ebp - 0x3a0]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x41a53b
cmp dword [ebp - 0x1c04], 0
jne 0x41a53b
mov byte [ebp - 0x1c21], 0
cmp dword [ebp - 0x37c], 0x10
jb 0x41a517
mov eax, dword [ebp - 0x390]
jmp 0x41a51d
lea eax, [ebp - 0x390]
xor edx, edx
mov dword [ebp - 0x380], edx
add eax, edx
mov dword [ebp - 0x1c28], eax
mov eax, dword [ebp - 0x1c28]
mov cl, byte [ebp - 0x1c21]
mov byte [eax], cl
cmp dword [ebp - 0x1c04], 0
seta al
and eax, 1
test al, al
je 0x41a5ff
mov edx, dword [ebp - 0x1bbc]
mov dword [ebp - 0x1c2c], edx
cmp dword [ebp - 0x3b0], 0x10
jb 0x41a56d
mov ecx, dword [ebp - 0x3c4]
jmp 0x41a573
lea ecx, [ebp - 0x3c4]
mov dword [ebp - 0x1c30], ecx
cmp dword [ebp - 0x37c], 0x10
jb 0x41a58a
mov eax, dword [ebp - 0x390]
jmp 0x41a590
lea eax, [ebp - 0x390]
mov dword [ebp - 0x1c34], eax
mov edx, dword [ebp - 0x1c2c]
push edx
mov ecx, dword [ebp - 0x1c30]
push ecx
mov eax, dword [ebp - 0x1c34]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0x1bbc]
mov dword [ebp - 0x1c38], edx
mov byte [ebp - 0x1c39], 0
cmp dword [ebp - 0x37c], 0x10
jb 0x41a5d7
mov ecx, dword [ebp - 0x390]
jmp 0x41a5dd
lea ecx, [ebp - 0x390]
mov eax, dword [ebp - 0x1c38]
mov dword [ebp - 0x380], eax
add ecx, eax
mov dword [ebp - 0x1c40], ecx
mov edx, dword [ebp - 0x1c40]
mov cl, byte [ebp - 0x1c39]
mov byte [edx], cl
inc dword [ebp - 0x6ac]
inc dword [ebp - 0x6ac]
mov eax, 0x5b5478
mov dword [ebp - 0x3a8], eax
inc dword [ebp - 0x6ac]
dec dword [ebp - 0x6ac]
cmp dword [ebp - 0x3b0], 0x10
jb 0x41a650
mov edx, dword [ebp - 0x3c4]
mov dword [ebp - 0x1c44], edx
mov ecx, dword [ebp - 0x1c44]
mov dword [ebp - 0x1c48], ecx
mov eax, dword [ebp - 0x1c48]
push eax
call fcn.00597660
pop ecx
mov edx, 0xf
mov dword [ebp - 0x3b0], edx
mov byte [ebp - 0x1c49], 0
cmp dword [ebp - 0x3b0], 0x10
jb 0x41a673
mov ecx, dword [ebp - 0x3c4]
jmp 0x41a679
lea ecx, [ebp - 0x3c4]
xor eax, eax
add ecx, eax
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x1c50], ecx
lea eax, [ebp - 0x3a8]
mov edx, dword [ebp - 0x1c50]
mov cl, byte [ebp - 0x1c49]
mov byte [edx], cl
mov word [ebp - 0x6b8], 0x114
push eax
push 0x40e524
call fcn.005af81c
add esp, 0x24
mov edx, dword [ebp - 0x134]
shr edx, 1
mov dword [ebp - 0x1c54], edx
cmp dword [ebp - 0x1c54], 8
jae 0x41a6d5
mov dword [ebp - 0x1c54], 8
mov ecx, dword [ebp - 0x1ad8]
cmp ecx, dword [ebp - 0x1c54]
jae 0x41a70c
lea eax, [ebp - 0x140]
push eax
call fcn.00428084
shr eax, 1
pop ecx
sub eax, dword [ebp - 0x1c54]
cmp eax, dword [ebp - 0x134]
jb 0x41a70c
mov edx, dword [ebp - 0x1c54]
mov dword [ebp - 0x1ad8], edx
mov ecx, dword [ebp - 0x130]
shr ecx, 1
mov dword [ebp - 0x1c58], ecx
mov eax, dword [ebp - 0x134]
add eax, dword [ebp - 0x1ad8]
mov dword [ebp - 0x1c60], eax
mov edx, dword [ebp - 0x1c60]
shl edx, 2
push edx
call fcn.0059cd68
pop ecx
mov dword [ebp - 0x1c5c], eax
mov ecx, dword [ebp - 0x1c58]
shl ecx, 2
add ecx, dword [ebp - 0x1c5c]
mov dword [ebp - 0x1c64], ecx
mov eax, dword [ebp - 0x1c64]
mov dword [ebp - 0x1c68], eax
mov edx, dword [ebp - 0x134]
shl edx, 2
add edx, dword [ebp - 0x138]
mov dword [ebp - 0x1c6c], edx
lea edx, [ebp - 0x1c78]
mov ecx, dword [ebp - 0x1c58]
shl ecx, 2
add ecx, dword [ebp - 0x138]
mov dword [ebp - 0x1c70], ecx
mov eax, dword [ebp - 0x1c80]
mov dword [ebp - 0x1c78], eax
mov eax, dword [ebp - 0x1c7c]
mov dword [ebp - 0x1c74], eax
lea eax, [ebp - 0x148]
push dword [edx + 4]
push dword [edx]
push eax
mov edx, dword [ebp - 0x1c68]
push edx
mov ecx, dword [ebp - 0x1c6c]
push ecx
mov eax, dword [ebp - 0x1c70]
push eax
call fcn.004280b0
add esp, 0x18
mov dword [ebp - 0x1c64], eax
mov edx, dword [ebp - 0x1c58]
cmp edx, dword [ebp - 0x1ad8]
ja 0x41a93f
mov ecx, dword [ebp - 0x1c64]
mov dword [ebp - 0x1c84], ecx
mov eax, dword [ebp - 0x1c58]
shl eax, 2
add eax, dword [ebp - 0x138]
mov dword [ebp - 0x1c88], eax
lea eax, [ebp - 0x1c94]
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x1c8c], edx
mov ecx, dword [ebp - 0x1c9c]
mov dword [ebp - 0x1c94], ecx
mov ecx, dword [ebp - 0x1c98]
mov dword [ebp - 0x1c90], ecx
lea ecx, [ebp - 0x148]
push dword [eax + 4]
push dword [eax]
push ecx
mov eax, dword [ebp - 0x1c84]
push eax
mov edx, dword [ebp - 0x1c88]
push edx
mov ecx, dword [ebp - 0x1c8c]
push ecx
call fcn.004280b0
mov dword [ebp - 0x1c64], eax
xor eax, eax
mov dword [ebp - 0x1ca0], eax
add esp, 0x18
mov edx, dword [ebp - 0x1ad8]
sub edx, dword [ebp - 0x1c58]
mov dword [ebp - 0x1ca4], edx
lea edx, [ebp - 0x1cb0]
mov ecx, dword [ebp - 0x1c64]
mov dword [ebp - 0x1ca8], ecx
mov eax, dword [ebp - 0x1cb8]
mov dword [ebp - 0x1cb0], eax
mov eax, dword [ebp - 0x1cb4]
mov dword [ebp - 0x1cac], eax
lea eax, [ebp - 0x148]
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0x1ca0]
push eax
push edx
mov ecx, dword [ebp - 0x1ca4]
push ecx
mov eax, dword [ebp - 0x1ca8]
push eax
call fcn.00428140
add esp, 0x18
xor edx, edx
mov dword [ebp - 0x1cbc], edx
mov ecx, dword [ebp - 0x1c58]
mov dword [ebp - 0x1cc0], ecx
lea ecx, [ebp - 0x1ccc]
mov eax, dword [ebp - 0x1c5c]
mov dword [ebp - 0x1cc4], eax
lea eax, [ebp - 0x148]
mov edx, dword [ebp - 0x1cd4]
mov dword [ebp - 0x1ccc], edx
mov edx, dword [ebp - 0x1cd0]
mov dword [ebp - 0x1cc8], edx
lea edx, [ebp - 0x1cbc]
push dword [ecx + 4]
push dword [ecx]
push eax
push edx
mov ecx, dword [ebp - 0x1cc0]
push ecx
mov eax, dword [ebp - 0x1cc4]
push eax
call fcn.00428140
add esp, 0x18
jmp 0x41aa91
mov edx, dword [ebp - 0x1c64]
mov dword [ebp - 0x1cd8], edx
mov ecx, dword [ebp - 0x1ad8]
shl ecx, 2
add ecx, dword [ebp - 0x138]
mov dword [ebp - 0x1cdc], ecx
lea ecx, [ebp - 0x1ce8]
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x1ce0], eax
lea eax, [ebp - 0x148]
mov edx, dword [ebp - 0x1cf0]
mov dword [ebp - 0x1ce8], edx
mov edx, dword [ebp - 0x1cec]
mov dword [ebp - 0x1ce4], edx
push dword [ecx + 4]
push dword [ecx]
push eax
mov edx, dword [ebp - 0x1cd8]
push edx
mov ecx, dword [ebp - 0x1cdc]
push ecx
mov eax, dword [ebp - 0x1ce0]
push eax
call fcn.004280b0
mov edx, dword [ebp - 0x1c5c]
add esp, 0x18
mov dword [ebp - 0x1cf4], edx
mov ecx, dword [ebp - 0x1c58]
shl ecx, 2
add ecx, dword [ebp - 0x138]
mov dword [ebp - 0x1cf8], ecx
lea ecx, [ebp - 0x1d04]
mov eax, dword [ebp - 0x1ad8]
shl eax, 2
add eax, dword [ebp - 0x138]
mov dword [ebp - 0x1cfc], eax
lea eax, [ebp - 0x148]
mov edx, dword [ebp - 0x1d0c]
mov dword [ebp - 0x1d04], edx
mov edx, dword [ebp - 0x1d08]
mov dword [ebp - 0x1d00], edx
push dword [ecx + 4]
push dword [ecx]
push eax
mov edx, dword [ebp - 0x1cf4]
push edx
mov ecx, dword [ebp - 0x1cf8]
push ecx
mov eax, dword [ebp - 0x1cfc]
push eax
call fcn.004280b0
add esp, 0x18
mov dword [ebp - 0x1c64], eax
xor edx, edx
mov dword [ebp - 0x1d10], edx
lea edx, [ebp - 0x1d1c]
mov ecx, dword [ebp - 0x1c64]
mov dword [ebp - 0x1d14], ecx
mov eax, dword [ebp - 0x1d24]
mov dword [ebp - 0x1d1c], eax
mov eax, dword [ebp - 0x1d20]
mov dword [ebp - 0x1d18], eax
lea eax, [ebp - 0x148]
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0x1d10]
push eax
push edx
mov ecx, dword [ebp - 0x1ad8]
push ecx
mov eax, dword [ebp - 0x1d14]
push eax
call fcn.00428140
add esp, 0x18
mov edx, dword [ebp - 0x134]
shl edx, 2
add edx, dword [ebp - 0x138]
mov dword [ebp - 0x1d28], edx
lea edx, [ebp - 0x1d34]
mov ecx, dword [ebp - 0x1c58]
shl ecx, 2
add ecx, dword [ebp - 0x138]
mov dword [ebp - 0x1d2c], ecx
mov eax, dword [ebp - 0x1d3c]
mov dword [ebp - 0x1d34], eax
mov eax, dword [ebp - 0x1d38]
mov dword [ebp - 0x1d30], eax
lea eax, [ebp - 0x148]
push dword [edx + 4]
push dword [edx]
push eax
mov edx, dword [ebp - 0x1d28]
push edx
mov ecx, dword [ebp - 0x1d2c]
push ecx
call fcn.004281cc
add esp, 0x14
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x1d40], eax
mov edx, dword [ebp - 0x1d40]
push edx
call fcn.00597660
pop ecx
mov ecx, dword [ebp - 0x1c5c]
mov dword [ebp - 0x138], ecx
mov eax, dword [ebp - 0x1ad8]
add dword [ebp - 0x134], eax
mov edx, dword [ebp - 0x130]
add edx, dword [ebp - 0x12c]
mov dword [ebp - 0x1d44], edx
mov ecx, dword [ebp - 0x1d44]
shr ecx, 1
mov dword [ebp - 0x1d48], ecx
mov eax, dword [ebp - 0x134]
cmp eax, dword [ebp - 0x1d48]
ja 0x41ab66
mov edx, dword [ebp - 0x134]
sub dword [ebp - 0x1d48], edx
mov ecx, dword [ebp - 0x138]
mov ebx, dword [ebp - 0x1d48]
cmp dword [ecx + ebx*4], 0
jne 0x41ab8f
push 0x10
call fcn.0059cd68
pop ecx
mov edx, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x1d48]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x138]
mov edx, dword [ebp - 0x1d48]
mov ecx, dword [ebp - 0x1d44]
and ecx, 1
mov eax, dword [eax + edx*4]
shl ecx, 3
add eax, ecx
mov dword [ebp - 0x1d4c], eax
mov eax, dword [ebp - 0x1d4c]
mov dword [ebp - 0x1d50], eax
mov edx, dword [ebp - 0x1d50]
push edx
push 8
call fcn.0040eb08
add esp, 8
mov dword [ebp - 0x3d8], eax
test eax, eax
je 0x41ac0d
mov word [ebp - 0x6b8], 0x15c
mov edx, dword [ebp - 0x1acc]
mov ebx, dword [ebp - 0x3d8]
mov ecx, dword [edx]
mov dword [ebx], ecx
mov eax, dword [ebp - 0x1acc]
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov word [ebp - 0x6b8], 0x114
inc dword [ebp - 0x12c]
mov eax, dword [ebp - 0x1aac]
mov dword [ebp - 0x1ab0], eax
inc dword [ebp - 0x1ab0]
mov edx, dword [ebp - 0x1ab0]
cmp edx, dword [ebp - 0xa4]
jb 0x419615
cmp dword [ebp - 0x12c], 0
jbe 0x41e2b6
xor ecx, ecx
lea eax, [ebp - 0x1d5c]
mov dword [ebp - 0x1d54], ecx
mov word [ebp - 0x6b8], 0xc
mov word [ebp - 0x6b8], 0x168
push eax
call fcn.00403e6c
pop ecx
lea edx, [ebp - 0x1d5c]
push edx
lea ecx, [ebp - 0x1d64]
push ecx
call fcn.00403e94
add esp, 8
lea eax, [ebp - 0x1d64]
push eax
lea edx, [ebp - 0x3f8]
push edx
call fcn.0040e49c
add esp, 8
lea ecx, [ebp - 0x1d5c]
push ecx
lea eax, [ebp - 0x3f0]
push eax
call fcn.00403e94
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x3e8], edx
xor eax, eax
mov dword [ebp - 0x3e4], ecx
xor edx, edx
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], edx
add esp, 8
inc dword [ebp - 0x6ac]
mov word [ebp - 0x6b8], 0x174
mov dword [ebp - 0x1d68], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x1d6c], ecx
mov word [ebp - 0x6b8], 0x174
jmp 0x41de71
cmp dword [ebp - 0x1d6c], 0
jne 0x41c732
jmp 0x41ad11
inc dword [ebp - 0x1d54]
mov eax, dword [ebp - 0x1d54]
cmp eax, dword [ebp - 0xa4]
jae 0x41c350
mov edx, dword [ebp - 0x1d54]
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x1d70], edx
mov ecx, dword [ebp - 0x1d70]
mov dword [ebp - 0x1d74], ecx
mov dword [ebp - 0x1d78], eax
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x1d7c], edx
mov ecx, dword [ebp - 0x1d78]
mov dword [ebp - 0x2de0], ecx
mov eax, dword [ebp - 0x1d7c]
mov dword [ebp - 0x2ddc], eax
mov edx, dword [ebp - 0x2de0]
mov dword [ebp - 0x2df0], edx
mov ecx, dword [ebp - 0x2ddc]
mov dword [ebp - 0x2dec], ecx
mov eax, dword [ebp - 0x1d74]
add dword [ebp - 0x2dec], eax
mov edx, dword [ebp - 0x2df0]
mov dword [ebp - 0x2e00], edx
mov ecx, dword [ebp - 0x2dec]
mov dword [ebp - 0x2dfc], ecx
mov eax, dword [ebp - 0x2dfc]
shr eax, 4
mov dword [ebp - 0x1d80], eax
mov edx, dword [ebp - 0x2dfc]
and edx, 0xf
mov dword [ebp - 0x1d84], edx
mov ecx, dword [ebp - 0x2e00]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebp - 0x1d80]
ja 0x41ade5
mov edx, dword [ebp - 0x2e00]
mov ecx, dword [edx + 0x1c]
sub dword [ebp - 0x1d80], ecx
mov eax, dword [ebp - 0x2e00]
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1d80]
mov eax, dword [edx + ecx*4]
add eax, dword [ebp - 0x1d84]
movsx edx, byte [eax]
cmp edx, 0x4d
jne 0x41ad0b
jmp 0x41c350
mov ecx, dword [ebp - 0x1d54]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x1da0], ecx
mov eax, dword [ebp - 0x1da0]
mov dword [ebp - 0x1da4], eax
mov dword [ebp - 0x1da8], edx
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x1dac], ecx
mov eax, dword [ebp - 0x1da8]
mov dword [ebp - 0x2e40], eax
mov edx, dword [ebp - 0x1dac]
mov dword [ebp - 0x2e3c], edx
mov ecx, dword [ebp - 0x2e40]
mov dword [ebp - 0x2e50], ecx
mov eax, dword [ebp - 0x2e3c]
mov dword [ebp - 0x2e4c], eax
mov edx, dword [ebp - 0x1da4]
add dword [ebp - 0x2e4c], edx
mov ecx, dword [ebp - 0x2e50]
mov dword [ebp - 0x2e60], ecx
mov eax, dword [ebp - 0x2e4c]
mov dword [ebp - 0x2e5c], eax
mov edx, dword [ebp - 0x2e5c]
shr edx, 4
mov dword [ebp - 0x1db0], edx
mov ecx, dword [ebp - 0x2e5c]
and ecx, 0xf
mov dword [ebp - 0x1db4], ecx
mov eax, dword [ebp - 0x2e60]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x1db0]
ja 0x41aed0
mov ecx, dword [ebp - 0x2e60]
mov eax, dword [ecx + 0x1c]
sub dword [ebp - 0x1db0], eax
mov edx, dword [ebp - 0x2e60]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebp - 0x1db0]
mov eax, dword [ecx + ebx*4]
add eax, dword [ebp - 0x1db4]
mov dword [ebp - 0x1db8], eax
mov edx, dword [ebp - 0x3e0]
add edx, dword [ebp - 0x3dc]
test dl, 0xf
jne 0x41c28d
mov ecx, dword [ebp - 0x3dc]
add ecx, 0x10
shr ecx, 4
cmp ecx, dword [ebp - 0x3e4]
jb 0x41c28d
mov dword [ebp - 0x1dbc], 1
lea eax, [ebp - 0x3f0]
push eax
call fcn.004040bc
shr eax, 4
pop ecx
sub eax, dword [ebp - 0x3e4]
cmp eax, dword [ebp - 0x1dbc]
jae 0x41be13
lea edx, [ebp - 0x6c8]
lea ecx, [ebp - 0x1dc4]
push edx
push 0
push 0
push 0
push 1
push 0x40e580
push 0
mov word [ebp - 0x6b8], 0x18c
push ecx
call fcn.00403e6c
pop ecx
lea eax, [ebp - 0x1dc4]
push eax
lea edx, [ebp - 0x450]
push edx
call fcn.00403e94
add esp, 8
mov ecx, 0xf
mov dword [ebp - 0x434], ecx
mov byte [ebp - 0x1dc5], 0
cmp dword [ebp - 0x434], 0x10
jb 0x41afac
mov eax, dword [ebp - 0x448]
jmp 0x41afb2
lea eax, [ebp - 0x448]
xor edx, edx
mov dword [ebp - 0x438], edx
add eax, edx
mov dword [ebp - 0x1dcc], eax
mov eax, dword [ebp - 0x1dcc]
mov cl, byte [ebp - 0x1dc5]
mov byte [eax], cl
push 0x5b225e
call fcn.005a2354
pop ecx
mov dword [ebp - 0x1dd0], eax
mov eax, 0x5b225e
test eax, eax
je 0x41b02e
cmp dword [ebp - 0x434], 0x10
mov edx, 0x5b225e
jb 0x41b000
mov ecx, dword [ebp - 0x448]
jmp 0x41b006
lea ecx, [ebp - 0x448]
cmp edx, ecx
jb 0x41b02e
cmp dword [ebp - 0x434], 0x10
jb 0x41b01b
mov eax, dword [ebp - 0x448]
jmp 0x41b021
lea eax, [ebp - 0x448]
add eax, dword [ebp - 0x438]
cmp eax, 0x5b225e
ja 0x41b032
xor edx, edx
jmp 0x41b034
mov dl, 1
test dl, dl
je 0x41b597
cmp dword [ebp - 0x434], 0x10
mov eax, 0x5b225e
jb 0x41b052
mov ecx, dword [ebp - 0x448]
jmp 0x41b058
lea ecx, [ebp - 0x448]
sub eax, ecx
mov dword [ebp - 0x1dd4], eax
mov eax, dword [ebp - 0x438]
cmp eax, dword [ebp - 0x1dd4]
jae 0x41b07b
lea edx, [ebp - 0x458]
push edx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x438]
sub eax, dword [ebp - 0x1dd4]
mov dword [ebp - 0x1dd8], eax
mov edx, dword [ebp - 0x1dd0]
cmp edx, dword [ebp - 0x1dd8]
jae 0x41b0a7
mov ecx, dword [ebp - 0x1dd0]
mov dword [ebp - 0x1dd8], ecx
lea eax, [ebp - 0x458]
lea edx, [ebp - 0x458]
cmp eax, edx
jne 0x41b31f
mov dword [ebp - 0x1ddc], 0xffffffff
mov ecx, dword [ebp - 0x1dd4]
add ecx, dword [ebp - 0x1dd8]
mov dword [ebp - 0x1de0], ecx
mov eax, dword [ebp - 0x438]
cmp eax, dword [ebp - 0x1de0]
jae 0x41b0f2
lea edx, [ebp - 0x458]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x438]
sub ecx, dword [ebp - 0x1de0]
cmp ecx, dword [ebp - 0x1ddc]
jae 0x41b118
mov eax, dword [ebp - 0x438]
sub eax, dword [ebp - 0x1de0]
mov dword [ebp - 0x1ddc], eax
cmp dword [ebp - 0x1ddc], 0
jbe 0x41b204
mov edx, dword [ebp - 0x438]
sub edx, dword [ebp - 0x1de0]
sub edx, dword [ebp - 0x1ddc]
mov dword [ebp - 0x1de4], edx
cmp dword [ebp - 0x434], 0x10
jb 0x41b14e
mov ecx, dword [ebp - 0x448]
jmp 0x41b154
lea ecx, [ebp - 0x448]
add ecx, dword [ebp - 0x1de0]
add ecx, dword [ebp - 0x1ddc]
mov dword [ebp - 0x1de8], ecx
cmp dword [ebp - 0x434], 0x10
jb 0x41b177
mov eax, dword [ebp - 0x448]
jmp 0x41b17d
lea eax, [ebp - 0x448]
add eax, dword [ebp - 0x1de0]
mov dword [ebp - 0x1dec], eax
mov edx, dword [ebp - 0x1de4]
push edx
mov ecx, dword [ebp - 0x1de8]
push ecx
mov eax, dword [ebp - 0x1dec]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x438]
sub edx, dword [ebp - 0x1ddc]
mov dword [ebp - 0x1df0], edx
mov ecx, dword [ebp - 0x1df0]
mov dword [ebp - 0x1df4], ecx
mov byte [ebp - 0x1df5], 0
cmp dword [ebp - 0x434], 0x10
jb 0x41b1dc
mov eax, dword [ebp - 0x448]
jmp 0x41b1e2
lea eax, [ebp - 0x448]
mov edx, dword [ebp - 0x1df4]
mov dword [ebp - 0x438], edx
add eax, edx
mov dword [ebp - 0x1dfc], eax
mov eax, dword [ebp - 0x1dfc]
mov cl, byte [ebp - 0x1df5]
mov byte [eax], cl
mov eax, dword [ebp - 0x1dd4]
mov dword [ebp - 0x1e00], eax
cmp dword [ebp - 0x438], 0
jae 0x41b226
lea edx, [ebp - 0x458]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x438]
cmp ecx, dword [ebp - 0x1e00]
jae 0x41b240
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x1e00], eax
cmp dword [ebp - 0x1e00], 0
jbe 0x41b58c
mov edx, dword [ebp - 0x438]
sub edx, dword [ebp - 0x1e00]
mov dword [ebp - 0x1e04], edx
cmp dword [ebp - 0x434], 0x10
jb 0x41b270
mov ecx, dword [ebp - 0x448]
jmp 0x41b276
lea ecx, [ebp - 0x448]
add ecx, dword [ebp - 0x1e00]
mov dword [ebp - 0x1e08], ecx
cmp dword [ebp - 0x434], 0x10
jb 0x41b293
mov eax, dword [ebp - 0x1dd8]
mov dword [ebp - 0x1e20], eax
lea edx, [ebp - 0x450]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x1e24], eax
cmp dword [ebp - 0x1e24], 1
ja 0x41b34e
mov ecx, 1
jmp 0x41b355
mov ecx, dword [ebp - 0x1e24]
dec ecx
cmp ecx, dword [ebp - 0x1e20]
jae 0x41b36a
lea eax, [ebp - 0x458]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x434]
cmp edx, dword [ebp - 0x1e20]
jae 0x41b47d
mov eax, dword [ebp - 0x438]
push eax
mov edx, dword [ebp - 0x1e20]
push edx
lea ecx, [ebp - 0x458]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x41b4c2
cmp dword [ebp - 0x1e20], 0
jne 0x41b4c2
mov byte [ebp - 0x1e3d], 0
cmp dword [ebp - 0x434], 0x10
jb 0x41b49e
mov eax, dword [ebp - 0x448]
jmp 0x41b4a4
lea eax, [ebp - 0x448]
xor edx, edx
mov dword [ebp - 0x438], edx
add eax, edx
mov dword [ebp - 0x1e44], eax
mov eax, dword [ebp - 0x1e44]
mov cl, byte [ebp - 0x1e3d]
mov byte [eax], cl
cmp dword [ebp - 0x1e20], 0
seta al
and eax, 1
test al, al
je 0x41b58c
mov edx, dword [ebp - 0x1dd8]
mov dword [ebp - 0x1e48], edx
cmp dword [ebp - 0x434], 0x10
jb 0x41b4f4
mov ecx, dword [ebp - 0x448]
jmp 0x41b4fa
lea ecx, [ebp - 0x448]
add ecx, dword [ebp - 0x1dd4]
mov dword [ebp - 0x1e4c], ecx
cmp dword [ebp - 0x434], 0x10
jb 0x41b517
mov eax, dword [ebp - 0x448]
jmp 0x41b51d
lea eax, [ebp - 0x448]
mov dword [ebp - 0x1e50], eax
mov edx, dword [ebp - 0x1e48]
push edx
mov ecx, dword [ebp - 0x1e4c]
push ecx
mov eax, dword [ebp - 0x1e50]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0x1dd8]
mov dword [ebp - 0x1e54], edx
mov byte [ebp - 0x1e55], 0
cmp dword [ebp - 0x434], 0x10
jb 0x41b564
lea eax, [ebp - 0x458]
jmp 0x41b7bd
lea edx, [ebp - 0x450]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x1e60], eax
cmp dword [ebp - 0x1e60], 1
ja 0x41b5ba
mov ecx, 1
jmp 0x41b5c1
mov ecx, dword [ebp - 0x1e60]
dec ecx
cmp ecx, dword [ebp - 0x1dd0]
jae 0x41b5d6
lea eax, [ebp - 0x458]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x434]
cmp edx, dword [ebp - 0x1dd0]
jae 0x41b6e9
mov eax, dword [ebp - 0x438]
push eax
mov edx, dword [ebp - 0x1dd0]
push edx
lea ecx, [ebp - 0x458]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x41b72e
cmp dword [ebp - 0x1dd0], 0
jne 0x41b72e
mov byte [ebp - 0x1e79], 0
cmp dword [ebp - 0x434], 0x10
jb 0x41b70a
mov eax, dword [ebp - 0x448]
jmp 0x41b710
lea eax, [ebp - 0x448]
xor edx, edx
mov dword [ebp - 0x438], edx
add eax, edx
mov dword [ebp - 0x1e80], eax
mov eax, dword [ebp - 0x1e80]
mov cl, byte [ebp - 0x1e79]
mov byte [eax], cl
cmp dword [ebp - 0x1dd0], 0
seta al
and eax, 1
test al, al
je 0x41b7b7
cmp dword [ebp - 0x434], 0x10
jb 0x41b750
mov edx, dword [ebp - 0x448]
jmp 0x41b756
lea edx, [ebp - 0x448]
mov dword [ebp - 0x1e84], edx
mov eax, dword [ebp - 0x1dd0]
push eax
push 0x5b225e
mov ecx, dword [ebp - 0x1e84]
push ecx
call fcn.005a2008
add esp, 0xc
mov byte [ebp - 0x1e85], 0
cmp dword [ebp - 0x434], 0x10
jb 0x41b78f
mov eax, dword [ebp - 0x448]
jmp 0x41b795
lea eax, [ebp - 0x448]
mov edx, dword [ebp - 0x1dd0]
mov dword [ebp - 0x438], edx
add eax, edx
mov dword [ebp - 0x1e8c], eax
mov eax, dword [ebp - 0x1e8c]
mov cl, byte [ebp - 0x1e85]
mov byte [eax], cl
lea eax, [ebp - 0x458]
inc dword [ebp - 0x6ac]
lea edx, [ebp - 0x430]
push edx
call fcn.0040e9a4
pop ecx
inc dword [ebp - 0x6ac]
mov ecx, 0x5b5464
mov dword [ebp - 0x430], ecx
lea eax, [ebp - 0x450]
push eax
lea edx, [ebp - 0x1e94]
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0x1e94]
push ecx
lea eax, [ebp - 0x420]
push eax
call fcn.00403e94
add esp, 8
mov edx, 0xf
mov dword [ebp - 0x404], edx
mov byte [ebp - 0x1e95], 0
cmp dword [ebp - 0x404], 0x10
jb 0x41b830
mov ecx, dword [ebp - 0x418]
jmp 0x41b836
lea ecx, [ebp - 0x418]
xor eax, eax
mov dword [ebp - 0x408], eax
add ecx, eax
mov dword [ebp - 0x1e9c], ecx
mov edx, dword [ebp - 0x1e9c]
mov cl, byte [ebp - 0x1e95]
mov byte [edx], cl
cmp dword [ebp - 0x438], 0
jae 0x41b86a
lea eax, [ebp - 0x428]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x438]
mov dword [ebp - 0x1ea0], edx
cmp dword [ebp - 0x1ea0], 0xffffffff
jbe 0x41b889
mov dword [ebp - 0x1ea0], 0xffffffff
lea ecx, [ebp - 0x428]
lea ebx, [ebp - 0x458]
cmp ecx, ebx
jne 0x41baf7
mov dword [ebp - 0x1ea4], 0xffffffff
mov eax, dword [ebp - 0x1ea0]
mov dword [ebp - 0x1ea8], eax
mov edx, dword [ebp - 0x408]
cmp edx, dword [ebp - 0x1ea8]
jae 0x41b8ce
lea ecx, [ebp - 0x428]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x408]
sub eax, dword [ebp - 0x1ea8]
cmp eax, dword [ebp - 0x1ea4]
jae 0x41b8f4
mov edx, dword [ebp - 0x408]
sub edx, dword [ebp - 0x1ea8]
mov dword [ebp - 0x1ea4], edx
cmp dword [ebp - 0x1ea4], 0
jbe 0x41b9e0
mov eax, dword [ebp - 0x1ea0]
mov dword [ebp - 0x1ee8], eax
lea edx, [ebp - 0x420]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x1eec], eax
cmp dword [ebp - 0x1eec], 1
ja 0x41bb26
mov ecx, 1
jmp 0x41bb2d
mov ecx, dword [ebp - 0x1eec]
dec ecx
cmp ecx, dword [ebp - 0x1ee8]
jae 0x41bb42
lea eax, [ebp - 0x428]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x404]
cmp edx, dword [ebp - 0x1ee8]
jae 0x41bc55
mov edx, dword [ebp - 0x3e4]
shr edx, 1
mov dword [ebp - 0x1f38], edx
cmp dword [ebp - 0x1f38], 8
jae 0x41be34
mov dword [ebp - 0x1f38], 8
mov ecx, dword [ebp - 0x1dbc]
cmp ecx, dword [ebp - 0x1f38]
jae 0x41be6c
lea eax, [ebp - 0x3f0]
push eax
call fcn.004040bc
shr eax, 4
pop ecx
sub eax, dword [ebp - 0x1f38]
cmp eax, dword [ebp - 0x3e4]
jb 0x41be6c
mov edx, dword [ebp - 0x1f38]
mov dword [ebp - 0x1dbc], edx
mov ecx, dword [ebp - 0x3e0]
shr ecx, 4
mov dword [ebp - 0x1f3c], ecx
mov eax, dword [ebp - 0x3e4]
add eax, dword [ebp - 0x1dbc]
mov dword [ebp - 0x1f44], eax
mov edx, dword [ebp - 0x1f44]
shl edx, 2
push edx
call fcn.0059cd68
pop ecx
mov dword [ebp - 0x1f40], eax
mov ecx, dword [ebp - 0x1f3c]
shl ecx, 2
add ecx, dword [ebp - 0x1f40]
mov dword [ebp - 0x1f48], ecx
mov eax, dword [ebp - 0x1f48]
mov dword [ebp - 0x1f4c], eax
mov edx, dword [ebp - 0x3e4]
shl edx, 2
add edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1f50], edx
lea edx, [ebp - 0x1f5c]
mov ecx, dword [ebp - 0x1f3c]
shl ecx, 2
add ecx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1f54], ecx
mov eax, dword [ebp - 0x1f64]
mov dword [ebp - 0x1f5c], eax
mov eax, dword [ebp - 0x1f60]
mov dword [ebp - 0x1f58], eax
lea eax, [ebp - 0x3f8]
push dword [edx + 4]
push dword [edx]
push eax
mov edx, dword [ebp - 0x1f4c]
push edx
mov ecx, dword [ebp - 0x1f50]
push ecx
mov eax, dword [ebp - 0x1f54]
push eax
call fcn.0040e9d4
add esp, 0x18
mov dword [ebp - 0x1f48], eax
mov edx, dword [ebp - 0x1f3c]
cmp edx, dword [ebp - 0x1dbc]
ja 0x41c0a0
mov ecx, dword [ebp - 0x1f48]
mov dword [ebp - 0x1f68], ecx
mov eax, dword [ebp - 0x1f3c]
shl eax, 2
add eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x1f6c], eax
lea eax, [ebp - 0x1f78]
mov edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1f70], edx
mov ecx, dword [ebp - 0x1f80]
mov dword [ebp - 0x1f78], ecx
mov ecx, dword [ebp - 0x1f7c]
mov dword [ebp - 0x1f74], ecx
lea ecx, [ebp - 0x3f8]
push dword [eax + 4]
push dword [eax]
push ecx
mov eax, dword [ebp - 0x1f68]
push eax
mov edx, dword [ebp - 0x1f6c]
push edx
mov ecx, dword [ebp - 0x1f70]
push ecx
call fcn.0040e9d4
mov dword [ebp - 0x1f48], eax
xor eax, eax
mov dword [ebp - 0x1f84], eax
add esp, 0x18
mov edx, dword [ebp - 0x1dbc]
sub edx, dword [ebp - 0x1f3c]
mov dword [ebp - 0x1f88], edx
lea edx, [ebp - 0x1f94]
mov ecx, dword [ebp - 0x1f48]
mov dword [ebp - 0x1f8c], ecx
mov eax, dword [ebp - 0x1f9c]
mov dword [ebp - 0x1f94], eax
mov eax, dword [ebp - 0x1f98]
mov dword [ebp - 0x1f90], eax
lea eax, [ebp - 0x3f8]
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0x1f84]
push eax
push edx
mov ecx, dword [ebp - 0x1f88]
push ecx
mov eax, dword [ebp - 0x1f8c]
push eax
call fcn.0040ea64
add esp, 0x18
xor edx, edx
mov dword [ebp - 0x1fa0], edx
mov ecx, dword [ebp - 0x1f3c]
mov dword [ebp - 0x1fa4], ecx
lea ecx, [ebp - 0x1fb0]
mov eax, dword [ebp - 0x1f40]
mov dword [ebp - 0x1fa8], eax
lea eax, [ebp - 0x3f8]
mov edx, dword [ebp - 0x1fb8]
mov dword [ebp - 0x1fb0], edx
mov edx, dword [ebp - 0x1fb4]
mov dword [ebp - 0x1fac], edx
lea edx, [ebp - 0x1fa0]
push dword [ecx + 4]
push dword [ecx]
push eax
push edx
mov ecx, dword [ebp - 0x1fa4]
push ecx
mov eax, dword [ebp - 0x1fa8]
push eax
call fcn.0040ea64
add esp, 0x18
jmp 0x41c1f2
mov edx, dword [ebp - 0x1f48]
mov dword [ebp - 0x1fbc], edx
mov ecx, dword [ebp - 0x1dbc]
shl ecx, 2
add ecx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1fc0], ecx
lea ecx, [ebp - 0x1fcc]
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x1fc4], eax
lea eax, [ebp - 0x3f8]
mov edx, dword [ebp - 0x1fd4]
mov dword [ebp - 0x1fcc], edx
mov edx, dword [ebp - 0x1fd0]
mov dword [ebp - 0x1fc8], edx
push dword [ecx + 4]
push dword [ecx]
push eax
mov edx, dword [ebp - 0x1fbc]
push edx
mov ecx, dword [ebp - 0x1fc0]
push ecx
mov eax, dword [ebp - 0x1fc4]
push eax
call fcn.0040e9d4
mov edx, dword [ebp - 0x1f40]
add esp, 0x18
mov dword [ebp - 0x1fd8], edx
mov ecx, dword [ebp - 0x1f3c]
shl ecx, 2
add ecx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1fdc], ecx
lea ecx, [ebp - 0x1fe8]
mov eax, dword [ebp - 0x1dbc]
shl eax, 2
add eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x1fe0], eax
lea eax, [ebp - 0x3f8]
mov edx, dword [ebp - 0x1ff0]
mov dword [ebp - 0x1fe8], edx
mov edx, dword [ebp - 0x1fec]
mov dword [ebp - 0x1fe4], edx
push dword [ecx + 4]
push dword [ecx]
push eax
mov edx, dword [ebp - 0x1fd8]
push edx
mov ecx, dword [ebp - 0x1fdc]
push ecx
mov eax, dword [ebp - 0x1fe0]
push eax
call fcn.0040e9d4
add esp, 0x18
mov dword [ebp - 0x1f48], eax
xor edx, edx
mov dword [ebp - 0x1ff4], edx
lea edx, [ebp - 0x2000]
mov ecx, dword [ebp - 0x1f48]
mov dword [ebp - 0x1ff8], ecx
mov eax, dword [ebp - 0x2008]
mov dword [ebp - 0x2000], eax
mov eax, dword [ebp - 0x2004]
mov dword [ebp - 0x1ffc], eax
lea eax, [ebp - 0x3f8]
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0x1ff4]
push eax
push edx
mov ecx, dword [ebp - 0x1dbc]
push ecx
mov eax, dword [ebp - 0x1ff8]
push eax
call fcn.0040ea64
add esp, 0x18
mov edx, dword [ebp - 0x3e4]
shl edx, 2
add edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x200c], edx
lea edx, [ebp - 0x2018]
mov ecx, dword [ebp - 0x1f3c]
shl ecx, 2
add ecx, dword [ebp - 0x3e8]
mov dword [ebp - 0x2010], ecx
mov eax, dword [ebp - 0x2020]
mov dword [ebp - 0x2018], eax
mov eax, dword [ebp - 0x201c]
mov dword [ebp - 0x2014], eax
lea eax, [ebp - 0x3f8]
push dword [edx + 4]
push dword [edx]
push eax
mov edx, dword [ebp - 0x200c]
push edx
mov ecx, dword [ebp - 0x2010]
push ecx
call fcn.0040eaf0
add esp, 0x14
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x2024], eax
mov edx, dword [ebp - 0x2024]
push edx
call fcn.00597660
pop ecx
mov ecx, dword [ebp - 0x1f40]
mov dword [ebp - 0x3e8], ecx
mov eax, dword [ebp - 0x1dbc]
add dword [ebp - 0x3e4], eax
mov edx, dword [ebp - 0x3e0]
add edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x2028], edx
mov ecx, dword [ebp - 0x2028]
shr ecx, 4
mov dword [ebp - 0x202c], ecx
mov eax, dword [ebp - 0x3e4]
cmp eax, dword [ebp - 0x202c]
ja 0x41c2c8
mov edx, dword [ebp - 0x3e4]
sub dword [ebp - 0x202c], edx
mov ecx, dword [ebp - 0x3e8]
mov ebx, dword [ebp - 0x202c]
cmp dword [ecx + ebx*4], 0
jne 0x41c2f1
push 0x10
call fcn.0059cd68
pop ecx
mov edx, dword [ebp - 0x3e8]
mov ecx, dword [ebp - 0x202c]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x3e8]
mov edx, dword [ebp - 0x202c]
mov ecx, dword [ebp - 0x2028]
and ecx, 0xf
mov eax, dword [eax + edx*4]
add eax, ecx
mov dword [ebp - 0x2030], eax
mov eax, dword [ebp - 0x2030]
mov dword [ebp - 0x2034], eax
mov edx, dword [ebp - 0x2034]
push edx
push 1
call fcn.0040eb08
mov dword [ebp - 0x2038], eax
add esp, 8
mov ecx, dword [ebp - 0x1db8]
mov edx, dword [ebp - 0x2038]
mov al, byte [ecx]
mov byte [edx], al
inc dword [ebp - 0x3dc]
inc dword [ebp - 0x1d54]
mov ecx, dword [ebp - 0x1d54]
cmp ecx, dword [ebp - 0xa4]
jae 0x41c44e
mov eax, dword [ebp - 0x1d6c]
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x1d88], eax
mov edx, dword [ebp - 0x1d88]
mov dword [ebp - 0x1d8c], edx
mov dword [ebp - 0x1d90], ecx
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x1d94], eax
mov edx, dword [ebp - 0x1d90]
mov dword [ebp - 0x2e10], edx
mov ecx, dword [ebp - 0x1d94]
mov dword [ebp - 0x2e0c], ecx
mov eax, dword [ebp - 0x2e10]
mov dword [ebp - 0x2e20], eax
mov edx, dword [ebp - 0x2e0c]
mov dword [ebp - 0x2e1c], edx
mov ecx, dword [ebp - 0x1d8c]
add dword [ebp - 0x2e1c], ecx
mov eax, dword [ebp - 0x2e20]
mov dword [ebp - 0x2e30], eax
mov edx, dword [ebp - 0x2e1c]
mov dword [ebp - 0x2e2c], edx
mov ecx, dword [ebp - 0x2e2c]
shr ecx, 1
mov dword [ebp - 0x1d98], ecx
mov eax, dword [ebp - 0x2e2c]
and eax, 1
mov dword [ebp - 0x1d9c], eax
mov edx, dword [ebp - 0x2e30]
mov ecx, dword [edx + 0x1c]
cmp ecx, dword [ebp - 0x1d98]
ja 0x41c423
mov eax, dword [ebp - 0x2e30]
mov edx, dword [eax + 0x1c]
sub dword [ebp - 0x1d98], edx
mov ecx, dword [ebp - 0x2e30]
mov edx, dword [ebp - 0x1d98]
mov ebx, dword [ebp - 0x1d9c]
shl ebx, 3
mov eax, dword [ecx + 0x18]
mov ecx, dword [eax + edx*4]
add ecx, ebx
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x1d54]
jg 0x41ae0e
mov edx, dword [ebp - 0x1d6c]
lea eax, [ebp - 0x150]
mov dword [ebp - 0x203c], edx
mov ecx, dword [ebp - 0x203c]
mov dword [ebp - 0x2040], ecx
mov dword [ebp - 0x2044], eax
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x2048], edx
mov ecx, dword [ebp - 0x2044]
mov dword [ebp - 0x2e70], ecx
mov eax, dword [ebp - 0x2048]
mov dword [ebp - 0x2e6c], eax
mov edx, dword [ebp - 0x2e70]
mov dword [ebp - 0x2e80], edx
mov ecx, dword [ebp - 0x2e6c]
mov dword [ebp - 0x2e7c], ecx
mov eax, dword [ebp - 0x2040]
add dword [ebp - 0x2e7c], eax
mov edx, dword [ebp - 0x2e80]
mov dword [ebp - 0x2e90], edx
mov ecx, dword [ebp - 0x2e7c]
mov dword [ebp - 0x2e8c], ecx
mov eax, dword [ebp - 0x2e8c]
shr eax, 1
mov dword [ebp - 0x204c], eax
mov edx, dword [ebp - 0x2e8c]
and edx, 1
mov dword [ebp - 0x2050], edx
mov ecx, dword [ebp - 0x2e90]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebp - 0x204c]
ja 0x41c50f
mov edx, dword [ebp - 0x2e90]
mov ecx, dword [edx + 0x1c]
sub dword [ebp - 0x204c], ecx
mov eax, dword [ebp - 0x2e90]
mov ecx, dword [ebp - 0x204c]
mov ebx, dword [ebp - 0xa4]
dec ebx
mov edx, dword [eax + 0x18]
mov eax, dword [edx + ecx*4]
mov edx, dword [ebp - 0x2050]
shl edx, 3
add eax, edx
mov ecx, dword [eax + 4]
cmp ecx, ebx
je 0x41de83
mov eax, dword [ebp - 0x1d6c]
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x2054], eax
mov edx, dword [ebp - 0x2054]
mov dword [ebp - 0x2058], edx
mov dword [ebp - 0x205c], ecx
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x2060], eax
mov edx, dword [ebp - 0x205c]
mov dword [ebp - 0x2ea0], edx
mov ecx, dword [ebp - 0x2060]
mov dword [ebp - 0x2e9c], ecx
mov eax, dword [ebp - 0x2ea0]
mov dword [ebp - 0x2eb0], eax
mov edx, dword [ebp - 0x2e9c]
mov dword [ebp - 0x2eac], edx
mov ecx, dword [ebp - 0x2058]
add dword [ebp - 0x2eac], ecx
mov eax, dword [ebp - 0x2eb0]
mov dword [ebp - 0x2ec0], eax
mov edx, dword [ebp - 0x2eac]
mov dword [ebp - 0x2ebc], edx
mov ecx, dword [ebp - 0x2ebc]
shr ecx, 1
mov dword [ebp - 0x2064], ecx
mov eax, dword [ebp - 0x2ebc]
and eax, 1
mov dword [ebp - 0x2068], eax
mov edx, dword [ebp - 0x2ec0]
mov ecx, dword [edx + 0x1c]
cmp ecx, dword [ebp - 0x2064]
ja 0x41c5ff
mov eax, dword [ebp - 0x2ec0]
mov edx, dword [eax + 0x1c]
sub dword [ebp - 0x2064], edx
mov ecx, dword [ebp - 0x2ec0]
mov edx, dword [ebp - 0x2064]
mov ebx, dword [ebp - 0x2068]
shl ebx, 3
mov eax, dword [ecx + 0x18]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0xa4]
add ecx, ebx
dec edx
mov eax, dword [ecx + 4]
inc eax
cmp eax, edx
je 0x41de83
mov ecx, dword [ebp - 0x1d6c]
mov ebx, dword [ebp - 0x12c]
dec ebx
inc ecx
cmp ecx, ebx
jbe 0x41c646
jmp 0x41de83
mov eax, dword [ebp - 0x1d6c]
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x206c], eax
mov edx, dword [ebp - 0x206c]
mov dword [ebp - 0x2070], edx
mov dword [ebp - 0x2074], ecx
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x2078], eax
mov edx, dword [ebp - 0x2074]
mov dword [ebp - 0x2ed0], edx
mov ecx, dword [ebp - 0x2078]
mov dword [ebp - 0x2ecc], ecx
mov eax, dword [ebp - 0x2ed0]
mov dword [ebp - 0x2ee0], eax
mov edx, dword [ebp - 0x2ecc]
mov dword [ebp - 0x2edc], edx
mov ecx, dword [ebp - 0x2070]
add dword [ebp - 0x2edc], ecx
mov eax, dword [ebp - 0x2ee0]
mov dword [ebp - 0x2ef0], eax
mov edx, dword [ebp - 0x2edc]
mov dword [ebp - 0x2eec], edx
mov ecx, dword [ebp - 0x2eec]
shr ecx, 1
mov dword [ebp - 0x207c], ecx
mov eax, dword [ebp - 0x2eec]
and eax, 1
mov dword [ebp - 0x2080], eax
mov edx, dword [ebp - 0x2ef0]
mov ecx, dword [edx + 0x1c]
cmp ecx, dword [ebp - 0x207c]
ja 0x41c707
mov eax, dword [ebp - 0x2ef0]
mov edx, dword [eax + 0x1c]
sub dword [ebp - 0x207c], edx
mov ecx, dword [ebp - 0x2ef0]
mov edx, dword [ebp - 0x207c]
mov ebx, dword [ebp - 0x2080]
shl ebx, 3
mov eax, dword [ecx + 0x18]
mov ecx, dword [eax + edx*4]
add ecx, ebx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x1d68], eax
jmp 0x41de6b
mov edx, dword [ebp - 0x1d68]
inc edx
mov dword [ebp - 0x1d54], edx
jmp 0x41dc86
mov ecx, dword [ebp - 0x1d54]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x209c], ecx
mov eax, dword [ebp - 0x209c]
mov dword [ebp - 0x20a0], eax
mov dword [ebp - 0x20a4], edx
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x20a8], ecx
mov eax, dword [ebp - 0x20a4]
mov dword [ebp - 0x2f30], eax
mov edx, dword [ebp - 0x20a8]
mov dword [ebp - 0x2f2c], edx
mov ecx, dword [ebp - 0x2f30]
mov dword [ebp - 0x2f40], ecx
mov eax, dword [ebp - 0x2f2c]
mov dword [ebp - 0x2f3c], eax
mov edx, dword [ebp - 0x20a0]
add dword [ebp - 0x2f3c], edx
mov ecx, dword [ebp - 0x2f40]
mov dword [ebp - 0x2f50], ecx
mov eax, dword [ebp - 0x2f3c]
mov dword [ebp - 0x2f4c], eax
mov edx, dword [ebp - 0x2f4c]
shr edx, 4
mov dword [ebp - 0x20ac], edx
mov ecx, dword [ebp - 0x2f4c]
and ecx, 0xf
mov dword [ebp - 0x20b0], ecx
mov eax, dword [ebp - 0x2f50]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x20ac]
ja 0x41c806
mov ecx, dword [ebp - 0x2f50]
mov eax, dword [ecx + 0x1c]
sub dword [ebp - 0x20ac], eax
mov edx, dword [ebp - 0x2f50]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebp - 0x20ac]
mov eax, dword [ecx + ebx*4]
add eax, dword [ebp - 0x20b0]
mov dword [ebp - 0x20b4], eax
mov edx, dword [ebp - 0x3e0]
add edx, dword [ebp - 0x3dc]
test dl, 0xf
jne 0x41dbc3
mov ecx, dword [ebp - 0x3dc]
add ecx, 0x10
shr ecx, 4
cmp ecx, dword [ebp - 0x3e4]
jb 0x41dbc3
mov dword [ebp - 0x20b8], 1
lea eax, [ebp - 0x3f0]
push eax
call fcn.004040bc
shr eax, 4
pop ecx
sub eax, dword [ebp - 0x3e4]
cmp eax, dword [ebp - 0x20b8]
jae 0x41d749
lea edx, [ebp - 0x6c8]
lea ecx, [ebp - 0x20c0]
push edx
push 0
push 0
push 0
push 1
push 0x40e580
push 0
mov word [ebp - 0x6b8], 0x1b0
push ecx
call fcn.00403e6c
pop ecx
lea eax, [ebp - 0x20c0]
push eax
lea edx, [ebp - 0x4a8]
push edx
call fcn.00403e94
add esp, 8
mov ecx, 0xf
mov dword [ebp - 0x48c], ecx
mov byte [ebp - 0x20c1], 0
cmp dword [ebp - 0x48c], 0x10
jb 0x41c8e2
mov eax, dword [ebp - 0x4a0]
jmp 0x41c8e8
lea eax, [ebp - 0x4a0]
xor edx, edx
mov dword [ebp - 0x490], edx
add eax, edx
mov dword [ebp - 0x20c8], eax
mov eax, dword [ebp - 0x20c8]
mov cl, byte [ebp - 0x20c1]
mov byte [eax], cl
push 0x5b2270
call fcn.005a2354
pop ecx
mov dword [ebp - 0x20cc], eax
mov eax, 0x5b2270
test eax, eax
je 0x41c964
cmp dword [ebp - 0x48c], 0x10
mov edx, 0x5b2270
jb 0x41c936
mov ecx, dword [ebp - 0x4a0]
jmp 0x41c93c
lea ecx, [ebp - 0x4a0]
cmp edx, ecx
jb 0x41c964
cmp dword [ebp - 0x48c], 0x10
jb 0x41c951
mov eax, dword [ebp - 0x4a0]
jmp 0x41c957
lea eax, [ebp - 0x4a0]
add eax, dword [ebp - 0x490]
cmp eax, 0x5b2270
ja 0x41c968
xor edx, edx
jmp 0x41c96a
mov dl, 1
test dl, dl
je 0x41cecd
cmp dword [ebp - 0x48c], 0x10
mov eax, 0x5b2270
jb 0x41c988
mov ecx, dword [ebp - 0x4a0]
jmp 0x41c98e
lea ecx, [ebp - 0x4a0]
sub eax, ecx
mov dword [ebp - 0x20d0], eax
mov eax, dword [ebp - 0x490]
cmp eax, dword [ebp - 0x20d0]
jae 0x41c9b1
lea edx, [ebp - 0x4b0]
push edx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x490]
sub eax, dword [ebp - 0x20d0]
mov dword [ebp - 0x20d4], eax
mov edx, dword [ebp - 0x20cc]
cmp edx, dword [ebp - 0x20d4]
jae 0x41c9dd
mov ecx, dword [ebp - 0x20cc]
mov dword [ebp - 0x20d4], ecx
lea eax, [ebp - 0x4b0]
lea edx, [ebp - 0x4b0]
cmp eax, edx
jne 0x41cc55
mov dword [ebp - 0x20d8], 0xffffffff
mov ecx, dword [ebp - 0x20d0]
add ecx, dword [ebp - 0x20d4]
mov dword [ebp - 0x20dc], ecx
mov eax, dword [ebp - 0x490]
cmp eax, dword [ebp - 0x20dc]
jae 0x41ca28
lea edx, [ebp - 0x4b0]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x490]
sub ecx, dword [ebp - 0x20dc]
cmp ecx, dword [ebp - 0x20d8]
jae 0x41ca4e
mov eax, dword [ebp - 0x490]
sub eax, dword [ebp - 0x20dc]
mov dword [ebp - 0x20d8], eax
cmp dword [ebp - 0x20d8], 0
jbe 0x41cb3a
mov edx, dword [ebp - 0x490]
sub edx, dword [ebp - 0x20dc]
sub edx, dword [ebp - 0x20d8]
mov dword [ebp - 0x20e0], edx
cmp dword [ebp - 0x48c], 0x10
jb 0x41ca84
mov ecx, dword [ebp - 0x4a0]
jmp 0x41ca8a
lea ecx, [ebp - 0x4a0]
add ecx, dword [ebp - 0x20dc]
add ecx, dword [ebp - 0x20d8]
mov dword [ebp - 0x20e4], ecx
cmp dword [ebp - 0x48c], 0x10
jb 0x41caad
mov eax, dword [ebp - 0x4a0]
jmp 0x41cab3
lea eax, [ebp - 0x4a0]
add eax, dword [ebp - 0x20dc]
mov dword [ebp - 0x20e8], eax
mov edx, dword [ebp - 0x20e0]
push edx
mov ecx, dword [ebp - 0x20e4]
push ecx
mov eax, dword [ebp - 0x20e8]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x490]
sub edx, dword [ebp - 0x20d8]
mov dword [ebp - 0x20ec], edx
mov ecx, dword [ebp - 0x20ec]
mov dword [ebp - 0x20f0], ecx
mov byte [ebp - 0x20f1], 0
cmp dword [ebp - 0x48c], 0x10
jb 0x41cb12
mov eax, dword [ebp - 0x4a0]
jmp 0x41cb18
lea eax, [ebp - 0x4a0]
mov edx, dword [ebp - 0x20f0]
mov dword [ebp - 0x490], edx
add eax, edx
mov dword [ebp - 0x20f8], eax
mov eax, dword [ebp - 0x20f8]
mov cl, byte [ebp - 0x20f1]
mov byte [eax], cl
mov eax, dword [ebp - 0x20d0]
mov dword [ebp - 0x20fc], eax
cmp dword [ebp - 0x490], 0
jae 0x41cb5c
lea edx, [ebp - 0x4b0]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x490]
cmp ecx, dword [ebp - 0x20fc]
jae 0x41cb76
mov eax, dword [ebp - 0x490]
mov dword [ebp - 0x20fc], eax
cmp dword [ebp - 0x20fc], 0
jbe 0x41cec2
mov edx, dword [ebp - 0x490]
sub edx, dword [ebp - 0x20fc]
mov dword [ebp - 0x2100], edx
cmp dword [ebp - 0x48c], 0x10
jb 0x41cba6
mov ecx, dword [ebp - 0x4a0]
jmp 0x41cbac
lea ecx, [ebp - 0x4a0]
add ecx, dword [ebp - 0x20fc]
mov dword [ebp - 0x2104], ecx
cmp dword [ebp - 0x48c], 0x10
jb 0x41cbc9
mov eax, dword [ebp - 0x4a0]
jmp 0x41cbcf
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x2108], eax
mov edx, dword [ebp - 0x2100]
push edx
mov ecx, dword [ebp - 0x2104]
push ecx
mov eax, dword [ebp - 0x2108]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x490]
sub edx, dword [ebp - 0x20fc]
mov dword [ebp - 0x210c], edx
mov ecx, dword [ebp - 0x210c]
mov dword [ebp - 0x2110], ecx
mov byte [ebp - 0x2111], 0
cmp dword [ebp - 0x48c], 0x10
jb 0x41cc28
mov eax, dword [ebp - 0x20d4]
mov dword [ebp - 0x211c], eax
lea edx, [ebp - 0x4a8]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x2120], eax
cmp dword [ebp - 0x2120], 1
ja 0x41cc84
mov ecx, 1
jmp 0x41cc8b
mov ecx, dword [ebp - 0x2120]
dec ecx
cmp ecx, dword [ebp - 0x211c]
jae 0x41cca0
lea eax, [ebp - 0x4b0]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x48c]
cmp edx, dword [ebp - 0x211c]
jae 0x41cdb3
mov eax, dword [ebp - 0x490]
push eax
mov edx, dword [ebp - 0x211c]
push edx
lea ecx, [ebp - 0x4b0]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x41cdf8
cmp dword [ebp - 0x211c], 0
jne 0x41cdf8
mov byte [ebp - 0x2139], 0
cmp dword [ebp - 0x48c], 0x10
jb 0x41cdd4
mov eax, dword [ebp - 0x4a0]
jmp 0x41cdda
lea eax, [ebp - 0x4a0]
xor edx, edx
mov dword [ebp - 0x490], edx
add eax, edx
mov dword [ebp - 0x2140], eax
mov eax, dword [ebp - 0x2140]
mov cl, byte [ebp - 0x2139]
mov byte [eax], cl
cmp dword [ebp - 0x211c], 0
seta al
and eax, 1
test al, al
je 0x41cec2
mov edx, dword [ebp - 0x20d4]
mov dword [ebp - 0x2144], edx
cmp dword [ebp - 0x48c], 0x10
jb 0x41ce2a
mov ecx, dword [ebp - 0x4a0]
jmp 0x41ce30
lea ecx, [ebp - 0x4a0]
add ecx, dword [ebp - 0x20d0]
mov dword [ebp - 0x2148], ecx
cmp dword [ebp - 0x48c], 0x10
jb 0x41ce4d
mov eax, dword [ebp - 0x4a0]
jmp 0x41ce53
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x214c], eax
mov edx, dword [ebp - 0x2144]
push edx
mov ecx, dword [ebp - 0x2148]
push ecx
mov eax, dword [ebp - 0x214c]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0x20d4]
mov dword [ebp - 0x2150], edx
mov byte [ebp - 0x2151], 0
cmp dword [ebp - 0x48c], 0x10
jb 0x41ce9a
mov ecx, dword [ebp - 0x4a0]
jmp 0x41cea0
lea ecx, [ebp - 0x4a0]
mov eax, dword [ebp - 0x2150]
mov dword [ebp - 0x490], eax
add ecx, eax
mov dword [ebp - 0x2158], ecx
mov edx, dword [ebp - 0x2158]
mov cl, byte [ebp - 0x2151]
mov byte [edx], cl
lea eax, [ebp - 0x4b0]
jmp 0x41d0f3
lea edx, [ebp - 0x4a8]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x215c], eax
cmp dword [ebp - 0x215c], 1
ja 0x41cef0
mov ecx, 1
jmp 0x41cef7
mov ecx, dword [ebp - 0x215c]
dec ecx
cmp ecx, dword [ebp - 0x20cc]
jae 0x41cf0c
lea eax, [ebp - 0x4b0]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x48c]
cmp edx, dword [ebp - 0x20cc]
jae 0x41d01f
mov eax, dword [ebp - 0x490]
push eax
mov edx, dword [ebp - 0x20cc]
push edx
lea ecx, [ebp - 0x4b0]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x41d064
cmp dword [ebp - 0x20cc], 0
jne 0x41d064
mov byte [ebp - 0x2175], 0
cmp dword [ebp - 0x48c], 0x10
jb 0x41d040
mov eax, dword [ebp - 0x4a0]
jmp 0x41d046
lea eax, [ebp - 0x4a0]
xor edx, edx
mov dword [ebp - 0x490], edx
add eax, edx
mov dword [ebp - 0x217c], eax
mov eax, dword [ebp - 0x217c]
mov cl, byte [ebp - 0x2175]
mov byte [eax], cl
cmp dword [ebp - 0x20cc], 0
seta al
and eax, 1
test al, al
je 0x41d0ed
cmp dword [ebp - 0x48c], 0x10
jb 0x41d086
mov edx, dword [ebp - 0x4a0]
jmp 0x41d08c
lea edx, [ebp - 0x4a0]
mov dword [ebp - 0x2180], edx
mov eax, dword [ebp - 0x20cc]
push eax
push 0x5b2270
mov ecx, dword [ebp - 0x2180]
push ecx
call fcn.005a2008
add esp, 0xc
mov byte [ebp - 0x2181], 0
cmp dword [ebp - 0x48c], 0x10
jb 0x41d0c5
mov eax, dword [ebp - 0x4a0]
jmp 0x41d0cb
lea eax, [ebp - 0x4a0]
mov edx, dword [ebp - 0x20cc]
mov dword [ebp - 0x490], edx
add eax, edx
mov dword [ebp - 0x2188], eax
mov eax, dword [ebp - 0x2188]
mov cl, byte [ebp - 0x2181]
mov byte [eax], cl
lea eax, [ebp - 0x4b0]
inc dword [ebp - 0x6ac]
lea edx, [ebp - 0x488]
push edx
call fcn.0040e9a4
pop ecx
inc dword [ebp - 0x6ac]
mov ecx, 0x5b5464
mov dword [ebp - 0x488], ecx
lea eax, [ebp - 0x4a8]
push eax
lea edx, [ebp - 0x2190]
push edx
call fcn.00403e94
add esp, 8
lea ecx, [ebp - 0x2190]
push ecx
lea eax, [ebp - 0x478]
push eax
call fcn.00403e94
add esp, 8
mov edx, 0xf
mov dword [ebp - 0x45c], edx
mov byte [ebp - 0x2191], 0
cmp dword [ebp - 0x45c], 0x10
jb 0x41d166
mov ecx, dword [ebp - 0x470]
jmp 0x41d16c
lea ecx, [ebp - 0x470]
xor eax, eax
mov dword [ebp - 0x460], eax
add ecx, eax
mov dword [ebp - 0x2198], ecx
mov edx, dword [ebp - 0x2198]
mov cl, byte [ebp - 0x2191]
mov byte [edx], cl
cmp dword [ebp - 0x490], 0
jae 0x41d1a0
lea eax, [ebp - 0x480]
push eax
call fcn.0059da88
pop ecx
mov edx, dword [ebp - 0x490]
mov dword [ebp - 0x219c], edx
cmp dword [ebp - 0x219c], 0xffffffff
jbe 0x41d1bf
mov dword [ebp - 0x219c], 0xffffffff
lea ecx, [ebp - 0x480]
lea ebx, [ebp - 0x4b0]
cmp ecx, ebx
jne 0x41d42d
mov dword [ebp - 0x21a0], 0xffffffff
mov eax, dword [ebp - 0x219c]
mov dword [ebp - 0x21a4], eax
mov edx, dword [ebp - 0x460]
cmp edx, dword [ebp - 0x21a4]
jae 0x41d204
lea ecx, [ebp - 0x480]
push ecx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x460]
sub eax, dword [ebp - 0x21a4]
cmp eax, dword [ebp - 0x21a0]
jae 0x41d22a
mov edx, dword [ebp - 0x460]
sub edx, dword [ebp - 0x21a4]
mov dword [ebp - 0x21a0], edx
cmp dword [ebp - 0x21a0], 0
jbe 0x41d316
mov ecx, dword [ebp - 0x460]
sub ecx, dword [ebp - 0x21a4]
sub ecx, dword [ebp - 0x21a0]
mov dword [ebp - 0x21a8], ecx
cmp dword [ebp - 0x45c], 0x10
jb 0x41d260
xor eax, eax
mov dword [ebp - 0x21c4], eax
cmp dword [ebp - 0x460], 0
jae 0x41d334
mov eax, dword [ebp - 0x219c]
mov dword [ebp - 0x21e4], eax
lea edx, [ebp - 0x478]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x21e8], eax
cmp dword [ebp - 0x21e8], 1
ja 0x41d45c
mov ecx, 1
jmp 0x41d463
mov ecx, dword [ebp - 0x21e8]
dec ecx
cmp ecx, dword [ebp - 0x21e4]
jae 0x41d478
lea eax, [ebp - 0x480]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x45c]
cmp edx, dword [ebp - 0x21e4]
jae 0x41d58b
mov eax, dword [ebp - 0x460]
push eax
mov edx, dword [ebp - 0x21e4]
push edx
lea ecx, [ebp - 0x480]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x41d5d0
cmp dword [ebp - 0x21e4], 0
jne 0x41d5d0
mov edx, dword [ebp - 0x3e4]
shr edx, 1
mov dword [ebp - 0x2234], edx
cmp dword [ebp - 0x2234], 8
jae 0x41d76a
mov dword [ebp - 0x2234], 8
mov ecx, dword [ebp - 0x20b8]
cmp ecx, dword [ebp - 0x2234]
jae 0x41d7a2
lea eax, [ebp - 0x3f0]
push eax
call fcn.004040bc
shr eax, 4
pop ecx
sub eax, dword [ebp - 0x2234]
cmp eax, dword [ebp - 0x3e4]
jb 0x41d7a2
mov edx, dword [ebp - 0x2234]
mov dword [ebp - 0x20b8], edx
mov ecx, dword [ebp - 0x3e0]
shr ecx, 4
mov dword [ebp - 0x2238], ecx
mov eax, dword [ebp - 0x3e4]
add eax, dword [ebp - 0x20b8]
mov dword [ebp - 0x2240], eax
mov edx, dword [ebp - 0x2240]
shl edx, 2
push edx
call fcn.0059cd68
pop ecx
mov dword [ebp - 0x223c], eax
mov ecx, dword [ebp - 0x2238]
shl ecx, 2
add ecx, dword [ebp - 0x223c]
mov dword [ebp - 0x2244], ecx
mov eax, dword [ebp - 0x2244]
mov dword [ebp - 0x2248], eax
mov edx, dword [ebp - 0x3e4]
shl edx, 2
add edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x224c], edx
lea edx, [ebp - 0x2258]
mov ecx, dword [ebp - 0x2238]
shl ecx, 2
add ecx, dword [ebp - 0x3e8]
mov dword [ebp - 0x2250], ecx
mov eax, dword [ebp - 0x2260]
mov dword [ebp - 0x2258], eax
mov eax, dword [ebp - 0x225c]
mov dword [ebp - 0x2254], eax
lea eax, [ebp - 0x3f8]
push dword [edx + 4]
push dword [edx]
push eax
mov edx, dword [ebp - 0x2248]
push edx
mov ecx, dword [ebp - 0x224c]
push ecx
mov eax, dword [ebp - 0x2250]
push eax
call fcn.0040e9d4
add esp, 0x18
mov dword [ebp - 0x2244], eax
mov edx, dword [ebp - 0x2238]
cmp edx, dword [ebp - 0x20b8]
ja 0x41d9d6
mov ecx, dword [ebp - 0x2244]
mov dword [ebp - 0x2264], ecx
mov eax, dword [ebp - 0x2238]
shl eax, 2
add eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x2268], eax
lea eax, [ebp - 0x2274]
mov edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x226c], edx
mov ecx, dword [ebp - 0x227c]
mov dword [ebp - 0x2274], ecx
mov ecx, dword [ebp - 0x2278]
mov dword [ebp - 0x2270], ecx
lea ecx, [ebp - 0x3f8]
push dword [eax + 4]
push dword [eax]
push ecx
mov eax, dword [ebp - 0x2264]
push eax
mov edx, dword [ebp - 0x2268]
push edx
mov ecx, dword [ebp - 0x226c]
push ecx
call fcn.0040e9d4
mov dword [ebp - 0x2244], eax
xor eax, eax
mov dword [ebp - 0x2280], eax
add esp, 0x18
mov edx, dword [ebp - 0x20b8]
sub edx, dword [ebp - 0x2238]
mov dword [ebp - 0x2284], edx
lea edx, [ebp - 0x2290]
mov ecx, dword [ebp - 0x2244]
mov dword [ebp - 0x2288], ecx
mov eax, dword [ebp - 0x2298]
mov dword [ebp - 0x2290], eax
mov eax, dword [ebp - 0x2294]
mov dword [ebp - 0x228c], eax
lea eax, [ebp - 0x3f8]
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0x2280]
push eax
push edx
mov ecx, dword [ebp - 0x2284]
push ecx
mov eax, dword [ebp - 0x2288]
push eax
call fcn.0040ea64
add esp, 0x18
xor edx, edx
mov dword [ebp - 0x229c], edx
mov ecx, dword [ebp - 0x2238]
mov dword [ebp - 0x22a0], ecx
lea ecx, [ebp - 0x22ac]
mov eax, dword [ebp - 0x223c]
mov dword [ebp - 0x22a4], eax
lea eax, [ebp - 0x3f8]
mov edx, dword [ebp - 0x22b4]
mov dword [ebp - 0x22ac], edx
mov edx, dword [ebp - 0x22b0]
mov dword [ebp - 0x22a8], edx
lea edx, [ebp - 0x229c]
push dword [ecx + 4]
push dword [ecx]
push eax
push edx
mov ecx, dword [ebp - 0x22a0]
push ecx
mov eax, dword [ebp - 0x22a4]
push eax
call fcn.0040ea64
add esp, 0x18
jmp 0x41db28
mov edx, dword [ebp - 0x2244]
mov dword [ebp - 0x22b8], edx
mov ecx, dword [ebp - 0x20b8]
shl ecx, 2
add ecx, dword [ebp - 0x3e8]
mov dword [ebp - 0x22bc], ecx
lea ecx, [ebp - 0x22c8]
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x22c0], eax
lea eax, [ebp - 0x3f8]
mov edx, dword [ebp - 0x22d0]
mov dword [ebp - 0x22c8], edx
mov edx, dword [ebp - 0x22cc]
mov dword [ebp - 0x22c4], edx
push dword [ecx + 4]
push dword [ecx]
push eax
mov edx, dword [ebp - 0x22b8]
push edx
mov ecx, dword [ebp - 0x22bc]
push ecx
mov eax, dword [ebp - 0x22c0]
push eax
call fcn.0040e9d4
mov edx, dword [ebp - 0x223c]
add esp, 0x18
mov dword [ebp - 0x22d4], edx
mov ecx, dword [ebp - 0x2238]
shl ecx, 2
add ecx, dword [ebp - 0x3e8]
mov dword [ebp - 0x22d8], ecx
lea ecx, [ebp - 0x22e4]
mov eax, dword [ebp - 0x20b8]
shl eax, 2
add eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x22dc], eax
lea eax, [ebp - 0x3f8]
mov edx, dword [ebp - 0x22ec]
mov dword [ebp - 0x22e4], edx
mov edx, dword [ebp - 0x22e8]
mov dword [ebp - 0x22e0], edx
push dword [ecx + 4]
push dword [ecx]
push eax
mov edx, dword [ebp - 0x22d4]
push edx
mov ecx, dword [ebp - 0x22d8]
push ecx
mov eax, dword [ebp - 0x22dc]
push eax
call fcn.0040e9d4
add esp, 0x18
mov dword [ebp - 0x2244], eax
xor edx, edx
mov dword [ebp - 0x22f0], edx
lea edx, [ebp - 0x22fc]
mov ecx, dword [ebp - 0x2244]
mov dword [ebp - 0x22f4], ecx
mov eax, dword [ebp - 0x2304]
mov dword [ebp - 0x22fc], eax
mov eax, dword [ebp - 0x2300]
mov dword [ebp - 0x22f8], eax
lea eax, [ebp - 0x3f8]
push dword [edx + 4]
push dword [edx]
lea edx, [ebp - 0x22f0]
push eax
push edx
mov ecx, dword [ebp - 0x20b8]
push ecx
mov eax, dword [ebp - 0x22f4]
push eax
call fcn.0040ea64
add esp, 0x18
mov edx, dword [ebp - 0x3e4]
shl edx, 2
add edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x2308], edx
lea edx, [ebp - 0x2314]
mov ecx, dword [ebp - 0x2238]
shl ecx, 2
add ecx, dword [ebp - 0x3e8]
mov dword [ebp - 0x230c], ecx
mov eax, dword [ebp - 0x231c]
mov dword [ebp - 0x2314], eax
mov eax, dword [ebp - 0x2318]
mov dword [ebp - 0x2310], eax
lea eax, [ebp - 0x3f8]
push dword [edx + 4]
push dword [edx]
push eax
mov edx, dword [ebp - 0x2308]
push edx
mov ecx, dword [ebp - 0x230c]
push ecx
call fcn.0040eaf0
add esp, 0x14
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x2320], eax
mov edx, dword [ebp - 0x2320]
push edx
call fcn.00597660
pop ecx
mov ecx, dword [ebp - 0x223c]
mov dword [ebp - 0x3e8], ecx
mov eax, dword [ebp - 0x20b8]
add dword [ebp - 0x3e4], eax
mov edx, dword [ebp - 0x3e0]
add edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x2324], edx
mov ecx, dword [ebp - 0x2324]
shr ecx, 4
mov dword [ebp - 0x2328], ecx
mov eax, dword [ebp - 0x3e4]
cmp eax, dword [ebp - 0x2328]
ja 0x41dbfe
mov edx, dword [ebp - 0x3e4]
sub dword [ebp - 0x2328], edx
mov ecx, dword [ebp - 0x3e8]
mov ebx, dword [ebp - 0x2328]
cmp dword [ecx + ebx*4], 0
jne 0x41dc27
push 0x10
call fcn.0059cd68
pop ecx
mov edx, dword [ebp - 0x3e8]
mov ecx, dword [ebp - 0x2328]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x3e8]
mov edx, dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2324]
and ecx, 0xf
mov eax, dword [eax + edx*4]
add eax, ecx
mov dword [ebp - 0x232c], eax
mov eax, dword [ebp - 0x232c]
mov dword [ebp - 0x2330], eax
mov edx, dword [ebp - 0x2330]
push edx
push 1
call fcn.0040eb08
mov dword [ebp - 0x2334], eax
add esp, 8
mov ecx, dword [ebp - 0x20b4]
mov edx, dword [ebp - 0x2334]
mov al, byte [ecx]
mov byte [edx], al
inc dword [ebp - 0x3dc]
inc dword [ebp - 0x1d54]
mov ecx, dword [ebp - 0x1d54]
cmp ecx, dword [ebp - 0xa4]
jae 0x41dd84
mov eax, dword [ebp - 0x1d6c]
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x2084], eax
mov edx, dword [ebp - 0x2084]
mov dword [ebp - 0x2088], edx
mov dword [ebp - 0x208c], ecx
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x2090], eax
mov edx, dword [ebp - 0x208c]
mov dword [ebp - 0x2f00], edx
mov ecx, dword [ebp - 0x2090]
mov dword [ebp - 0x2efc], ecx
mov eax, dword [ebp - 0x2f00]
mov dword [ebp - 0x2f10], eax
mov edx, dword [ebp - 0x2efc]
mov dword [ebp - 0x2f0c], edx
mov ecx, dword [ebp - 0x2088]
add dword [ebp - 0x2f0c], ecx
mov eax, dword [ebp - 0x2f10]
mov dword [ebp - 0x2f20], eax
mov edx, dword [ebp - 0x2f0c]
mov dword [ebp - 0x2f1c], edx
mov ecx, dword [ebp - 0x2f1c]
shr ecx, 1
mov dword [ebp - 0x2094], ecx
mov eax, dword [ebp - 0x2f1c]
and eax, 1
mov dword [ebp - 0x2098], eax
mov edx, dword [ebp - 0x2f20]
mov ecx, dword [edx + 0x1c]
cmp ecx, dword [ebp - 0x2094]
ja 0x41dd59
mov eax, dword [ebp - 0x2f20]
mov edx, dword [eax + 0x1c]
sub dword [ebp - 0x2094], edx
mov ecx, dword [ebp - 0x2f20]
mov edx, dword [ebp - 0x2094]
mov ebx, dword [ebp - 0x2098]
shl ebx, 3
mov eax, dword [ecx + 0x18]
mov ecx, dword [eax + edx*4]
add ecx, ebx
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x1d54]
jg 0x41c744
mov edx, dword [ebp - 0x1d6c]
lea eax, [ebp - 0x150]
mov dword [ebp - 0x2338], edx
mov ecx, dword [ebp - 0x2338]
mov dword [ebp - 0x233c], ecx
mov dword [ebp - 0x2340], eax
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x2344], edx
mov ecx, dword [ebp - 0x2340]
mov dword [ebp - 0x2f60], ecx
mov eax, dword [ebp - 0x2344]
mov dword [ebp - 0x2f5c], eax
mov edx, dword [ebp - 0x2f60]
mov dword [ebp - 0x2f70], edx
mov ecx, dword [ebp - 0x2f5c]
mov dword [ebp - 0x2f6c], ecx
mov eax, dword [ebp - 0x233c]
add dword [ebp - 0x2f6c], eax
mov edx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f80], edx
mov ecx, dword [ebp - 0x2f6c]
mov dword [ebp - 0x2f7c], ecx
mov eax, dword [ebp - 0x2f7c]
shr eax, 1
mov dword [ebp - 0x2348], eax
mov edx, dword [ebp - 0x2f7c]
and edx, 1
mov dword [ebp - 0x234c], edx
mov ecx, dword [ebp - 0x2f80]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebp - 0x2348]
ja 0x41de45
mov edx, dword [ebp - 0x2f80]
mov ecx, dword [edx + 0x1c]
sub dword [ebp - 0x2348], ecx
mov eax, dword [ebp - 0x2f80]
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x2348]
mov eax, dword [edx + ecx*4]
mov edx, dword [ebp - 0x234c]
shl edx, 3
add eax, edx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1d68], ecx
inc dword [ebp - 0x1d6c]
mov eax, dword [ebp - 0x1d6c]
cmp eax, dword [ebp - 0x12c]
jb 0x41acfc
lea edx, [ebp - 0xc8]
lea ecx, [ebp - 0x400]
cmp edx, ecx
je 0x41e29a
cmp dword [ebp - 0x3dc], 0
jne 0x41deb2
lea eax, [ebp - 0xc8]
push eax
call fcn.0040eb2c
pop ecx
jmp 0x41e29a
mov edx, dword [ebp - 0x3dc]
cmp edx, dword [ebp - 0xa4]
ja 0x41e038
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x2350], ecx
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x2354], eax
lea eax, [ebp - 0x400]
mov edx, dword [ebp - 0x2350]
mov dword [ebp - 0x2f90], edx
mov ecx, dword [ebp - 0x2354]
mov dword [ebp - 0x2f8c], ecx
mov dword [ebp - 0x2358], eax
mov edx, dword [ebp - 0x3e0]
add edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x235c], edx
lea edx, [ebp - 0x400]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2fa0], ecx
mov eax, dword [ebp - 0x235c]
mov dword [ebp - 0x2f9c], eax
mov dword [ebp - 0x2360], edx
mov ecx, dword [ebp - 0x3e0]
mov dword [ebp - 0x2364], ecx
mov eax, dword [ebp - 0x2360]
mov dword [ebp - 0x2fb0], eax
lea eax, [ebp - 0x236c]
mov edx, dword [ebp - 0x2364]
mov dword [ebp - 0x2fac], edx
mov ecx, dword [ebp - 0x2374]
mov dword [ebp - 0x236c], ecx
mov ecx, dword [ebp - 0x2370]
mov dword [ebp - 0x2368], ecx
push dword [eax + 4]
push dword [eax]
add esp, 0xfffffff0
mov ecx, dword [ebp - 0x2f90]
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x2f8c]
mov dword [esp + 0xc], eax
add esp, 0xfffffff0
mov edx, dword [ebp - 0x2fa0]
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x2f9c]
mov dword [esp + 0xc], ecx
add esp, 0xfffffff0
mov eax, dword [ebp - 0x2fb0]
lea ecx, [ebp - 0x2fc8]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2fac]
mov dword [esp + 0xc], edx
push ecx
call fcn.00422770
lea eax, [ebp - 0xc8]
add esp, 0x3c
mov dword [ebp - 0x2378], eax
add esp, 0xfffffff0
mov edx, dword [ebp - 0xa8]
add edx, dword [ebp - 0xa4]
mov dword [ebp - 0x237c], edx
mov ecx, dword [ebp - 0x2378]
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x237c]
mov dword [esp + 0xc], eax
add esp, 0xfffffff0
mov edx, dword [ebp - 0x2fc0]
lea eax, [ebp - 0xc8]
mov dword [esp + 8], edx
lea edx, [ebp - 0x2fd8]
mov ecx, dword [ebp - 0x2fbc]
mov dword [esp + 0xc], ecx
push eax
push edx
call fcn.00422504
add esp, 0x28
jmp 0x41e29a
mov ecx, dword [ebp - 0xa4]
lea eax, [ebp - 0x400]
mov dword [ebp - 0x2380], ecx
mov dword [ebp - 0x2384], eax
mov edx, dword [ebp - 0x3e0]
mov dword [ebp - 0x2388], edx
mov ecx, dword [ebp - 0x2384]
mov dword [ebp - 0x2fe0], ecx
mov eax, dword [ebp - 0x2388]
mov dword [ebp - 0x2fdc], eax
mov edx, dword [ebp - 0x2fe0]
mov dword [ebp - 0x2ff0], edx
mov ecx, dword [ebp - 0x2fdc]
mov dword [ebp - 0x2fec], ecx
mov eax, dword [ebp - 0x2380]
add dword [ebp - 0x2fec], eax
lea eax, [ebp - 0xc8]
mov edx, dword [ebp - 0x2ff0]
mov dword [ebp - 0x3000], edx
mov ecx, dword [ebp - 0x2fec]
mov dword [ebp - 0x2ffc], ecx
mov dword [ebp - 0x238c], eax
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x2390], edx
mov ecx, dword [ebp - 0x238c]
mov dword [ebp - 0x3010], ecx
mov eax, dword [ebp - 0x2390]
mov dword [ebp - 0x300c], eax
lea eax, [ebp - 0x400]
mov edx, dword [ebp - 0x3000]
mov dword [ebp - 0x3020], edx
mov ecx, dword [ebp - 0x2ffc]
mov dword [ebp - 0x301c], ecx
mov dword [ebp - 0x2394], eax
mov edx, dword [ebp - 0x3e0]
mov dword [ebp - 0x2398], edx
mov ecx, dword [ebp - 0x2394]
mov dword [ebp - 0x3030], ecx
lea ecx, [ebp - 0x23a0]
mov eax, dword [ebp - 0x2398]
mov dword [ebp - 0x302c], eax
mov edx, dword [ebp - 0x23a8]
mov dword [ebp - 0x23a0], edx
mov edx, dword [ebp - 0x23a4]
mov dword [ebp - 0x239c], edx
push dword [ecx + 4]
push dword [ecx]
add esp, 0xfffffff0
mov eax, dword [ebp - 0x3010]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x300c]
mov dword [esp + 0xc], edx
add esp, 0xfffffff0
mov ecx, dword [ebp - 0x3020]
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x301c]
mov dword [esp + 0xc], eax
add esp, 0xfffffff0
mov edx, dword [ebp - 0x3030]
lea eax, [ebp - 0x3048]
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x302c]
mov dword [esp + 0xc], ecx
push eax
call fcn.00422770
lea edx, [ebp - 0x400]
add esp, 0x3c
mov dword [ebp - 0x23ac], edx
mov ecx, dword [ebp - 0x3e0]
add ecx, dword [ebp - 0x3dc]
mov dword [ebp - 0x23b0], ecx
mov eax, dword [ebp - 0x23ac]
mov dword [ebp - 0x3050], eax
mov edx, dword [ebp - 0x23b0]
mov dword [ebp - 0x304c], edx
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 0x3000]
mov dword [ebp - 0x3060], ecx
mov eax, dword [ebp - 0x2ffc]
mov dword [ebp - 0x305c], eax
mov dword [ebp - 0x23b4], edx
mov ecx, dword [ebp - 0xa8]
add ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x23b8], ecx
mov eax, dword [ebp - 0x23b4]
mov dword [ebp - 0x3070], eax
lea eax, [ebp - 0x23c0]
mov edx, dword [ebp - 0x23b8]
mov dword [ebp - 0x306c], edx
mov ecx, dword [ebp - 0x23c8]
mov dword [ebp - 0x23c0], ecx
mov ecx, dword [ebp - 0x23c4]
mov dword [ebp - 0x23bc], ecx
push dword [eax + 4]
push dword [eax]
add esp, 0xfffffff0
mov ecx, dword [ebp - 0x3050]
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x304c]
mov dword [esp + 0xc], eax
add esp, 0xfffffff0
mov edx, dword [ebp - 0x3060]
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x305c]
mov dword [esp + 0xc], ecx
add esp, 0xfffffff0
mov eax, dword [ebp - 0x3070]
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x306c]
mov dword [esp + 0xc], edx
push ecx
call fcn.00422804
add esp, 0x3c
dec dword [ebp - 0x6ac]
lea eax, [ebp - 0x400]
push eax
call fcn.0040eb2c
pop ecx
mov word [ebp - 0x6b8], 0xc
mov word [ebp - 0x6b8], 0x1c8
lea edx, [ebp - 0x23d0]
push edx
call fcn.00403e6c
pop ecx
lea ecx, [ebp - 0x23d0]
push ecx
lea eax, [ebp - 0x170]
push eax
call fcn.00403e94
add esp, 8
mov edx, 0xf
mov dword [ebp - 0x154], edx
mov byte [ebp - 0x23d1], 0
cmp dword [ebp - 0x154], 0x10
jb 0x41e305
mov ecx, dword [ebp - 0x168]
jmp 0x41e30b
lea ecx, [ebp - 0x168]
xor eax, eax
mov dword [ebp - 0x158], eax
add ecx, eax
mov dword [ebp - 0x23d8], ecx
mov edx, dword [ebp - 0x23d8]
mov cl, byte [ebp - 0x23d1]
mov byte [edx], cl
push 0x5b2282
call fcn.005a2354
pop ecx
mov dword [ebp - 0x23dc], eax
mov eax, 0x5b2282
test eax, eax
je 0x41e387
cmp dword [ebp - 0x154], 0x10
mov edx, 0x5b2282
jb 0x41e359
mov ecx, dword [ebp - 0x168]
jmp 0x41e35f
lea ecx, [ebp - 0x168]
cmp edx, ecx
jb 0x41e387
cmp dword [ebp - 0x154], 0x10
jb 0x41e374
mov eax, dword [ebp - 0x168]
jmp 0x41e37a
lea eax, [ebp - 0x168]
add eax, dword [ebp - 0x158]
cmp eax, 0x5b2282
ja 0x41e38b
xor edx, edx
jmp 0x41e38d
mov dl, 1
test dl, dl
je 0x41e8ea
cmp dword [ebp - 0x154], 0x10
mov eax, 0x5b2282
jb 0x41e3ab
mov ecx, dword [ebp - 0x168]
jmp 0x41e3b1
lea ecx, [ebp - 0x168]
sub eax, ecx
mov dword [ebp - 0x23e0], eax
mov eax, dword [ebp - 0x158]
cmp eax, dword [ebp - 0x23e0]
jae 0x41e3d4
lea edx, [ebp - 0x178]
push edx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x158]
sub eax, dword [ebp - 0x23e0]
mov dword [ebp - 0x23e4], eax
mov edx, dword [ebp - 0x23dc]
cmp edx, dword [ebp - 0x23e4]
jae 0x41e400
mov ecx, dword [ebp - 0x23dc]
mov dword [ebp - 0x23e4], ecx
lea eax, [ebp - 0x178]
lea edx, [ebp - 0x178]
cmp eax, edx
jne 0x41e678
mov dword [ebp - 0x23e8], 0xffffffff
mov ecx, dword [ebp - 0x23e0]
add ecx, dword [ebp - 0x23e4]
mov dword [ebp - 0x23ec], ecx
mov eax, dword [ebp - 0x158]
cmp eax, dword [ebp - 0x23ec]
jae 0x41e44b
lea edx, [ebp - 0x178]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x158]
sub ecx, dword [ebp - 0x23ec]
cmp ecx, dword [ebp - 0x23e8]
jae 0x41e471
mov eax, dword [ebp - 0x158]
sub eax, dword [ebp - 0x23ec]
mov dword [ebp - 0x23e8], eax
cmp dword [ebp - 0x23e8], 0
jbe 0x41e55d
mov edx, dword [ebp - 0x158]
sub edx, dword [ebp - 0x23ec]
sub edx, dword [ebp - 0x23e8]
mov dword [ebp - 0x23f0], edx
cmp dword [ebp - 0x154], 0x10
jb 0x41e4a7
mov ecx, dword [ebp - 0x168]
jmp 0x41e4ad
lea ecx, [ebp - 0x168]
add ecx, dword [ebp - 0x23ec]
add ecx, dword [ebp - 0x23e8]
mov dword [ebp - 0x23f4], ecx
cmp dword [ebp - 0x154], 0x10
jb 0x41e4d0
mov eax, dword [ebp - 0x168]
jmp 0x41e4d6
lea eax, [ebp - 0x168]
add eax, dword [ebp - 0x23ec]
mov dword [ebp - 0x23f8], eax
mov edx, dword [ebp - 0x23f0]
push edx
mov ecx, dword [ebp - 0x23f4]
push ecx
mov eax, dword [ebp - 0x23f8]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x158]
sub edx, dword [ebp - 0x23e8]
mov dword [ebp - 0x23fc], edx
mov ecx, dword [ebp - 0x23fc]
mov dword [ebp - 0x2400], ecx
mov byte [ebp - 0x2401], 0
cmp dword [ebp - 0x154], 0x10
jb 0x41e535
mov eax, dword [ebp - 0x168]
jmp 0x41e53b
lea eax, [ebp - 0x168]
mov edx, dword [ebp - 0x2400]
mov dword [ebp - 0x158], edx
add eax, edx
mov dword [ebp - 0x2408], eax
mov eax, dword [ebp - 0x2408]
mov cl, byte [ebp - 0x2401]
mov byte [eax], cl
mov eax, dword [ebp - 0x23e0]
mov dword [ebp - 0x240c], eax
cmp dword [ebp - 0x158], 0
jae 0x41e57f
lea edx, [ebp - 0x178]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x158]
cmp ecx, dword [ebp - 0x240c]
jae 0x41e599
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x240c], eax
cmp dword [ebp - 0x240c], 0
jbe 0x41eb0a
mov edx, dword [ebp - 0x158]
sub edx, dword [ebp - 0x240c]
mov dword [ebp - 0x2410], edx
cmp dword [ebp - 0x154], 0x10
jb 0x41e5c9
mov ecx, dword [ebp - 0x168]
jmp 0x41e5cf
lea ecx, [ebp - 0x168]
add ecx, dword [ebp - 0x240c]
mov dword [ebp - 0x2414], ecx
cmp dword [ebp - 0x154], 0x10
jb 0x41e5ec
mov eax, dword [ebp - 0x168]
jmp 0x41e5f2
lea eax, [ebp - 0x168]
mov dword [ebp - 0x2418], eax
mov edx, dword [ebp - 0x2410]
push edx
mov ecx, dword [ebp - 0x2414]
push ecx
mov eax, dword [ebp - 0x2418]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x158]
sub edx, dword [ebp - 0x240c]
mov dword [ebp - 0x241c], edx
mov ecx, dword [ebp - 0x241c]
mov dword [ebp - 0x2420], ecx
mov byte [ebp - 0x2421], 0
cmp dword [ebp - 0x154], 0x10
jb 0x41e64b
mov eax, dword [ebp - 0x168]
jmp 0x41e651
lea eax, [ebp - 0x168]
mov edx, dword [ebp - 0x2420]
mov dword [ebp - 0x158], edx
add eax, edx
mov dword [ebp - 0x2428], eax
mov eax, dword [ebp - 0x2428]
mov cl, byte [ebp - 0x2421]
mov byte [eax], cl
jmp 0x41eb0a
mov eax, dword [ebp - 0x23e4]
mov dword [ebp - 0x242c], eax
lea edx, [ebp - 0x170]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x2430], eax
cmp dword [ebp - 0x2430], 1
ja 0x41e6a7
mov ecx, 1
jmp 0x41e6ae
mov ecx, dword [ebp - 0x2430]
dec ecx
cmp ecx, dword [ebp - 0x242c]
jae 0x41e6c3
lea eax, [ebp - 0x178]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x154]
cmp edx, dword [ebp - 0x242c]
jae 0x41e7d6
mov eax, dword [ebp - 0x158]
push eax
mov edx, dword [ebp - 0x242c]
push edx
lea ecx, [ebp - 0x178]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x41e81b
cmp dword [ebp - 0x242c], 0
jne 0x41e81b
mov byte [ebp - 0x2449], 0
cmp dword [ebp - 0x154], 0x10
jb 0x41e7f7
mov eax, dword [ebp - 0x168]
jmp 0x41e7fd
lea eax, [ebp - 0x168]
xor edx, edx
mov dword [ebp - 0x158], edx
add eax, edx
mov dword [ebp - 0x2450], eax
mov eax, dword [ebp - 0x2450]
mov cl, byte [ebp - 0x2449]
mov byte [eax], cl
cmp dword [ebp - 0x242c], 0
seta al
and eax, 1
test al, al
je 0x41eb0a
mov edx, dword [ebp - 0x23e4]
mov dword [ebp - 0x2454], edx
cmp dword [ebp - 0x154], 0x10
jb 0x41e84d
mov ecx, dword [ebp - 0x168]
jmp 0x41e853
lea ecx, [ebp - 0x168]
add ecx, dword [ebp - 0x23e0]
mov dword [ebp - 0x2458], ecx
cmp dword [ebp - 0x154], 0x10
jb 0x41e870
mov eax, dword [ebp - 0x168]
jmp 0x41e876
lea eax, [ebp - 0x168]
mov dword [ebp - 0x245c], eax
mov edx, dword [ebp - 0x2454]
push edx
mov ecx, dword [ebp - 0x2458]
push ecx
mov eax, dword [ebp - 0x245c]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0x23e4]
mov dword [ebp - 0x2460], edx
mov byte [ebp - 0x2461], 0
cmp dword [ebp - 0x154], 0x10
jb 0x41e8bd
mov ecx, dword [ebp - 0x168]
jmp 0x41e8c3
lea ecx, [ebp - 0x168]
mov eax, dword [ebp - 0x2460]
mov dword [ebp - 0x158], eax
add ecx, eax
mov dword [ebp - 0x2468], ecx
mov edx, dword [ebp - 0x2468]
mov cl, byte [ebp - 0x2461]
mov byte [edx], cl
jmp 0x41eb0a
lea eax, [ebp - 0x170]
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0x246c], eax
cmp dword [ebp - 0x246c], 1
ja 0x41e90d
mov edx, 1
jmp 0x41e914
mov edx, dword [ebp - 0x246c]
dec edx
cmp edx, dword [ebp - 0x23dc]
jae 0x41e929
lea eax, [ebp - 0x178]
push eax
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 0x154]
cmp ecx, dword [ebp - 0x23dc]
jae 0x41ea3c
mov eax, dword [ebp - 0x158]
push eax
mov edx, dword [ebp - 0x23dc]
push edx
lea ecx, [ebp - 0x178]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x41ea81
cmp dword [ebp - 0x23dc], 0
jne 0x41ea81
mov byte [ebp - 0x2485], 0
cmp dword [ebp - 0x154], 0x10
jb 0x41ea5d
mov eax, dword [ebp - 0x168]
jmp 0x41ea63
lea eax, [ebp - 0x168]
xor edx, edx
mov dword [ebp - 0x158], edx
add eax, edx
mov dword [ebp - 0x248c], eax
mov eax, dword [ebp - 0x248c]
mov cl, byte [ebp - 0x2485]
mov byte [eax], cl
cmp dword [ebp - 0x23dc], 0
seta al
and eax, 1
test al, al
je 0x41eb0a
cmp dword [ebp - 0x154], 0x10
jb 0x41eaa3
mov edx, dword [ebp - 0x168]
jmp 0x41eaa9
lea edx, [ebp - 0x168]
mov dword [ebp - 0x2490], edx
mov eax, dword [ebp - 0x23dc]
push eax
push 0x5b2282
mov ecx, dword [ebp - 0x2490]
push ecx
call fcn.005a2008
add esp, 0xc
mov byte [ebp - 0x2491], 0
cmp dword [ebp - 0x154], 0x10
jb 0x41eae2
mov eax, dword [ebp - 0x168]
jmp 0x41eae8
lea eax, [ebp - 0x168]
mov edx, dword [ebp - 0x23dc]
mov dword [ebp - 0x158], edx
add eax, edx
mov dword [ebp - 0x2498], eax
mov eax, dword [ebp - 0x2498]
mov cl, byte [ebp - 0x2491]
mov byte [eax], cl
inc dword [ebp - 0x6ac]
lea eax, [ebp - 0x24a0]
mov word [ebp - 0x6b8], 0xc
mov word [ebp - 0x6b8], 0x1d4
push eax
call fcn.00403e6c
pop ecx
lea edx, [ebp - 0x24a0]
push edx
lea ecx, [ebp - 0x198]
push ecx
call fcn.00403e94
add esp, 8
mov eax, 0xf
mov dword [ebp - 0x17c], eax
mov byte [ebp - 0x24a1], 0
cmp dword [ebp - 0x17c], 0x10
jb 0x41eb68
mov edx, dword [ebp - 0x190]
jmp 0x41eb6e
lea edx, [ebp - 0x190]
xor eax, eax
mov dword [ebp - 0x180], eax
add edx, eax
mov dword [ebp - 0x24a8], edx
mov edx, dword [ebp - 0x24a8]
mov cl, byte [ebp - 0x24a1]
mov byte [edx], cl
push 0x5b2283
call fcn.005a2354
pop ecx
mov dword [ebp - 0x24ac], eax
mov eax, 0x5b2283
test eax, eax
je 0x41ebea
cmp dword [ebp - 0x17c], 0x10
mov edx, 0x5b2283
jb 0x41ebbc
mov ecx, dword [ebp - 0x190]
jmp 0x41ebc2
lea ecx, [ebp - 0x190]
cmp edx, ecx
jb 0x41ebea
cmp dword [ebp - 0x17c], 0x10
jb 0x41ebd7
mov eax, dword [ebp - 0x190]
jmp 0x41ebdd
lea eax, [ebp - 0x190]
add eax, dword [ebp - 0x180]
cmp eax, 0x5b2283
ja 0x41ebee
xor edx, edx
jmp 0x41ebf0
mov dl, 1
test dl, dl
je 0x41f14d
cmp dword [ebp - 0x17c], 0x10
mov eax, 0x5b2283
jb 0x41ec0e
mov ecx, dword [ebp - 0x190]
jmp 0x41ec14
lea ecx, [ebp - 0x190]
sub eax, ecx
mov dword [ebp - 0x24b0], eax
mov eax, dword [ebp - 0x180]
cmp eax, dword [ebp - 0x24b0]
jae 0x41ec37
lea edx, [ebp - 0x1a0]
push edx
call fcn.0059da88
pop ecx
mov eax, dword [ebp - 0x180]
sub eax, dword [ebp - 0x24b0]
mov dword [ebp - 0x24b4], eax
mov edx, dword [ebp - 0x24ac]
cmp edx, dword [ebp - 0x24b4]
jae 0x41ec63
mov ecx, dword [ebp - 0x24ac]
mov dword [ebp - 0x24b4], ecx
lea eax, [ebp - 0x1a0]
lea edx, [ebp - 0x1a0]
cmp eax, edx
jne 0x41eedb
mov dword [ebp - 0x24b8], 0xffffffff
mov ecx, dword [ebp - 0x24b0]
add ecx, dword [ebp - 0x24b4]
mov dword [ebp - 0x24bc], ecx
mov eax, dword [ebp - 0x180]
cmp eax, dword [ebp - 0x24bc]
jae 0x41ecae
lea edx, [ebp - 0x1a0]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x180]
sub ecx, dword [ebp - 0x24bc]
cmp ecx, dword [ebp - 0x24b8]
jae 0x41ecd4
mov eax, dword [ebp - 0x180]
sub eax, dword [ebp - 0x24bc]
mov dword [ebp - 0x24b8], eax
cmp dword [ebp - 0x24b8], 0
jbe 0x41edc0
mov edx, dword [ebp - 0x180]
sub edx, dword [ebp - 0x24bc]
sub edx, dword [ebp - 0x24b8]
mov dword [ebp - 0x24c0], edx
cmp dword [ebp - 0x17c], 0x10
jb 0x41ed0a
mov ecx, dword [ebp - 0x190]
jmp 0x41ed10
lea ecx, [ebp - 0x190]
add ecx, dword [ebp - 0x24bc]
add ecx, dword [ebp - 0x24b8]
mov dword [ebp - 0x24c4], ecx
cmp dword [ebp - 0x17c], 0x10
jb 0x41ed33
mov eax, dword [ebp - 0x190]
jmp 0x41ed39
lea eax, [ebp - 0x190]
add eax, dword [ebp - 0x24bc]
mov dword [ebp - 0x24c8], eax
mov edx, dword [ebp - 0x24c0]
push edx
mov ecx, dword [ebp - 0x24c4]
push ecx
mov eax, dword [ebp - 0x24c8]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x180]
sub edx, dword [ebp - 0x24b8]
mov dword [ebp - 0x24cc], edx
mov ecx, dword [ebp - 0x24cc]
mov dword [ebp - 0x24d0], ecx
mov byte [ebp - 0x24d1], 0
cmp dword [ebp - 0x17c], 0x10
jb 0x41ed98
mov eax, dword [ebp - 0x190]
jmp 0x41ed9e
lea eax, [ebp - 0x190]
mov edx, dword [ebp - 0x24d0]
mov dword [ebp - 0x180], edx
add eax, edx
mov dword [ebp - 0x24d8], eax
mov eax, dword [ebp - 0x24d8]
mov cl, byte [ebp - 0x24d1]
mov byte [eax], cl
mov eax, dword [ebp - 0x24b0]
mov dword [ebp - 0x24dc], eax
cmp dword [ebp - 0x180], 0
jae 0x41ede2
lea edx, [ebp - 0x1a0]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x180]
cmp ecx, dword [ebp - 0x24dc]
jae 0x41edfc
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x24dc], eax
cmp dword [ebp - 0x24dc], 0
jbe 0x41f36d
mov edx, dword [ebp - 0x180]
sub edx, dword [ebp - 0x24dc]
mov dword [ebp - 0x24e0], edx
cmp dword [ebp - 0x17c], 0x10
jb 0x41ee2c
mov ecx, dword [ebp - 0x190]
jmp 0x41ee32
lea ecx, [ebp - 0x190]
add ecx, dword [ebp - 0x24dc]
mov dword [ebp - 0x24e4], ecx
cmp dword [ebp - 0x17c], 0x10
jb 0x41ee4f
mov eax, dword [ebp - 0x190]
jmp 0x41ee55
lea eax, [ebp - 0x190]
mov dword [ebp - 0x24e8], eax
mov edx, dword [ebp - 0x24e0]
push edx
mov ecx, dword [ebp - 0x24e4]
push ecx
mov eax, dword [ebp - 0x24e8]
push eax
call fcn.005a2121
add esp, 0xc
mov edx, dword [ebp - 0x180]
sub edx, dword [ebp - 0x24dc]
mov dword [ebp - 0x24ec], edx
mov ecx, dword [ebp - 0x24ec]
mov dword [ebp - 0x24f0], ecx
mov byte [ebp - 0x24f1], 0
cmp dword [ebp - 0x17c], 0x10
jb 0x41eeae
mov eax, dword [ebp - 0x190]
jmp 0x41eeb4
lea eax, [ebp - 0x190]
mov edx, dword [ebp - 0x24f0]
mov dword [ebp - 0x180], edx
add eax, edx
mov dword [ebp - 0x24f8], eax
mov eax, dword [ebp - 0x24f8]
mov cl, byte [ebp - 0x24f1]
mov byte [eax], cl
jmp 0x41f36d
mov eax, dword [ebp - 0x24b4]
mov dword [ebp - 0x24fc], eax
lea edx, [ebp - 0x198]
push edx
call fcn.004040bc
pop ecx
mov dword [ebp - 0x2500], eax
cmp dword [ebp - 0x2500], 1
ja 0x41ef0a
mov ecx, 1
jmp 0x41ef11
mov ecx, dword [ebp - 0x2500]
dec ecx
cmp ecx, dword [ebp - 0x24fc]
jae 0x41ef26
lea eax, [ebp - 0x1a0]
push eax
call fcn.0059ce64
pop ecx
mov edx, dword [ebp - 0x17c]
cmp edx, dword [ebp - 0x24fc]
jae 0x41f039
mov eax, dword [ebp - 0x180]
push eax
mov edx, dword [ebp - 0x24fc]
push edx
lea ecx, [ebp - 0x1a0]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x41f07e
cmp dword [ebp - 0x24fc], 0
jne 0x41f07e
mov byte [ebp - 0x2519], 0
cmp dword [ebp - 0x17c], 0x10
jb 0x41f05a
mov eax, dword [ebp - 0x190]
jmp 0x41f060
lea eax, [ebp - 0x190]
xor edx, edx
mov dword [ebp - 0x180], edx
add eax, edx
mov dword [ebp - 0x2520], eax
mov eax, dword [ebp - 0x2520]
mov cl, byte [ebp - 0x2519]
mov byte [eax], cl
cmp dword [ebp - 0x24fc], 0
seta al
and eax, 1
test al, al
je 0x41f36d
mov edx, dword [ebp - 0x24b4]
mov dword [ebp - 0x2524], edx
cmp dword [ebp - 0x17c], 0x10
jb 0x41f0b0
mov ecx, dword [ebp - 0x190]
jmp 0x41f0b6
lea ecx, [ebp - 0x190]
add ecx, dword [ebp - 0x24b0]
mov dword [ebp - 0x2528], ecx
cmp dword [ebp - 0x17c], 0x10
jb 0x41f0d3
mov eax, dword [ebp - 0x190]
jmp 0x41f0d9
lea eax, [ebp - 0x190]
mov dword [ebp - 0x252c], eax
mov edx, dword [ebp - 0x2524]
push edx
mov ecx, dword [ebp - 0x2528]
push ecx
mov eax, dword [ebp - 0x252c]
push eax
call fcn.005a2008
add esp, 0xc
mov edx, dword [ebp - 0x24b4]
mov dword [ebp - 0x2530], edx
mov byte [ebp - 0x2531], 0
cmp dword [ebp - 0x17c], 0x10
jb 0x41f120
mov ecx, dword [ebp - 0x190]
jmp 0x41f126
lea ecx, [ebp - 0x190]
mov eax, dword [ebp - 0x2530]
mov dword [ebp - 0x180], eax
add ecx, eax
mov dword [ebp - 0x2538], ecx
mov edx, dword [ebp - 0x2538]
mov cl, byte [ebp - 0x2531]
mov byte [edx], cl
jmp 0x41f36d
lea eax, [ebp - 0x198]
push eax
call fcn.004040bc
pop ecx
mov dword [ebp - 0x253c], eax
cmp dword [ebp - 0x253c], 1
ja 0x41f170
mov edx, 1
jmp 0x41f177
mov edx, dword [ebp - 0x253c]
dec edx
cmp edx, dword [ebp - 0x24ac]
jae 0x41f18c
lea eax, [ebp - 0x1a0]
push eax
call fcn.0059ce64
pop ecx
mov ecx, dword [ebp - 0x17c]
cmp ecx, dword [ebp - 0x24ac]
jae 0x41f29f
mov eax, dword [ebp - 0x180]
push eax
mov edx, dword [ebp - 0x24ac]
push edx
lea ecx, [ebp - 0x1a0]
push ecx
call fcn.00403ebc
add esp, 0xc
jmp 0x41f2e4
cmp dword [ebp - 0x24ac], 0
jne 0x41f2e4
mov byte [ebp - 0x2555], 0
cmp dword [ebp - 0x17c], 0x10
jb 0x41f2c0
mov eax, dword [ebp - 0x190]
jmp 0x41f2c6
lea eax, [ebp - 0x190]
xor edx, edx
mov dword [ebp - 0x180], edx
add eax, edx
mov dword [ebp - 0x255c], eax
mov eax, dword [ebp - 0x255c]
mov cl, byte [ebp - 0x2555]
mov byte [eax], cl
cmp dword [ebp - 0x24ac], 0
seta al
and eax, 1
test al, al
je 0x41f36d
cmp dword [ebp - 0x17c], 0x10
jb 0x41f306
mov edx, dword [ebp - 0x190]
jmp 0x41f30c
lea edx, [ebp - 0x190]
mov dword [ebp - 0x2560], edx
mov eax, dword [ebp - 0x24ac]
push eax
push 0x5b2283
mov ecx, dword [ebp - 0x2560]
push ecx
call fcn.005a2008
add esp, 0xc
mov byte [ebp - 0x2561], 0
cmp dword [ebp - 0x17c], 0x10
jb 0x41f345
mov eax, dword [ebp - 0x190]
jmp 0x41f34b
lea eax, [ebp - 0x190]
mov edx, dword [ebp - 0x24ac]
mov dword [ebp - 0x180], edx
add eax, edx
mov dword [ebp - 0x2568], eax
mov eax, dword [ebp - 0x2568]
mov cl, byte [ebp - 0x2561]
mov byte [eax], cl
inc dword [ebp - 0x6ac]
xor eax, eax
mov word [ebp - 0x6b8], 0xc
mov dword [ebp - 0x256c], eax
xor edx, edx
mov dword [ebp - 0x2570], edx
mov word [ebp - 0x6b8], 0xc
jmp 0x41fbf4
mov ecx, dword [ebp - 0x2570]
lea edx, [ebp - 0x128]
mov dword [ebp - 0x2574], ecx
mov eax, dword [ebp - 0x2574]
mov dword [ebp - 0x2578], eax
mov dword [ebp - 0x257c], edx
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x2580], ecx
mov eax, dword [ebp - 0x257c]
mov dword [ebp - 0x3080], eax
mov edx, dword [ebp - 0x2580]
mov dword [ebp - 0x307c], edx
mov ecx, dword [ebp - 0x3080]
mov dword [ebp - 0x3090], ecx
mov eax, dword [ebp - 0x307c]
mov dword [ebp - 0x308c], eax
mov edx, dword [ebp - 0x2578]
add dword [ebp - 0x308c], edx
mov ecx, dword [ebp - 0x3090]
mov dword [ebp - 0x30a0], ecx
mov eax, dword [ebp - 0x308c]
mov dword [ebp - 0x309c], eax
mov edx, dword [ebp - 0x309c]
shr edx, 4
mov dword [ebp - 0x2584], edx
mov ecx, dword [ebp - 0x309c]
and ecx, 0xf
mov dword [ebp - 0x2588], ecx
mov eax, dword [ebp - 0x30a0]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x2584]
ja 0x41f45c
mov ecx, dword [ebp - 0x30a0]
mov eax, dword [ecx + 0x1c]
sub dword [ebp - 0x2584], eax
mov edx, dword [ebp - 0x30a0]
mov ebx, dword [ebp - 0x2584]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + ebx*4]
mov ecx, dword [ebp - 0x256c]
add eax, dword [ebp - 0x2588]
mov dl, byte [eax]
mov dword [ebp - 0x258c], ecx
cmp dword [ebp - 0x17c], 0x10
jb 0x41f493
mov eax, dword [ebp - 0x190]
jmp 0x41f499
lea eax, [ebp - 0x190]
add eax, dword [ebp - 0x258c]
cmp dl, byte [eax]
jne 0x41f4ab
inc dword [ebp - 0x256c]
jmp 0x41f4b3
xor edx, edx
mov dword [ebp - 0x256c], edx
mov ecx, dword [ebp - 0x256c]
cmp ecx, dword [ebp - 0x180]
jne 0x41fbee
mov eax, dword [ebp - 0x2570]
mov edx, dword [ebp - 0x104]
dec edx
inc eax
cmp eax, edx
jb 0x41f4dc
jmp 0x41fc06
mov ecx, dword [ebp - 0x2570]
inc ecx
mov dword [ebp - 0x2590], ecx
mov word [ebp - 0x6b8], 0xc
jmp 0x41f842
mov eax, dword [ebp - 0x2590]
cmp eax, dword [ebp - 0x104]
jae 0x41fc06
mov edx, dword [ebp - 0x2590]
lea eax, [ebp - 0x128]
mov dword [ebp - 0x2594], edx
mov ecx, dword [ebp - 0x2594]
mov dword [ebp - 0x2598], ecx
mov dword [ebp - 0x259c], eax
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0x25a0], edx
mov ecx, dword [ebp - 0x259c]
mov dword [ebp - 0x30b0], ecx
mov eax, dword [ebp - 0x25a0]
mov dword [ebp - 0x30ac], eax
mov edx, dword [ebp - 0x30b0]
mov dword [ebp - 0x30c0], edx
mov ecx, dword [ebp - 0x30ac]
mov dword [ebp - 0x30bc], ecx
mov eax, dword [ebp - 0x2598]
add dword [ebp - 0x30bc], eax
mov edx, dword [ebp - 0x30c0]
mov dword [ebp - 0x30d0], edx
mov ecx, dword [ebp - 0x30bc]
mov dword [ebp - 0x30cc], ecx
mov eax, dword [ebp - 0x30cc]
shr eax, 4
mov dword [ebp - 0x25a4], eax
mov edx, dword [ebp - 0x30cc]
and edx, 0xf
mov dword [ebp - 0x25a8], edx
mov ecx, dword [ebp - 0x30d0]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebp - 0x25a4]
ja 0x41f916
mov edx, dword [ebp - 0x30d0]
mov ecx, dword [edx + 0x1c]
sub dword [ebp - 0x25a4], ecx
mov eax, dword [ebp - 0x30d0]
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x25a4]
mov eax, dword [edx + ecx*4]
add eax, dword [ebp - 0x25a8]
movsx edx, byte [eax]
cmp edx, 0xd
je 0x41fc06
mov ecx, dword [ebp - 0x2590]
lea edx, [ebp - 0x128]
mov dword [ebp - 0x25ac], ecx
mov eax, dword [ebp - 0x25ac]
mov dword [ebp - 0x25b0], eax
mov dword [ebp - 0x25b4], edx
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x25b8], ecx
mov eax, dword [ebp - 0x25b4]
mov dword [ebp - 0x30e0], eax
mov edx, dword [ebp - 0x25b8]
mov dword [ebp - 0x30dc], edx
mov ecx, dword [ebp - 0x30e0]
mov dword [ebp - 0x30f0], ecx
mov eax, dword [ebp - 0x30dc]
mov dword [ebp - 0x30ec], eax
mov edx, dword [ebp - 0x25b0]
add dword [ebp - 0x30ec], edx
mov ecx, dword [ebp - 0x30f0]
mov dword [ebp - 0x3100], ecx
mov eax, dword [ebp - 0x30ec]
mov dword [ebp - 0x30fc], eax
mov edx, dword [ebp - 0x30fc]
shr edx, 4
mov dword [ebp - 0x25bc], edx
mov ecx, dword [ebp - 0x30fc]
and ecx, 0xf
mov dword [ebp - 0x25c0], ecx
mov eax, dword [ebp - 0x3100]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x25bc]
ja 0x41f9fc
mov ecx, dword [ebp - 0x3100]
mov eax, dword [ecx + 0x1c]
sub dword [ebp - 0x25bc], eax
mov edx, dword [ebp - 0x3100]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebp - 0x25bc]
mov eax, dword [ecx + ebx*4]
add eax, dword [ebp - 0x25c0]
movsx edx, byte [eax]
cmp edx, 0xa
je 0x41fc06
mov ecx, dword [ebp - 0x2590]
lea edx, [ebp - 0x128]
mov dword [ebp - 0x25c4], ecx
mov eax, dword [ebp - 0x25c4]
mov dword [ebp - 0x25c8], eax
mov dword [ebp - 0x25cc], edx
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x25d0], ecx
mov eax, dword [ebp - 0x25cc]
mov dword [ebp - 0x3110], eax
mov edx, dword [ebp - 0x25d0]
mov dword [ebp - 0x310c], edx
mov ecx, dword [ebp - 0x3110]
mov dword [ebp - 0x3120], ecx
mov eax, dword [ebp - 0x310c]
mov dword [ebp - 0x311c], eax
mov edx, dword [ebp - 0x25c8]
add dword [ebp - 0x311c], edx
mov ecx, dword [ebp - 0x3120]
mov dword [ebp - 0x3130], ecx
mov eax, dword [ebp - 0x311c]
mov dword [ebp - 0x312c], eax
mov edx, dword [ebp - 0x312c]
shr edx, 4
mov dword [ebp - 0x25d4], edx
mov ecx, dword [ebp - 0x312c]
and ecx, 0xf
mov dword [ebp - 0x25d8], ecx
mov eax, dword [ebp - 0x3130]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x25d4]
ja 0x41fae2
mov ecx, dword [ebp - 0x3130]
mov eax, dword [ecx + 0x1c]
sub dword [ebp - 0x25d4], eax
mov edx, dword [ebp - 0x3130]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebp - 0x25d4]
mov eax, dword [ecx + ebx*4]
add eax, dword [ebp - 0x25d8]
movsx edx, byte [eax]
cmp edx, 0x20
je 0x41fc06
mov ecx, dword [ebp - 0x2590]
lea edx, [ebp - 0x128]
mov dword [ebp - 0x25dc], ecx
mov eax, dword [ebp - 0x25dc]
mov dword [ebp - 0x25e0], eax
mov dword [ebp - 0x25e4], edx
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x25e8], ecx
mov eax, dword [ebp - 0x25e4]
mov dword [ebp - 0x3140], eax
mov edx, dword [ebp - 0x25e8]
mov dword [ebp - 0x313c], edx
mov ecx, dword [ebp - 0x3140]
mov dword [ebp - 0x3150], ecx
mov eax, dword [ebp - 0x313c]
mov dword [ebp - 0x314c], eax
mov edx, dword [ebp - 0x25e0]
add dword [ebp - 0x314c], edx
mov ecx, dword [ebp - 0x3150]
mov dword [ebp - 0x3160], ecx
mov eax, dword [ebp - 0x314c]
mov dword [ebp - 0x315c], eax
mov edx, dword [ebp - 0x315c]
shr edx, 4
mov dword [ebp - 0x25ec], edx
mov ecx, dword [ebp - 0x315c]
and ecx, 0xf
mov dword [ebp - 0x25f0], ecx
mov eax, dword [ebp - 0x3160]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x25ec]
ja 0x41fbc8
inc dword [ebp - 0x2570]
mov ecx, dword [ebp - 0x2570]
cmp ecx, dword [ebp - 0x104]
jb 0x41f39a
push 0x5b228e
call fcn.005a2354
pop ecx
mov dword [ebp - 0x2650], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x2654], eax
cmp dword [ebp - 0x158], 0
jae 0x41fc39
lea edx, [ebp - 0x178]
push edx
call fcn.0059da88
pop ecx
mov ecx, dword [ebp - 0x158]
cmp ecx, dword [ebp - 0x2654]
jae 0x41fc53
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x2654], eax
mov edx, dword [ebp - 0x2654]
cmp edx, dword [ebp - 0x2650]
jae 0x41fc69
mov ecx, dword [ebp - 0x2654]
jmp 0x41fc6f
mov ecx, dword [ebp - 0x2650]
mov dword [ebp - 0x265c], ecx
cmp dword [ebp - 0x154], 0x10
jb 0x41fc86
mov eax, dword [ebp - 0x168]
jmp 0x41fc8c
lea eax, [ebp - 0x168]
mov dword [ebp - 0x2660], eax
mov edx, dword [ebp - 0x265c]
push edx
push 0x5b228e
mov ecx, dword [ebp - 0x2660]
push ecx
call fcn.005a24a0
add esp, 0xc
mov dword [ebp - 0x2658], eax
cmp dword [ebp - 0x2658], 0
je 0x41fcc4
mov eax, dword [ebp - 0x2658]
jmp 0x41fcee
mov edx, dword [ebp - 0x2654]
cmp edx, dword [ebp - 0x2650]
jae 0x41fcd7
or eax, 0xffffffff
jmp 0x41fcee
mov edx, dword [ebp - 0x2654]
cmp edx, dword [ebp - 0x2650]
jne 0x41fce9
xor eax, eax
jmp 0x41fcee
mov eax, 1
test eax, eax
sete dl
and edx, 1
test dl, dl
je 0x42161f
mov word [ebp - 0x6b8], 0x1e0
cmp dword [ebp + 0x54], 0x10
jb 0x41fd12
mov edx, dword [ebp - 0xb10]
push edx
call sub.WSOCK32.DLL_closesocket
call sub.WSOCK32.DLL_WSACleanup
push 0x5b228f
call fcn.005a2354
pop ecx
mov dword [ebp - 0x283c], eax
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x2840], ecx
cmp dword [ebp - 0x158], 0
jae 0x421663
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret