Function at 0x40aa50
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3b0
push esi
push edi
lea edi, [ebp - 0x3b0]
mov ecx, 0xec
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x4b965c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x184], 0xd2
jg 0x40aad6
cmp dword [ebp - 0x184], 0xd2
je 0x40dbcd
mov ecx, dword [ebp - 0x184]
sub ecx, 3
mov dword [ebp - 0x184], ecx
cmp dword [ebp - 0x184], 0xcc
ja case.0x40ad29.4
mov edx, dword [ebp - 0x184]
movzx eax, byte [edx + 0x40fee4]
jmp dword [eax*4 + 0x40fd98]
cmp dword [ebp - 0x184], 0x2711
jg 0x40ab25
cmp dword [ebp - 0x184], 0x2711
je 0x40c959
mov ecx, dword [ebp - 0x184]
sub ecx, 0xd4
mov dword [ebp - 0x184], ecx
cmp dword [ebp - 0x184], 0x6e
ja case.0x40ad29.4
mov edx, dword [ebp - 0x184]
movzx eax, byte [edx + 0x410060]
jmp dword [eax*4 + 0x40ffb4]
cmp dword [ebp - 0x184], 0x27f4
jg 0x40ab77
cmp dword [ebp - 0x184], 0x27f4
je 0x40bd87
mov ecx, dword [ebp - 0x184]
sub ecx, 0x2712
mov dword [ebp - 0x184], ecx
cmp dword [ebp - 0x184], 0xde
ja case.0x40ad29.4
mov edx, dword [ebp - 0x184]
movzx eax, byte [edx + 0x4101f8]
jmp dword [eax*4 + 0x4100d0]
cmp dword [ebp - 0x184], 0x4e2b
jg 0x40abc6
cmp dword [ebp - 0x184], 0x4e2b
je 0x40d5be
mov ecx, dword [ebp - 0x184]
sub ecx, 0x27f6
mov dword [ebp - 0x184], ecx
cmp dword [ebp - 0x184], 0x5d
ja case.0x40ad29.4
mov edx, dword [ebp - 0x184]
movzx eax, byte [edx + 0x410378]
jmp dword [eax*4 + 0x4102d8]
cmp dword [ebp - 0x184], 0x4f30
jg 0x40ac18
cmp dword [ebp - 0x184], 0x4f30
je 0x40ecd0
mov ecx, dword [ebp - 0x184]
sub ecx, 0x4e2c
mov dword [ebp - 0x184], ecx
cmp dword [ebp - 0x184], 0xcf
ja case.0x40ad29.4
mov edx, dword [ebp - 0x184]
movzx eax, byte [edx + 0x410418]
jmp dword [eax*4 + 0x4103d8]
cmp dword [ebp - 0x184], 0x75c1
jg 0x40acbc
cmp dword [ebp - 0x184], 0x75c1
je 0x40cee6
cmp dword [ebp - 0x184], 0x75a3
jg 0x40ac87
cmp dword [ebp - 0x184], 0x75a3
je 0x40ce69
mov ecx, dword [ebp - 0x184]
sub ecx, 0x4f3b
mov dword [ebp - 0x184], ecx
cmp dword [ebp - 0x184], 0x1d
ja case.0x40ad29.4
mov edx, dword [ebp - 0x184]
movzx eax, byte [edx + 0x4104fc]
jmp dword [eax*4 + 0x4104e8]
cmp dword [ebp - 0x184], 0x75a4
je 0x40d4d7
cmp dword [ebp - 0x184], 0x75a5
je 0x40eb0c
cmp dword [ebp - 0x184], 0x75a8
je 0x40b8ae
jmp case.0x40ad29.4
cmp dword [ebp - 0x184], 0x9d63
jg 0x40acfd
cmp dword [ebp - 0x184], 0x9d63
je 0x40d6ea
cmp dword [ebp - 0x184], 0x75c2
je 0x40cf30
cmp dword [ebp - 0x184], 0x763e
je 0x40b517
jmp case.0x40ad29.4
mov ecx, dword [ebp - 0x184]
sub ecx, 0x9d64
mov dword [ebp - 0x184], ecx
cmp dword [ebp - 0x184], 0x12
ja case.0x40ad29.4
mov edx, dword [ebp - 0x184]
movzx eax, byte [edx + 0x41053c]
jmp dword [eax*4 + 0x41051c]
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jge 0x40ad54
mov eax, 0x2b
jmp 0x40fd2e
cmp dword [ebp - 0x10], 0x7fffffff
jle 0x40ad64
mov dword [ebp - 0x10], getpeername
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x4a4], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0xffffffff
jge 0x40ad99
mov eax, 0x2b
jmp 0x40fd2e
cmp dword [ebp - 0x10], 0x7fffffff
jle 0x40ada9
mov dword [ebp - 0x10], getpeername
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x4a0], ecx
jmp 0x40fd2b
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
shl edx, 5
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x21
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
push 0x20
mov eax, dword [ebp + 8]
push eax
call fcn.00421390
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x40ae6a
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x22
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40ae74
mov eax, 4
jmp 0x40fd2e
jmp 0x40fd2b
push 0x20
mov eax, dword [ebp + 8]
push eax
call fcn.00421390
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x40aebe
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x23
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40aec8
mov eax, 4
jmp 0x40fd2e
jmp 0x40fd2b
jmp 0x40fd2b
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0xffffffff
jbe 0x40aef9
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0x6a8], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40af28
mov dword [ebp - 0x188], 1
jmp 0x40af32
mov dword [ebp - 0x188], 0
cmp dword [ebp - 0x188], 0
jne 0x40af47
mov dword [ebp - 0x18c], 0
jmp 0x40af51
mov dword [ebp - 0x18c], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x18c]
mov byte [ecx + 0x6cd], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40af83
mov dword [ebp - 0x190], 1
jmp 0x40af8d
mov dword [ebp - 0x190], 0
cmp dword [ebp - 0x190], 0
jne 0x40afa2
mov dword [ebp - 0x194], 0
jmp 0x40afac
mov dword [ebp - 0x194], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x194]
mov byte [edx + 0x6ce], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40afde
mov dword [ebp - 0x198], 1
jmp 0x40afe8
mov dword [ebp - 0x198], 0
cmp dword [ebp - 0x198], 0
jne 0x40affd
mov dword [ebp - 0x19c], 0
jmp 0x40b007
mov dword [ebp - 0x19c], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x19c]
mov byte [eax + 0x6cb], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40b039
mov dword [ebp - 0x1a0], 1
jmp 0x40b043
mov dword [ebp - 0x1a0], 0
cmp dword [ebp - 0x1a0], 0
jne 0x40b058
mov dword [ebp - 0x1a4], 0
jmp 0x40b062
mov dword [ebp - 0x1a4], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x1a4]
mov byte [ecx + 0x6c7], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40b094
mov dword [ebp - 0x1a8], 1
jmp 0x40b09e
mov dword [ebp - 0x1a8], 0
cmp dword [ebp - 0x1a8], 0
jne 0x40b0b3
mov dword [ebp - 0x1ac], 0
jmp 0x40b0bd
mov dword [ebp - 0x1ac], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x1ac]
mov byte [edx + 0x6c1], al
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x6c1]
test edx, edx
je 0x40b0f1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x72c]
or ecx, 0x10
mov edx, dword [ebp + 8]
mov dword [edx + 0x72c], ecx
jmp 0x40b106
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x72c]
and ecx, 0xffffffef
mov edx, dword [ebp + 8]
mov dword [edx + 0x72c], ecx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40b129
mov dword [ebp - 0x1b0], 1
jmp 0x40b133
mov dword [ebp - 0x1b0], 0
cmp dword [ebp - 0x1b0], 0
jne 0x40b148
mov dword [ebp - 0x1b4], 0
jmp 0x40b152
mov dword [ebp - 0x1b4], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x1b4]
mov byte [edx + 0x6ca], al
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x6ca]
test edx, edx
je 0x40b17b
mov eax, dword [ebp + 8]
mov byte [eax + 0x3c1], 5
jmp 0x40b194
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x3c1]
cmp edx, 5
jne 0x40b194
mov eax, dword [ebp + 8]
mov byte [eax + 0x3c1], 0
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40b1b7
mov dword [ebp - 0x1b8], 1
jmp 0x40b1c1
mov dword [ebp - 0x1b8], 0
cmp dword [ebp - 0x1b8], 0
jne 0x40b1d6
mov dword [ebp - 0x1bc], 0
jmp 0x40b1e0
mov dword [ebp - 0x1bc], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x1bc]
mov byte [eax + 0x6c2], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40b212
mov dword [ebp - 0x1c0], 1
jmp 0x40b21c
mov dword [ebp - 0x1c0], 0
cmp dword [ebp - 0x1c0], 0
jne 0x40b231
mov dword [ebp - 0x1c4], 0
jmp 0x40b23b
mov dword [ebp - 0x1c4], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x1c4]
mov byte [ecx + 0x6c3], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
je 0x40b27d
mov eax, dword [ebp + 8]
mov byte [eax + 0x3c1], 4
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x6ca], 0
jmp 0x40b287
mov edx, dword [ebp + 8]
mov byte [edx + 0x3c1], 0
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x42
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40b2dd
mov dword [ebp - 0x1c8], 1
jmp 0x40b2e7
mov dword [ebp - 0x1c8], 0
cmp dword [ebp - 0x1c8], 0
jne 0x40b2fc
mov dword [ebp - 0x1cc], 0
jmp 0x40b306
mov dword [ebp - 0x1cc], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x1cc]
mov byte [eax + 0x6b6], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
jl 0x40b34d
cmp dword [ebp - 0x10], 0x20c49b
jg 0x40b34d
imul edx, dword [ebp - 0x10], 0x3e8
mov eax, dword [ebp + 8]
mov dword [eax + 0x1f4], edx
jmp 0x40b357
mov eax, 0x2b
jmp 0x40fd2e
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40b37a
mov dword [ebp - 0x1d0], 1
jmp 0x40b384
mov dword [ebp - 0x1d0], 0
cmp dword [ebp - 0x1d0], 0
jne 0x40b399
mov dword [ebp - 0x1d4], 0
jmp 0x40b3a3
mov dword [ebp - 0x1d4], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x1d4]
mov byte [eax + 0x6b0], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0xffb8
jg 0x40b3d8
cmp dword [ebp - 0x10], 8
jge 0x40b3e2
mov eax, 0x2b
jmp 0x40fd2e
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x200], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x40b411
cmp dword [ebp - 0x10], 3
jl 0x40b41b
mov eax, 0x2b
jmp 0x40fd2e
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x10]
mov byte [ecx + 0x4dd], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x14
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40b47d
mov dword [ebp - 0x1d8], 1
jmp 0x40b487
mov dword [ebp - 0x1d8], 0
cmp dword [ebp - 0x1d8], 0
jne 0x40b49c
mov dword [ebp - 0x1dc], 0
jmp 0x40b4a6
mov dword [ebp - 0x1dc], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x1dc]
mov byte [eax + 0x6b8], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
jl 0x40b4d8
cmp dword [ebp - 0x10], 4
jl 0x40b4e2
mov eax, 0x2b
jmp 0x40fd2e
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x10]
mov byte [edx + 0x3c0], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
cdq
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x3b8], eax
mov dword [ecx + 0x3bc], edx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 8
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 8]
mov ecx, dword [ecx - 4]
mov dword [eax + 0x3b8], edx
mov dword [eax + 0x3bc], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 8]
add edx, 0x3c4
mov dword [ebp - 0x28], edx
cmp dword [ebp + 0xc], 0x20
je 0x40b55a
mov eax, dword [ebp + 8]
add eax, 0x42c
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
and ecx, 0xffff
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x10]
and edx, 0xffff0000
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x20], 0
jl 0x40b5ab
cmp dword [ebp - 0x20], 2
je 0x40b5ab
cmp dword [ebp - 0x20], 3
je 0x40b5ab
cmp dword [ebp - 0x20], 8
jge 0x40b5ab
cmp dword [ebp - 0x24], 0
jl 0x40b5ab
cmp dword [ebp - 0x24], 0x80000
jl 0x40b5b5
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp - 0x28]
mov cl, byte [ebp - 0x20]
mov byte [eax + 0x38], cl
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [edx + 0x34], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x40b60a
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x1e0], ecx
mov edx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edx + 0x180]
and ecx, dword [eax + 0x184]
cmp ecx, 0xffffffff
jne 0x40b631
mov edx, dword [ebp - 8]
push edx
mov eax, 4
imul ecx, eax, 0x4f
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40b784
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x1e4], ecx
mov edx, dword [ebp - 0x1e4]
cmp dword [edx + 0x184], 0
jl 0x40b68c
jg 0x40b65a
mov eax, dword [ebp - 0x1e4]
cmp dword [eax + 0x180], 0
jb 0x40b68c
mov ecx, 1
test ecx, ecx
je 0x40b698
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1e8], edx
mov eax, dword [ebp - 0x1e8]
cmp dword [eax + 0x184], 0
jl 0x40b698
jg 0x40b68c
mov ecx, dword [ebp - 0x1e8]
cmp dword [ecx + 0x180], 0xffffffff
jbe 0x40b698
mov dword [ebp - 0xc], 0x1b
jmp 0x40b784
push 0
mov edx, 4
imul eax, edx, 0x4f
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1ec]
mov edx, dword [ebp - 0x1ec]
mov eax, dword [ecx + 0x180]
or eax, dword [edx + 0x184]
je 0x40b6f5
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x180]
mov eax, dword [ecx + 0x184]
mov dword [ebp - 0x1f4], edx
mov dword [ebp - 0x1f0], eax
jmp 0x40b707
xor ecx, ecx
mov dword [ebp - 0x1f4], 1
mov dword [ebp - 0x1f0], ecx
mov edx, dword [ebp - 0x1f4]
mov esi, esp
push edx
call dword [section..data]
add esp, 4
cmp esi, esp
call fcn.004a09b1
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x40b732
mov dword [ebp - 0xc], 0x1b
jmp 0x40b784
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1f8], eax
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ecx + 0x180]
or eax, dword [edx + 0x184]
je 0x40b76f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x180]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, 4
imul eax, edx, 0x4f
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x2c]
mov dword [ecx + eax + 0x4e4], edx
mov eax, 4
imul ecx, eax, 0x4f
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + ecx + 0x4e4]
mov dword [edx + 0x178], ecx
mov edx, dword [ebp + 8]
mov byte [edx + 0x3c1], 1
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x178], eax
push 0
mov ecx, 4
imul edx, ecx, 0x4f
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov edx, dword [ebp + 8]
mov byte [edx + 0x3c1], 1
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx - 4]
cdq
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0xffffffff
jg 0x40b820
jl 0x40b816
cmp dword [ebp - 0x1c], 0xffffffff
jae 0x40b820
mov eax, 0x2b
jmp 0x40fd2e
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax + 0x184]
cmp ecx, dword [ebp - 0x18]
jg 0x40b894
jl 0x40b84d
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx + 0x180]
cmp eax, dword [ebp - 0x1c]
jae 0x40b894
mov ecx, 4
imul edx, ecx, 0x4f
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 0x178]
cmp eax, dword [ecx + edx + 0x4e4]
jne 0x40b894
push 0
mov ecx, 4
imul edx, ecx, 0x4f
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov edx, dword [ebp + 8]
mov dword [edx + 0x178], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov dword [eax + 0x180], ecx
mov dword [eax + 0x184], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 8
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 8]
mov eax, dword [ecx - 4]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
jg 0x40b8de
jl 0x40b8d4
cmp dword [ebp - 0x1c], 0xffffffff
jae 0x40b8de
mov eax, 0x2b
jmp 0x40fd2e
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x200]
mov eax, dword [edx + 0x184]
cmp eax, dword [ebp - 0x18]
jg 0x40b952
jl 0x40b90b
mov ecx, dword [ebp - 0x200]
mov edx, dword [ecx + 0x180]
cmp edx, dword [ebp - 0x1c]
jae 0x40b952
mov eax, 4
imul ecx, eax, 0x4f
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [edx + 0x178]
cmp edx, dword [eax + ecx + 0x4e4]
jne 0x40b952
push 0
mov eax, 4
imul ecx, eax, 0x4f
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x178], 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [edx + 0x180], eax
mov dword [edx + 0x184], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40b98a
mov dword [ebp - 0x204], 1
jmp 0x40b994
mov dword [ebp - 0x204], 0
cmp dword [ebp - 0x204], 0
jne 0x40b9a9
mov dword [ebp - 0x208], 0
jmp 0x40b9b3
mov dword [ebp - 0x208], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x208]
mov byte [ecx + 0x6c9], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x40ba24
mov eax, dword [ebp - 8]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x40ba24
push 0x100
lea edx, [ebp - 0x130]
push edx
call fcn.00438ed0
add esp, 8
lea eax, [ebp - 0x130]
push eax
mov ecx, 4
imul edx, ecx, 9
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40ba46
mov edx, dword [ebp - 8]
push edx
mov eax, 4
imul ecx, eax, 9
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40ba69
mov dword [ebp - 0x20c], 1
jmp 0x40ba73
mov dword [ebp - 0x20c], 0
cmp dword [ebp - 0x20c], 0
jne 0x40ba88
mov dword [ebp - 0x210], 0
jmp 0x40ba92
mov dword [ebp - 0x210], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x210]
mov byte [eax + 0x6c5], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40bac4
mov dword [ebp - 0x214], 1
jmp 0x40bace
mov dword [ebp - 0x214], 0
cmp dword [ebp - 0x214], 0
jne 0x40bae3
mov dword [ebp - 0x218], 0
jmp 0x40baed
mov dword [ebp - 0x218], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x218]
mov byte [ecx + 0x6c4], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40bb1f
mov dword [ebp - 0x21c], 1
jmp 0x40bb29
mov dword [ebp - 0x21c], 0
cmp dword [ebp - 0x21c], 0
jne 0x40bb3e
mov dword [ebp - 0x220], 0
jmp 0x40bb48
mov dword [ebp - 0x220], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x220]
mov byte [edx + 0x6c6], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jge 0x40bb7e
mov eax, 0x2b
jmp 0x40fd2e
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x174], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jge 0x40bbb1
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp - 0x10]
and eax, 7
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x69c], al
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40bbed
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x3c1], 1
mov edx, dword [ebp + 8]
mov byte [edx + 0x6ca], 0
jmp 0x40bbf7
mov eax, dword [ebp + 8]
mov byte [eax + 0x3c1], 0
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x234], ecx
mov edx, dword [ebp + 8]
mov byte [edx + 0x3c1], 2
mov eax, dword [ebp + 8]
mov byte [eax + 0x6ca], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xcb4]
push edx
call fcn.0041bee0
add esp, 4
mov esi, esp
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xcb4]
push ecx
call dword [0x4ab004]
add esp, 4
cmp esi, esp
call fcn.004a09b1
mov edx, dword [ebp + 8]
mov dword [edx + 0xcb4], 0
xor eax, eax
jne 0x40bc3a
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x4c
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
mov edx, 4
imul eax, edx, 0x4c
mov ecx, dword [ebp + 8]
cmp dword [ecx + eax + 0x4e4], 0
je 0x40bcbc
mov edx, dword [ebp + 8]
mov dword [edx + 0x16c], 0x80
jmp 0x40fd2b
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xd65]
test ecx, ecx
je 0x40bd06
mov esi, esp
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xca8]
push eax
call dword [0x4ab004]
add esp, 4
cmp esi, esp
call fcn.004a09b1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xca8], 0
xor edx, edx
jne 0x40bccf
mov eax, dword [ebp + 8]
mov byte [eax + 0xd65], 0
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x18
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
mov edx, 4
imul eax, edx, 0x18
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 0x4e4]
mov dword [ecx + 0xca8], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x24
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x494], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
and eax, 1
je 0x40bdca
mov dword [ebp - 0x224], 1
jmp 0x40bdd4
mov dword [ebp - 0x224], 0
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x224]
mov byte [ecx + 0x6b1], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
shl eax, 2
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x40beaf
mov eax, dword [ebp - 8]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0x7a1200
jbe 0x40be50
mov eax, 0x2b
jmp 0x40fd2e
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xd14]
push eax
call fcn.00432780
add esp, 8
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0
jne 0x40be9e
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xd14]
push edx
call fcn.004327f0
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0xd14], 0
mov eax, 0x1b
jmp 0x40fd2e
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x138]
mov dword [ecx + 0xd14], edx
jmp 0x40bf1a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xd14]
push ecx
call fcn.004327f0
add esp, 4
mov edx, dword [ebp + 8]
mov dword [edx + 0xd14], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x84], 0
je 0x40bee9
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x84]
cmp dword [edx + 0x78], 0
jne 0x40bf0d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6e8]
push ecx
call fcn.00418690
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6e8]
push eax
call fcn.00418920
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x6e8], 0
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 5
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x6b2]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6e8]
push eax
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00418990
add esp, 0x10
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
jne 0x40bf86
mov dword [ebp - 0xc], 0x1b
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x13c]
mov dword [edx + 0x6e8], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40bfb8
mov dword [ebp - 0x228], 1
jmp 0x40bfc2
mov dword [ebp - 0x228], 0
cmp dword [ebp - 0x228], 0
jne 0x40bfd7
mov dword [ebp - 0x22c], 0
jmp 0x40bfe1
mov dword [ebp - 0x22c], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x22c]
mov byte [eax + 0x6b2], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
jne 0x40c012
jmp 0x40fd2b
push 0x4ad094
mov edx, dword [ebp - 8]
push edx
call fcn.00438a30
add esp, 8
test eax, eax
je 0x40c05c
push 2
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.00439960
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6e8]
push edx
call fcn.00418690
add esp, 4
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.004399e0
add esp, 8
jmp 0x40c222
push str.SESS
mov ecx, dword [ebp - 8]
push ecx
call fcn.00438a30
add esp, 8
test eax, eax
je 0x40c0a6
push 2
push 2
mov edx, dword [ebp + 8]
push edx
call fcn.00439960
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6e8]
push ecx
call fcn.00418700
add esp, 4
push 2
mov edx, dword [ebp + 8]
push edx
call fcn.004399e0
add esp, 8
jmp 0x40c222
push str.FLUSH
mov eax, dword [ebp - 8]
push eax
call fcn.00438a30
add esp, 8
test eax, eax
je 0x40c0ce
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00418810
add esp, 8
jmp 0x40c222
push str.RELOAD
mov edx, dword [ebp - 8]
push edx
call fcn.00438a30
add esp, 8
test eax, eax
je 0x40c0f9
mov eax, dword [ebp + 8]
push eax
call fcn.00418c70
add esp, 4
jmp 0x40fd2b
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x6e8], 0
jne 0x40c120
push 1
push 0
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00418990
add esp, 0x10
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x6e8], eax
mov edx, dword [ebp - 8]
push edx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0x7a1200
jbe 0x40c13d
mov eax, 0x2b
jmp 0x40fd2e
mov esi, esp
mov eax, dword [ebp - 8]
push eax
call dword [0x4ab00c]
add esp, 4
cmp esi, esp
call fcn.004a09b1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x40c168
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x6e8], 0
jne 0x40c18a
mov dword [ebp - 0xc], 0x1b
mov esi, esp
mov edx, dword [ebp - 8]
push edx
call dword [0x4ab004]
add esp, 4
cmp esi, esp
call fcn.004a09b1
jmp 0x40c222
push 2
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.00439960
add esp, 0xc
push 0xb
push 0x4ad0b0
mov ecx, dword [ebp - 8]
push ecx
call fcn.00438a90
add esp, 0xc
test eax, eax
je 0x40c1da
push 1
push 0
push 0
mov edx, dword [ebp - 8]
add edx, 0xb
push edx
push 0
push 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6e8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00416da0
add esp, 0x20
jmp 0x40c1fe
push 1
push 0
push 0
mov eax, dword [ebp - 8]
push eax
push 0
push 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6e8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00416da0
add esp, 0x20
push 2
mov ecx, dword [ebp + 8]
push ecx
call fcn.004399e0
add esp, 8
mov esi, esp
mov edx, dword [ebp - 8]
push edx
call dword [0x4ab004]
add esp, 4
cmp esi, esp
call fcn.004a09b1
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40c24d
mov edx, dword [ebp + 8]
mov byte [edx + 0x3c1], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0x6ca], 0
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 0
je 0x40c28a
cmp dword [ebp - 0x230], 1
je 0x40c28c
cmp dword [ebp - 0x230], 2
je 0x40c28c
jmp 0x40c28e
jmp 0x40c2a8
jmp 0x40c2a8
cmp dword [ebp - 0x10], 0
jge 0x40c29e
mov eax, 0x2b
jmp 0x40fd2e
mov eax, 1
jmp 0x40fd2e
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x10]
mov byte [edx + 0x3c2], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x40c2db
mov eax, 0x2b
jmp 0x40fd2e
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x678], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 1
jle 0x40c30e
mov eax, 0x2b
jmp 0x40fd2e
cmp dword [ebp - 0x10], 0
je 0x40c320
mov dword [ebp - 0x234], 1
jmp 0x40c32a
mov dword [ebp - 0x234], 0
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x234]
mov byte [eax + 0x6e5], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x4b4], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x230], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
push 0
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x238
push ecx
call fcn.0041c220
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x40c3f8
mov edx, dword [ebp + 8]
mov byte [edx + 0x3c1], 3
mov eax, dword [ebp + 8]
mov byte [eax + 0x6ca], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xcb4]
push edx
call fcn.0041bee0
add esp, 4
mov esi, esp
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xcb4]
push ecx
call dword [0x4ab004]
add esp, 4
cmp esi, esp
call fcn.004a09b1
mov edx, dword [ebp + 8]
mov dword [edx + 0xcb4], 0
xor eax, eax
jne 0x40c3cb
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
and ecx, 1
je 0x40c423
mov dword [ebp - 0x238], 1
jmp 0x40c42d
mov dword [ebp - 0x238], 0
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x238]
mov byte [edx + 0x6ae], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
jne 0x40c473
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x148]
mov dword [ecx + 0x16c], edx
jmp 0x40fd2b
mov eax, dword [ebp - 0x148]
and eax, 0x10
je 0x40c48a
mov dword [ebp - 0x23c], 1
jmp 0x40c494
mov dword [ebp - 0x23c], 0
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x23c]
mov byte [ecx + 0x97e], dl
mov eax, dword [ebp - 0x148]
and eax, 0x10
je 0x40c4cc
mov ecx, dword [ebp - 0x148]
or ecx, 2
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x148]
and edx, 0xffffffef
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x148]
and eax, 0xffffffdf
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x140], 0
mov byte [ebp - 0x141], 0
cmp dword [ebp - 0x140], 0x1f
jge 0x40c531
mov edx, 1
mov ecx, dword [ebp - 0x140]
shl edx, cl
and edx, dword [ebp - 0x148]
mov dword [ebp - 0x240], edx
mov eax, dword [ebp - 0x140]
add eax, 1
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x240], 0
je 0x40c52f
mov byte [ebp - 0x141], 1
jmp 0x40c531
jmp 0x40c4ec
movzx ecx, byte [ebp - 0x141]
test ecx, ecx
jne 0x40c546
mov eax, 4
jmp 0x40fd2e
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x148]
mov dword [edx + 0x16c], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 6
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40c5ab
mov dword [ebp - 0x244], 1
jmp 0x40c5b5
mov dword [ebp - 0x244], 0
cmp dword [ebp - 0x244], 0
jne 0x40c5ca
mov dword [ebp - 0x248], 0
jmp 0x40c5d4
mov dword [ebp - 0x248], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x248]
mov byte [ecx + 0x6b7], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jl 0x40c609
cmp dword [ebp - 0x10], 0xffff
jle 0x40c613
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov cx, word [ebp - 0x10]
mov word [eax + 0x498], cx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x154], ecx
cmp dword [ebp - 0x154], 0
jne 0x40c658
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x154]
mov dword [edx + 0x170], eax
jmp 0x40fd2b
mov ecx, dword [ebp - 0x154]
and ecx, 0x10
je 0x40c66f
mov dword [ebp - 0x24c], 1
jmp 0x40c679
mov dword [ebp - 0x24c], 0
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x24c]
mov byte [edx + 0x98e], al
mov ecx, dword [ebp - 0x154]
and ecx, 0x10
je 0x40c6b1
mov edx, dword [ebp - 0x154]
or edx, 2
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x154]
and eax, 0xffffffef
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x154]
and ecx, 0xffffffdf
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x14c], 0
mov byte [ebp - 0x14d], 0
cmp dword [ebp - 0x14c], 0x1f
jge 0x40c716
mov edx, 1
mov ecx, dword [ebp - 0x14c]
shl edx, cl
and edx, dword [ebp - 0x154]
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x14c]
add eax, 1
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x250], 0
je 0x40c714
mov byte [ebp - 0x14d], 1
jmp 0x40c716
jmp 0x40c6d1
movzx ecx, byte [ebp - 0x14d]
test ecx, ecx
jne 0x40c72b
mov eax, 4
jmp 0x40fd2e
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x154]
mov dword [edx + 0x170], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x15
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x16
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jl 0x40c7c3
cmp dword [ebp - 0x10], 7
jle 0x40c7cd
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x10]
mov byte [eax + 0x49a], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x254], ecx
cmp dword [ebp - 0x254], 0
je 0x40c807
cmp dword [ebp - 0x254], 1
je 0x40c813
jmp 0x40c81f
mov edx, dword [ebp + 8]
mov byte [edx + 0x6d4], 0
jmp 0x40c826
mov eax, dword [ebp + 8]
mov byte [eax + 0x6d4], 1
jmp 0x40c826
mov dword [ebp - 0xc], 0x2b
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov cl, byte [eax - 4]
mov byte [edx + 0x49b], cl
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x49b]
and eax, 0xfffffffa
je 0x40c859
mov dword [ebp - 0xc], 4
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40c87c
mov dword [ebp - 0x258], 1
jmp 0x40c886
mov dword [ebp - 0x258], 0
cmp dword [ebp - 0x258], 0
jne 0x40c89b
mov dword [ebp - 0x25c], 0
jmp 0x40c8a5
mov dword [ebp - 0x25c], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x25c]
mov byte [eax + 0x6d5], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x38
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x39
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x164], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x158], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x15c], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40c994
mov dword [ebp - 0x260], 1
jmp 0x40c99e
mov dword [ebp - 0x260], 0
cmp dword [ebp - 0x260], 0
jne 0x40c9b3
mov dword [ebp - 0x264], 0
jmp 0x40c9bd
mov dword [ebp - 0x264], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x264]
mov byte [eax + 0x6ba], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40c9ef
mov dword [ebp - 0x268], 1
jmp 0x40c9f9
mov dword [ebp - 0x268], 0
cmp dword [ebp - 0x268], 0
jne 0x40ca0e
mov dword [ebp - 0x26c], 0
jmp 0x40ca18
mov dword [ebp - 0x26c], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x26c]
mov byte [ecx + 0x6b9], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jl 0x40ca4a
cmp dword [ebp - 0x10], 4
jl 0x40ca54
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x10]
mov byte [eax + 0x4c8], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0xc
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
mov eax, 4
imul ecx, eax, 0xc
mov edx, dword [ebp + 8]
cmp dword [edx + ecx + 0x4e4], 0
je 0x40cab4
mov dword [ebp - 0x270], 1
jmp 0x40cabe
mov dword [ebp - 0x270], 0
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x270]
mov byte [eax + 0x6bb], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40caf0
mov dword [ebp - 0x274], 1
jmp 0x40cafa
mov dword [ebp - 0x274], 0
cmp dword [ebp - 0x274], 0
jne 0x40cb0f
mov dword [ebp - 0x278], 0
jmp 0x40cb19
mov dword [ebp - 0x278], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x278]
mov byte [ecx + 0x6bd], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40cb4b
mov dword [ebp - 0x27c], 1
jmp 0x40cb55
mov dword [ebp - 0x27c], 0
cmp dword [ebp - 0x27c], 0
jne 0x40cb6a
mov dword [ebp - 0x280], 0
jmp 0x40cb74
mov dword [ebp - 0x280], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x280]
mov byte [edx + 0x6bc], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40cba6
mov dword [ebp - 0x284], 1
jmp 0x40cbb0
mov dword [ebp - 0x284], 0
cmp dword [ebp - 0x284], 0
jne 0x40cbc5
mov dword [ebp - 0x288], 0
jmp 0x40cbcf
mov dword [ebp - 0x288], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x288]
mov byte [eax + 0x6be], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
jl 0x40cc01
cmp dword [ebp - 0x10], 3
jl 0x40cc0b
mov eax, 0x2b
jmp 0x40fd2e
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x10]
mov byte [edx + 0x4ca], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40cc3a
mov dword [ebp - 0x28c], 1
jmp 0x40cc44
mov dword [ebp - 0x28c], 0
cmp dword [ebp - 0x28c], 0
jne 0x40cc59
mov dword [ebp - 0x290], 0
jmp 0x40cc63
mov dword [ebp - 0x290], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x290]
mov byte [eax + 0x6bf], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0xa
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0xb
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x40ccfb
cmp dword [ebp - 0x10], 3
jl 0x40cd05
mov eax, 0x2b
jmp 0x40fd2e
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x10]
mov byte [ecx + 0x4c9], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x13
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
mov ecx, 4
imul edx, ecx, 0x13
mov eax, dword [ebp + 8]
cmp dword [eax + edx + 0x4e4], 0
je 0x40cd65
mov dword [ebp - 0x294], 1
jmp 0x40cd6f
mov dword [ebp - 0x294], 0
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x294]
mov byte [ecx + 0x6cc], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jl 0x40cda1
cmp dword [ebp - 0x10], 2
jle 0x40cdaa
mov dword [ebp - 0xc], 0x2b
jmp 0x40cdb6
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x10]
mov byte [eax + 0x4dc], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x4d4], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x4d8], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x4d0], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x160], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0xffffffff
jge 0x40ce51
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp - 0x10]
cdq
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x208], eax
mov dword [ecx + 0x20c], edx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 8
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0xffffffff
jg 0x40ce99
jl 0x40ce8f
cmp dword [ebp - 0x1c], 0xffffffff
jae 0x40ce99
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov dword [eax + 0x208], ecx
mov dword [eax + 0x20c], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jge 0x40ced5
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x210], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 8
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0
jg 0x40cf16
jl 0x40cf0c
cmp dword [ebp - 0x1c], 0
jae 0x40cf16
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov dword [eax + 0x218], ecx
mov dword [eax + 0x21c], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 8
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 8]
mov eax, dword [ecx - 4]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jg 0x40cf60
jl 0x40cf56
cmp dword [ebp - 0x1c], 0
jae 0x40cf60
mov eax, 0x2b
jmp 0x40fd2e
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x220], edx
mov dword [ecx + 0x224], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x40cf9c
mov eax, 0x2b
jmp 0x40fd2e
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x214], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x690], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xd64]
test edx, edx
je 0x40d00f
mov esi, esp
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xca4]
push ecx
call dword [0x4ab004]
add esp, 4
cmp esi, esp
call fcn.004a09b1
mov edx, dword [ebp + 8]
mov dword [edx + 0xca4], 0
xor eax, eax
jne 0x40cfd8
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xd64], 0
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x19
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
mov eax, 4
imul ecx, eax, 0x19
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + ecx + 0x4e4]
mov dword [edx + 0xca4], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
jl 0x40d07e
cmp dword [ebp - 0x10], 0xffff
jle 0x40d088
mov eax, 0x2b
jmp 0x40fd2e
mov edx, dword [ebp + 8]
mov ax, word [ebp - 0x10]
mov word [edx + 0x168], ax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x40d0ce
cmp dword [ebp - 0x10], 0x20c49b
jg 0x40d0ce
imul ecx, dword [ebp - 0x10], 0x3e8
mov edx, dword [ebp + 8]
mov dword [edx + 0x1e8], ecx
jmp 0x40d0d8
mov eax, 0x2b
jmp 0x40fd2e
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0xffffffff
jbe 0x40d0fc
mov dword [ebp - 0x14], 0xffffffff
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0x1e8], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
jl 0x40d140
cmp dword [ebp - 0x10], 0x20c49b
jg 0x40d140
imul edx, dword [ebp - 0x10], 0x3e8
mov eax, dword [ebp + 8]
mov dword [eax + 0x1ec], edx
jmp 0x40d14a
mov eax, 0x2b
jmp 0x40fd2e
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jbe 0x40d16e
mov dword [ebp - 0x14], 0xffffffff
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
mov dword [ecx + 0x1ec], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0xffffffff
jbe 0x40d19e
mov dword [ebp - 0x14], 0xffffffff
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0x4cc], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, 4
imul ecx, eax, 0x2b
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
mov ecx, 4
imul edx, ecx, 0x2a
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
call fcn.00410580
add esp, 0xc
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x2a
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x2b
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x2c
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
shl ecx, 6
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x3ac], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3ac]
mov dword [edx + 0xcac], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x19c], edx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x19c], 0
je 0x40d320
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x87c], 1
jmp 0x40d32a
mov edx, dword [ebp + 8]
mov byte [edx + 0x87c], 0
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x1a0], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1a0], 0
je 0x40d35f
mov edx, dword [ebp + 8]
mov byte [edx + 0x87c], 1
jmp 0x40d369
mov eax, dword [ebp + 8]
mov byte [eax + 0x87c], 0
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x1e0], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, 4
imul ecx, eax, 0x2e
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
mov ecx, 4
imul edx, ecx, 0x2d
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
call fcn.00410580
add esp, 0xc
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x2d
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x2e
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x2f
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x17
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0xffffffff
jge 0x40d4bf
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp - 0x10]
cdq
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x228], eax
mov dword [ecx + 0x22c], edx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 8
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0xffffffff
jg 0x40d507
jl 0x40d4fd
cmp dword [ebp - 0x1c], 0xffffffff
jae 0x40d507
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov dword [eax + 0x228], ecx
mov dword [eax + 0x22c], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x1a4], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x154], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x150], edx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x150], 0
jne 0x40d59c
mov esi, esp
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
cmp esi, esp
call fcn.004a09b1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x150], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x190], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x18c], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x18c], 0
jne 0x40d5f0
mov edx, dword [ebp + 8]
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov dword [edx + 0x18c], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x198], ecx
mov edx, dword [ebp + 8]
cmp dword [edx + 0x198], 0
jne 0x40d634
mov eax, dword [ebp + 8]
mov byte [eax + 0x6af], 0
mov ecx, dword [ebp + 8]
mov edx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov dword [ecx + 0x198], edx
jmp 0x40d63e
mov eax, dword [ebp + 8]
mov byte [eax + 0x6af], 1
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x17c], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x1cc], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x1a8], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x1e4], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x624]
push eax
call fcn.0040a940
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x624]
push eax
call fcn.0040a940
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0xd
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x624]
push edx
call fcn.0040a940
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0xe
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x624]
push ecx
call fcn.0040a940
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x11
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x12
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0xf
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
shl edx, 4
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x40d9e5
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx + eax]
test edx, edx
je 0x40d9e5
mov eax, dword [ebp - 8]
push eax
mov ecx, 4
imul edx, ecx, 0x29
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x40d9e5
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00420600
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
push 0
mov ecx, 4
imul edx, ecx, 0x29
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov edx, dword [ebp + 8]
push edx
call fcn.00420630
add esp, 4
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40da39
mov dword [ebp - 0x298], 1
jmp 0x40da43
mov dword [ebp - 0x298], 0
cmp dword [ebp - 0x298], 0
jne 0x40da58
mov dword [ebp - 0x29c], 0
jmp 0x40da62
mov dword [ebp - 0x29c], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x29c]
mov byte [edx + 0x6b3], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40da94
mov dword [ebp - 0x2a0], 1
jmp 0x40da9e
mov dword [ebp - 0x2a0], 0
cmp dword [ebp - 0x2a0], 0
jne 0x40dab3
mov dword [ebp - 0x2a4], 0
jmp 0x40dabd
mov dword [ebp - 0x2a4], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x2a4]
mov byte [eax + 0x6de], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x4d
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x6de], 1
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
shl ecx, 3
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x40db62
cmp dword [ebp - 0x10], 0xffff
jle 0x40db6c
mov eax, 0x2b
jmp 0x40fd2e
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00432a70
add esp, 4
mov edx, dword [ebp + 8]
mov word [edx + 0x188], ax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jl 0x40dba8
cmp dword [ebp - 0x10], 0xffff
jle 0x40dbb2
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp - 0x10]
push eax
call fcn.00432a70
add esp, 4
mov ecx, dword [ebp + 8]
mov word [ecx + 0x18a], ax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x14], ecx
movzx edx, byte [ebp - 0x14]
and edx, 3
mov eax, dword [ebp + 8]
mov byte [eax + 0x66c], dl
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40dc12
mov dword [ebp - 0x2a8], 1
jmp 0x40dc1c
mov dword [ebp - 0x2a8], 0
cmp dword [ebp - 0x2a8], 0
jne 0x40dc31
mov dword [ebp - 0x2ac], 0
jmp 0x40dc3b
mov dword [ebp - 0x2ac], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x2ac]
mov byte [eax + 0x3fd], cl
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.004200f0
add esp, 8
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40dc7b
mov dword [ebp - 0x2b0], 1
jmp 0x40dc85
mov dword [ebp - 0x2b0], 0
cmp dword [ebp - 0x2b0], 0
jne 0x40dc9a
mov dword [ebp - 0x2b4], 0
jmp 0x40dca4
mov dword [ebp - 0x2b4], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x2b4]
mov byte [edx + 0x6e2], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40dcd6
mov dword [ebp - 0x2b8], 1
jmp 0x40dce0
mov dword [ebp - 0x2b8], 0
cmp dword [ebp - 0x2b8], 0
jne 0x40dcf5
mov dword [ebp - 0x2bc], 0
jmp 0x40dcff
mov dword [ebp - 0x2bc], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x2bc]
mov byte [eax + 0x465], cl
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.004200f0
add esp, 8
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
and eax, 3
je 0x40dd47
mov dword [ebp - 0x2c0], 1
jmp 0x40dd51
mov dword [ebp - 0x2c0], 0
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x2c0]
mov byte [ecx + 0x3fe], dl
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.004200f0
add esp, 8
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
and ecx, 3
je 0x40dd99
mov dword [ebp - 0x2c4], 1
jmp 0x40dda3
mov dword [ebp - 0x2c4], 0
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x2c4]
mov byte [edx + 0x6e3], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
and ecx, 3
je 0x40dddd
mov dword [ebp - 0x2c8], 1
jmp 0x40dde7
mov dword [ebp - 0x2c8], 0
cmp dword [ebp - 0x2c8], 0
jne 0x40ddfc
mov dword [ebp - 0x2cc], 0
jmp 0x40de06
mov dword [ebp - 0x2cc], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x2cc]
mov byte [edx + 0x466], al
push 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.004200f0
add esp, 8
jmp 0x40fd2b
call fcn.00421070
movzx edx, al
test edx, edx
jne 0x40de40
mov dword [ebp - 0xc], 4
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40de5e
mov dword [ebp - 0x2d0], 1
jmp 0x40de68
mov dword [ebp - 0x2d0], 0
cmp dword [ebp - 0x2d0], 0
jne 0x40de7d
mov dword [ebp - 0x2d4], 0
jmp 0x40de87
mov dword [ebp - 0x2d4], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x2d4]
mov byte [edx + 0x3ff], al
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.004200f0
add esp, 8
jmp 0x40fd2b
call fcn.00421070
movzx edx, al
test edx, edx
jne 0x40dec1
mov dword [ebp - 0xc], 4
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40dedf
mov dword [ebp - 0x2d8], 1
jmp 0x40dee9
mov dword [ebp - 0x2d8], 0
cmp dword [ebp - 0x2d8], 0
jne 0x40defe
mov dword [ebp - 0x2dc], 0
jmp 0x40df08
mov dword [ebp - 0x2dc], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x2dc]
mov byte [edx + 0x6e4], al
jmp 0x40fd2b
push 8
mov ecx, dword [ebp + 8]
push ecx
call fcn.00421390
add esp, 8
movzx edx, al
test edx, edx
je 0x40df4b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x408], eax
jmp 0x40df52
mov dword [ebp - 0xc], 4
jmp 0x40fd2b
push 8
mov ecx, dword [ebp + 8]
push ecx
call fcn.00421390
add esp, 8
movzx edx, al
test edx, edx
je 0x40df86
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x40c], eax
jmp 0x40df8d
mov dword [ebp - 0xc], 4
jmp 0x40fd2b
mov ecx, dword [ebp + 8]
push ecx
call fcn.004210a0
add esp, 4
movzx edx, al
test edx, edx
jne 0x40dfb1
mov dword [ebp - 0xc], 4
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40dfcf
mov dword [ebp - 0x2e0], 1
jmp 0x40dfd9
mov dword [ebp - 0x2e0], 0
cmp dword [ebp - 0x2e0], 0
jne 0x40dfee
mov dword [ebp - 0x2e4], 0
jmp 0x40dff8
mov dword [ebp - 0x2e4], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x2e4]
mov byte [edx + 0x425], al
jmp 0x40fd2b
push 2
mov ecx, dword [ebp + 8]
push ecx
call fcn.00421390
add esp, 8
movzx edx, al
test edx, edx
je 0x40e079
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40e03f
mov dword [ebp - 0x2e8], 1
jmp 0x40e049
mov dword [ebp - 0x2e8], 0
cmp dword [ebp - 0x2e8], 0
jne 0x40e05e
mov dword [ebp - 0x2ec], 0
jmp 0x40e068
mov dword [ebp - 0x2ec], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x2ec]
mov byte [edx + 0x424], al
jmp 0x40e080
mov dword [ebp - 0xc], 4
jmp 0x40fd2b
push 4
mov ecx, dword [ebp + 8]
push ecx
call fcn.00421390
add esp, 8
movzx edx, al
test edx, edx
je 0x40e0ca
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x1e
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40e0d1
mov dword [ebp - 0xc], 4
jmp 0x40fd2b
push 4
mov ecx, dword [ebp + 8]
push ecx
call fcn.00421390
add esp, 8
movzx edx, al
test edx, edx
je 0x40e11b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x1f
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40e122
mov dword [ebp - 0xc], 4
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x1c
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
push 0x40
mov edx, dword [ebp + 8]
push edx
call fcn.00421390
add esp, 8
movzx eax, al
test eax, eax
je 0x40e1a4
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 6
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x624]
push ecx
call fcn.0040a940
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, 4
jmp 0x40fd2e
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x1d
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
push 0x40
mov eax, dword [ebp + 8]
push eax
call fcn.00421390
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x40e22b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 7
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x624]
push edx
call fcn.0040a940
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, 4
jmp 0x40fd2e
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.00421390
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x40e27a
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x1a
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40e281
mov dword [ebp - 0xc], 4
jmp 0x40fd2b
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.00421390
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x40e2cb
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x1b
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40e2d2
mov dword [ebp - 0xc], 4
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x25
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x26
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x27
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
shl eax, 2
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x624]
push edx
call fcn.0040a940
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x28
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 5
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x624]
push ecx
call fcn.0040a940
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x3a8], edx
jmp 0x40fd2b
mov eax, dword [ebp + 8]
cmp dword [eax + 0x8bc], 0
je 0x40e43c
mov eax, 0x2b
jmp 0x40fd2e
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xa00000
jle 0x40e460
mov dword [ebp - 0x10], 0xa00000
jmp 0x40e47f
cmp dword [ebp - 0x10], 1
jge 0x40e46f
mov dword [ebp - 0x10], 0x4000
jmp 0x40e47f
cmp dword [ebp - 0x10], 0x400
jge 0x40e47f
mov dword [ebp - 0x10], 0x400
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x4a8], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0x200000
jle 0x40e4b4
mov dword [ebp - 0x10], 0x200000
jmp 0x40e4c4
cmp dword [ebp - 0x10], 0x4000
jge 0x40e4c4
mov dword [ebp - 0x10], 0x4000
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x4ac], ecx
mov esi, esp
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x8c0]
push eax
call dword [0x4ab004]
add esp, 4
cmp esi, esp
call fcn.004a09b1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x8c0], 0
xor edx, edx
jne 0x40e4d0
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40e520
mov dword [ebp - 0x2f0], 1
jmp 0x40e52a
mov dword [ebp - 0x2f0], 0
cmp dword [ebp - 0x2f0], 0
jne 0x40e53f
mov dword [ebp - 0x2f4], 0
jmp 0x40e549
mov dword [ebp - 0x2f4], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x2f4]
mov byte [edx + 0x6cf], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x84], 0
je 0x40e654
push 2
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.00439960
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x78], 2
jne 0x40e5af
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x74], 0
mov edx, dword [ebp + 8]
mov dword [edx + 0x78], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x78]
cmp eax, dword [edx + 0x6e8]
jne 0x40e5d3
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x6e8], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x84]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x7c]
cmp edx, dword [ecx + 0x6ec]
jne 0x40e5f7
mov eax, dword [ebp + 8]
mov dword [eax + 0x6ec], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x84]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x80]
cmp ecx, dword [eax + 0x8e0]
jne 0x40e61e
mov edx, dword [ebp + 8]
mov dword [edx + 0x8e0], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
mov edx, dword [ecx + 8]
sub edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
mov dword [ecx + 8], edx
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.004399e0
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x84], 0
cmp dword [ebp - 0x158], 0
je 0x40e67a
mov ecx, dword [ebp - 0x158]
cmp dword [ecx], 0x7e117a1e
jne 0x40e67a
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x158]
mov dword [edx + 0x84], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x84], 0
je 0x40e79e
push 2
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.00439960
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
mov dword [ecx + 8], edx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x84]
mov ecx, dword [eax + 4]
and ecx, 8
je 0x40e6e2
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x84]
add eax, 0x60
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x74], eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x78], 2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
cmp dword [ecx + 0x78], 0
je 0x40e718
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6e8]
push eax
call fcn.00418920
add esp, 4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x84]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x78]
mov dword [eax + 0x6e8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x84]
cmp dword [eax + 0x7c], 0
je 0x40e74e
mov ecx, dword [ebp + 8]
add ecx, 0x6ec
push ecx
call fcn.00434d20
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x84]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x7c]
mov dword [ecx + 0x6ec], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
cmp dword [ecx + 0x80], 0
je 0x40e790
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x84]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x84]
mov dword [ecx + 0x49c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x80]
mov dword [edx + 0x8e0], eax
push 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.004399e0
add esp, 8
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x4b0], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jge 0x40e7e2
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp - 0x10]
cdq
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x4c0], eax
mov dword [ecx + 0x4c4], edx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
jl 0x40e818
cmp dword [ebp - 0x10], 4
jl 0x40e822
mov eax, 0x2b
jmp 0x40fd2e
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x10]
mov byte [edx + 0x6ac], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
and ecx, 0xff
mov edx, dword [ebp + 8]
mov byte [edx + 0x3f4], cl
mov eax, dword [ebp - 0x10]
and eax, 1
je 0x40e86b
mov dword [ebp - 0x2f8], 1
jmp 0x40e875
mov dword [ebp - 0x2f8], 0
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x2f8]
mov byte [ecx + 0x426], dl
mov eax, dword [ebp - 0x10]
and eax, 2
je 0x40e898
mov dword [ebp - 0x2fc], 1
jmp 0x40e8a2
mov dword [ebp - 0x2fc], 0
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x2fc]
mov byte [ecx + 0x427], dl
mov eax, dword [ebp - 0x10]
and eax, 4
je 0x40e8c5
mov dword [ebp - 0x300], 1
jmp 0x40e8cf
mov dword [ebp - 0x300], 0
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x300]
mov byte [ecx + 0x428], dl
mov eax, dword [ebp - 0x10]
and eax, 8
je 0x40e8f2
mov dword [ebp - 0x304], 1
jmp 0x40e8fc
mov dword [ebp - 0x304], 0
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x304]
mov byte [ecx + 0x429], dl
mov eax, dword [ebp - 0x10]
and eax, 0x10
je 0x40e91f
mov dword [ebp - 0x308], 1
jmp 0x40e929
mov dword [ebp - 0x308], 0
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x308]
mov byte [ecx + 0x42a], dl
mov eax, dword [ebp - 0x10]
and eax, 0x20
je 0x40e94c
mov dword [ebp - 0x30c], 1
jmp 0x40e956
mov dword [ebp - 0x30c], 0
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x30c]
mov byte [ecx + 0x42b], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
and eax, 0xff
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x45c], al
mov edx, dword [ebp - 0x10]
and edx, 1
je 0x40e9a1
mov dword [ebp - 0x310], 1
jmp 0x40e9ab
mov dword [ebp - 0x310], 0
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x310]
mov byte [eax + 0x48e], cl
mov edx, dword [ebp - 0x10]
and edx, 2
je 0x40e9ce
mov dword [ebp - 0x314], 1
jmp 0x40e9d8
mov dword [ebp - 0x314], 0
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x314]
mov byte [eax + 0x48f], cl
mov edx, dword [ebp - 0x10]
and edx, 4
je 0x40e9fb
mov dword [ebp - 0x318], 1
jmp 0x40ea05
mov dword [ebp - 0x318], 0
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x318]
mov byte [eax + 0x490], cl
mov edx, dword [ebp - 0x10]
and edx, 8
je 0x40ea28
mov dword [ebp - 0x31c], 1
jmp 0x40ea32
mov dword [ebp - 0x31c], 0
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x31c]
mov byte [eax + 0x491], cl
mov edx, dword [ebp - 0x10]
and edx, 0x10
je 0x40ea55
mov dword [ebp - 0x320], 1
jmp 0x40ea5f
mov dword [ebp - 0x320], 0
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x320]
mov byte [eax + 0x492], cl
mov edx, dword [ebp - 0x10]
and edx, 0x20
je 0x40ea82
mov dword [ebp - 0x324], 1
jmp 0x40ea8c
mov dword [ebp - 0x324], 0
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x324]
mov byte [eax + 0x493], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x4b
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jl 0x40eaf1
cmp dword [ebp - 0x10], 2
jle 0x40eafb
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x10]
mov byte [eax + 0x4b8], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 8
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0
jg 0x40eb3c
jl 0x40eb32
cmp dword [ebp - 0x1c], 0
jae 0x40eb3c
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov dword [eax + 0x4c0], ecx
mov dword [eax + 0x4c4], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40eb74
mov dword [ebp - 0x328], 1
jmp 0x40eb7e
mov dword [ebp - 0x328], 0
cmp dword [ebp - 0x328], 0
jne 0x40eb93
mov dword [ebp - 0x32c], 0
jmp 0x40eb9d
mov dword [ebp - 0x32c], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x32c]
mov byte [edx + 0x6d0], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40ebcf
mov dword [ebp - 0x330], 1
jmp 0x40ebd9
mov dword [ebp - 0x330], 0
cmp dword [ebp - 0x330], 0
jne 0x40ebee
mov dword [ebp - 0x334], 0
jmp 0x40ebf8
mov dword [ebp - 0x334], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x334]
mov byte [eax + 0x6d1], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 2
jle 0x40ec2e
mov eax, 0x2b
jmp 0x40fd2e
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x10]
mov byte [edx + 0x6ad], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x1ac], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x1b0], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x1b4], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x1b8], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x1bc], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x67c], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x680], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x1c0], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40ed45
mov dword [ebp - 0x338], 1
jmp 0x40ed4f
mov dword [ebp - 0x338], 0
cmp dword [ebp - 0x338], 0
jne 0x40ed64
mov dword [ebp - 0x33c], 0
jmp 0x40ed6e
mov dword [ebp - 0x33c], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x33c]
mov byte [edx + 0x400], al
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x400]
mov byte [ecx + 0x468], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
jne 0x40edb2
mov dword [ebp - 0x340], 1
jmp 0x40edbc
mov dword [ebp - 0x340], 0
cmp dword [ebp - 0x340], 0
jne 0x40edd1
mov dword [ebp - 0x344], 0
jmp 0x40eddb
mov dword [ebp - 0x344], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x344]
mov byte [eax + 0x6d2], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
jne 0x40ee0d
mov dword [ebp - 0x348], 1
jmp 0x40ee17
mov dword [ebp - 0x348], 0
cmp dword [ebp - 0x348], 0
jne 0x40ee2c
mov dword [ebp - 0x34c], 0
jmp 0x40ee36
mov dword [ebp - 0x34c], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x34c]
mov byte [ecx + 0x6d3], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jl 0x40ee6b
cmp dword [ebp - 0x10], 0x1ff
jle 0x40ee75
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x4e0], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
mov dword [edx + 0x644], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x648], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x64c], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 8], edx
lea eax, [ebp - 0x160]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.00410730
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x40ef19
mov eax, dword [ebp - 0xc]
jmp 0x40fd2e
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x160]
mov dword [edx + 0x648], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x16c]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.00410730
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x40ef63
mov eax, dword [ebp - 0xc]
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x16c]
mov dword [eax + 0x64c], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 7
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x3a
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x3b
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x6a0], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40f04b
mov dword [ebp - 0x350], 1
jmp 0x40f055
mov dword [ebp - 0x350], 0
cmp dword [ebp - 0x350], 0
jne 0x40f06a
mov dword [ebp - 0x354], 0
jmp 0x40f074
mov dword [ebp - 0x354], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x354]
mov byte [edx + 0x6a4], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x46
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40f0d9
mov dword [ebp - 0x358], 1
jmp 0x40f0e3
mov dword [ebp - 0x358], 0
cmp dword [ebp - 0x358], 0
jne 0x40f0f8
mov dword [ebp - 0x35c], 0
jmp 0x40f102
mov dword [ebp - 0x35c], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x35c]
mov byte [ecx + 0x6d6], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x360], eax
mov ecx, dword [ebp - 0x360]
sub ecx, 1
mov dword [ebp - 0x360], ecx
cmp dword [ebp - 0x360], 0xa
ja case.default.0x40f163
mov edx, dword [ebp - 0x360]
jmp dword [edx*4 + 0x410550]
mov dword [ebp - 0x178], 1
jmp 0x40f1fb
mov dword [ebp - 0x178], 2
jmp 0x40f1fb
mov dword [ebp - 0x178], 3
jmp 0x40f1fb
mov dword [ebp - 0x178], 4
jmp 0x40f1fb
mov dword [ebp - 0x178], 5
jmp 0x40f1fb
mov dword [ebp - 0x178], 6
jmp 0x40f1fb
mov dword [ebp - 0x178], 7
jmp 0x40f1fb
mov dword [ebp - 0x178], 8
jmp 0x40f1fb
mov dword [ebp - 0x178], 9
jmp 0x40f1fb
mov dword [ebp - 0x178], 0xa
jmp 0x40f1fb
mov dword [ebp - 0x178], 0xb
jmp 0x40f1fb
mov dword [ebp - 0x178], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x178]
mov dword [eax + 0x654], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
push ecx
mov edx, 4
imul eax, edx, 0x30
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x31
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x32
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0xc40], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0xc44], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x650], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x194], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40f33a
mov dword [ebp - 0x364], 1
jmp 0x40f344
mov dword [ebp - 0x364], 0
cmp dword [ebp - 0x364], 0
jne 0x40f359
mov dword [ebp - 0x368], 0
jmp 0x40f363
mov dword [ebp - 0x368], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x368]
mov byte [edx + 0x6c0], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x658], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x65c], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x660], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x668], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x664], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40f426
mov dword [ebp - 0x36c], 1
jmp 0x40f430
mov dword [ebp - 0x36c], 0
cmp dword [ebp - 0x36c], 0
jne 0x40f445
mov dword [ebp - 0x370], 0
jmp 0x40f44f
mov dword [ebp - 0x370], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x370]
mov byte [edx + 0x6d7], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x40f487
mov eax, 0x2b
jmp 0x40fd2e
cmp dword [ebp - 0x10], 0x7fffffff
jle 0x40f497
mov dword [ebp - 0x10], getpeername
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x670], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jge 0x40f4cc
mov eax, 0x2b
jmp 0x40fd2e
cmp dword [ebp - 0x10], 0x7fffffff
jle 0x40f4dc
mov dword [ebp - 0x10], getpeername
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x674], ecx
jmp 0x40fd2b
mov dword [ebp - 0xc], 4
jmp 0x40fd2b
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40f51c
mov dword [ebp - 0x374], 1
jmp 0x40f526
mov dword [ebp - 0x374], 0
cmp dword [ebp - 0x374], 0
jne 0x40f53b
mov dword [ebp - 0x378], 0
jmp 0x40f545
mov dword [ebp - 0x378], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x378]
mov byte [ecx + 0x6d9], dl
jmp 0x40fd2b
mov eax, dword [ebp + 8]
mov byte [eax + 0x6df], 0
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x41
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov edx, dword [ebp + 8]
mov byte [edx + 0x6df], 1
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
push edx
mov eax, 4
imul ecx, eax, 0x41
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x4e4]
push eax
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx - 4], 0
je 0x40f5f1
mov dword [ebp - 0x37c], 1
jmp 0x40f5fb
mov dword [ebp - 0x37c], 0
cmp dword [ebp - 0x37c], 0
jne 0x40f610
mov dword [ebp - 0x380], 0
jmp 0x40f61a
mov dword [ebp - 0x380], 1
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x380]
mov byte [eax + 0x6da], cl
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40f64c
mov dword [ebp - 0x384], 1
jmp 0x40f656
mov dword [ebp - 0x384], 0
cmp dword [ebp - 0x384], 0
jne 0x40f66b
mov dword [ebp - 0x388], 0
jmp 0x40f675
mov dword [ebp - 0x388], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x388]
mov byte [ecx + 0x6db], dl
jmp 0x40fd2b
mov eax, 4
jmp 0x40fd2e
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x17c], edx
cmp dword [ebp - 0x17c], 0
je 0x40f6c8
cmp dword [ebp - 0x17c], 0
je 0x40f6d2
mov eax, dword [ebp - 0x17c]
cmp dword [eax], 0xc0dedbad
jne 0x40f6d2
mov eax, 4
jmp 0x40fd2e
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x3b0], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40f712
mov dword [ebp - 0x38c], 1
jmp 0x40f71c
mov dword [ebp - 0x38c], 0
cmp dword [ebp - 0x38c], 0
jne 0x40f731
mov dword [ebp - 0x390], 0
jmp 0x40f73b
mov dword [ebp - 0x390], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x390]
mov byte [ecx + 0x6dc], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0xffffffff
jbe 0x40f76e
mov dword [ebp - 0x14], 0xffffffff
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0x1f0], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40f79d
mov dword [ebp - 0x394], 1
jmp 0x40f7a7
mov dword [ebp - 0x394], 0
cmp dword [ebp - 0x394], 0
jne 0x40f7bc
mov dword [ebp - 0x398], 0
jmp 0x40f7c6
mov dword [ebp - 0x398], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x398]
mov byte [ecx + 0x6dd], dl
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx - 4], 0
je 0x40f7f8
mov dword [ebp - 0x39c], 1
jmp 0x40f802
mov dword [ebp - 0x39c], 0
cmp dword [ebp - 0x39c], 0
jne 0x40f817
mov dword [ebp - 0x3a0], 0
jmp 0x40f821
mov dword [ebp - 0x3a0], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x3a0]
mov byte [edx + 0x6e0], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
push eax
mov ecx, 4
imul edx, ecx, 0x43
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
mov edx, 4
imul eax, edx, 0x43
mov ecx, dword [ebp + 8]
cmp dword [ecx + eax + 0x4e4], 0
je 0x40f884
mov dword [ebp - 0x3a4], 1
jmp 0x40f88e
mov dword [ebp - 0x3a4], 0
cmp dword [ebp - 0x3a4], 0
jne 0x40f8a3
mov dword [ebp - 0x3a8], 0
jmp 0x40f8ad
mov dword [ebp - 0x3a8], 1
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x3a8]
mov byte [edx + 0x6e1], al
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x40f8e3
mov eax, 0x2b
jmp 0x40fd2e
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x684], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jge 0x40f916
mov eax, 0x2b
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x1f8], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
jge 0x40f949
mov eax, 0x2b
jmp 0x40fd2e
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x1fc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x698], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x694], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x1d0], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x1d4], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [eax + 0x1d8], edx
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x1dc], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x6ec], 0
jne 0x40fa38
call fcn.00434cd0
mov edx, dword [ebp + 8]
mov dword [edx + 0x6ec], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x6ec], 0
jne 0x40fa38
mov eax, 0x1b
jmp 0x40fd2e
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x40fae3
mov ecx, dword [ebp - 8]
push ecx
mov edx, 4
imul eax, edx, 0x45
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x4e4]
push edx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x40fa84
mov eax, dword [ebp - 0xc]
jmp 0x40fd2e
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x8b8]
push edx
call fcn.00432780
add esp, 8
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0
jne 0x40fad2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x8b8]
push ecx
call fcn.004327f0
add esp, 4
mov edx, dword [ebp + 8]
mov dword [edx + 0x8b8], 0
mov eax, 0x1b
jmp 0x40fd2e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x180]
mov dword [eax + 0x8b8], ecx
jmp 0x40fb2f
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x8b8]
push eax
call fcn.004327f0
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x8b8], 0
mov edx, dword [ebp + 8]
cmp dword [edx + 0x84], 0
je 0x40fb1d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
cmp dword [ecx + 0x7c], 0
jne 0x40fb2f
mov edx, dword [ebp + 8]
add edx, 0x6ec
push edx
call fcn.00434d20
add esp, 4
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
and eax, 1
je 0x40fb80
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x6ec], 0
jne 0x40fb7e
call fcn.00434cd0
mov edx, dword [ebp + 8]
mov dword [edx + 0x6ec], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x6ec], 0
jne 0x40fb7e
mov eax, 0x1b
jmp 0x40fd2e
jmp 0x40fb92
mov ecx, dword [ebp + 8]
add ecx, 0x6ec
push ecx
call fcn.00434d20
add esp, 4
jmp 0x40fd2b
mov edx, dword [ebp + 8]
cmp dword [edx + 0x6f0], 0
jne 0x40fbc7
call fcn.00433420
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x6f0], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x6f0], 0
jne 0x40fbc7
mov eax, 0x1b
jmp 0x40fd2e
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
push eax
mov ecx, 4
imul edx, ecx, 0x44
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x4e4]
push ecx
call fcn.0040a8c0
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x40fc09
mov eax, dword [ebp - 0xc]
jmp 0x40fd2e
cmp dword [ebp - 8], 0
je 0x40fc25
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6f0]
push ecx
call fcn.00433480
add esp, 8
jmp 0x40fd2b
mov edx, dword [ebp + 8]
cmp dword [edx + 0x6f0], 0
jne 0x40fc5a
call fcn.00433420
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x6f0], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x6f0], 0
jne 0x40fc5a
mov eax, 0x1b
jmp 0x40fd2e
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6f0]
push edx
call fcn.00433690
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x40fc93
mov eax, dword [ebp - 0xc]
jmp 0x40fd2e
jmp 0x40fd2b
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx - 4]
mov dword [ecx + 0x1c4], eax
jmp 0x40fd2b
mov ecx, dword [ebp + 0x10]
add ecx, 4
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax - 4]
mov dword [edx + 0x1c8], ecx
jmp 0x40fd2b
mov edx, dword [ebp + 0x10]
add edx, 4
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax - 4], 0
je 0x40fcea
mov dword [ebp - 0x3ac], 1
jmp 0x40fcf4
mov dword [ebp - 0x3ac], 0
cmp dword [ebp - 0x3ac], 0
jne 0x40fd09
mov dword [ebp - 0x3b0], 0
jmp 0x40fd13
mov dword [ebp - 0x3b0], 1
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x3b0]
mov byte [ecx + 0x6b5], dl
jmp 0x40fd2b
mov dword [ebp - 0xc], 0x30
mov eax, dword [ebp - 0xc]
push edx
mov ecx, ebp
push eax
lea edx, [0x40fd5c]
call fcn.004a095d
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a039d
add esp, 0x3b0
cmp ebp, esp
call fcn.004a09b1
mov esp, ebp
pop ebp
ret