Function at 0x40ac47
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov dword [ebp - 4], 0
push 8
call fcn.004358b8
add esp, 4
mov dword [ebp - 8], eax
mov edi, eax
mov esi, 0x4a84af
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0xc], 0
push 0x18
call fcn.004358b8
add esp, 4
mov dword [ebp - 0x10], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 6
rep stosd dword es:[edi], eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
push 0x1c
call fcn.004358b8
add esp, 4
mov dword [ebp - 0x20], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 7
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x109
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d9916
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x101
rep stosb byte es:[edi], al
add ebx, 4
push ebx
push 0x89
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d991e
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x81
rep stosb byte es:[edi], al
add ebx, 4
push ebx
push 0x89
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d991e
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x81
rep stosb byte es:[edi], al
add ebx, 4
push ebx
push 0x109
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d9916
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x101
rep stosb byte es:[edi], al
add ebx, 4
push ebx
push 0x109
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d9916
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x101
rep stosb byte es:[edi], al
add ebx, 4
push ebx
push 0x18
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d9905
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 4
rep stosd dword es:[edi], eax
push 0x88
call fcn.004358b8
add esp, 4
mov dword [ebp - 0x24], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x22
rep stosd dword es:[edi], eax
add ebx, 0x10
push ebx
push 0x10
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d98fd
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x8c
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d98f5
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x21
rep stosd dword es:[edi], eax
add ebx, 8
push ebx
push 0x10
call fcn.004358b8
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.004358b8
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.004358b8
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.004358b8
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.004358b8
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 0x10
push ebx
push 0x10c
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d98ed
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x41
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x10c
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d98ed
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x41
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x10c
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d98ed
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x41
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x18
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d9905
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 4
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x8c
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d98f5
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x21
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x28
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d9966
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 8
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0xd0
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d996e
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x32
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0xd0
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d996e
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x32
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0xd4
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d9976
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x33
rep stosd dword es:[edi], eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
call fcn.0040d397
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x40b0bf
mov eax, 0
jmp 0x40d152
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp - 4]
cmp eax, 0
jge 0x40b0db
push 0xa
call fcn.004358ca
add esp, 4
mov dword [ebp - 0x38], eax
lea ebx, [ebp - 0x3c]
call fcn.00402992
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004358b8
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x38]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 8]
call fcn.00402992
pop edx
test ecx, ecx
je 0x40b157
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40b144
push ebx
call fcn.004358be
add esp, 4
pop ebx
call fcn.004358be
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x40b11c
pop edx
pop edi
test edx, edx
je 0x40b1c1
mov ebx, edi
push edx
push ebx
push 0x10
call fcn.004358b8
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
add ebx, 4
push ebx
push 0x107
call fcn.004358b8
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4d9943
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0xff
rep stosb byte es:[edi], al
pop ebx
pop edx
add ebx, 4
dec edx
jne 0x40b161
push dword [ebp - 8]
call fcn.004358be
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 8]
call fcn.00402979
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 1
jl 0x40b363
mov ebx, dword [ebp - 8]
call fcn.00402992
mov eax, 0
cmp eax, ecx
jl 0x40b203
push 1
call fcn.004358ca
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 8]
call fcn.00402992
mov eax, 0
cmp eax, ecx
jl 0x40b22b
push 1
call fcn.004358ca
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], esp
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebx]
push eax
push 0x108
call fcn.004358b8
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xff
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, 0x2c
call fcn.004358d0
cmp dword [ebp - 0x40], esp
je 0x40b2a1
push 6
call fcn.004358ca
add esp, 4
push eax
mov ebx, dword [ebp - 0x44]
push ebx
mov edi, dword [ebp - 0x48]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40b2e2
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40b2e0
imul eax, dword [edi]
jmp 0x40b2d5
mov ecx, eax
cmp ecx, 0xff
jle 0x40b2ef
mov ecx, 0xff
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xff
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
call fcn.00408403
call fcn.004358be
add esp, 4
pop eax
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
mov ebx, dword [ebp - 8]
call fcn.00402992
mov eax, 0
cmp eax, ecx
jl 0x40b337
push 1
call fcn.004358ca
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x38], ebx
fild dword [ebp - 4]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
mov ebx, dword [ebp - 0x38]
fild dword [ebx]
fstp qword [ebp - 0x48]
fmul qword [ebp - 0x48]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
call fcn.00401426
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x38], esp
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
mov ebx, dword [ebp - 8]
call fcn.00402992
push ebx
mov dword [ebp - 0x3c], ecx
test ecx, ecx
jne 0x40b382
xor eax, eax
jmp 0x40b391
imul ecx, ecx, 0x108
push ecx
call fcn.004358b8
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x40b3f4
push ecx
push edi
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xff
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ebx
pop edi
pop ecx
dec ecx
je 0x40b3f4
add ebx, 4
add edi, 0x108
jmp 0x40b3a6
push 0
push 0
mov eax, 0x2d
call fcn.004358d0
cmp dword [ebp - 0x38], esp
je 0x40b41a
push 6
call fcn.004358ca
add esp, 4
push eax
mov ebx, dword [ebp - 0x40]
push ebx
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x40b4ab
push ecx
push edi
push ebx
mov edi, dword [edi]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40b46b
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40b469
imul eax, dword [edi]
jmp 0x40b45e
mov ecx, eax
cmp ecx, 0xff
jle 0x40b478
mov ecx, 0xff
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xff
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
call fcn.00408403
pop ebx
pop edi
pop ecx
dec ecx
je 0x40b4ab
add ebx, 0x108
add edi, 4
jmp 0x40b42d
call fcn.004358be
add esp, 4
pop eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
je 0x40b4cb
mov eax, 0
jmp 0x40d152
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
mov dword [ebx], 0x94
mov ebx, dword [ebp - 0x10]
add ebx, 0x14
mov dword [ebp - 0x38], ebx
push 0x80000301
push 0
push 0x80
push 1
mov ebx, 0x436e00
call fcn.004358b2
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x38]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40b51a
push ebx
call fcn.004358be
add esp, 4
pop eax
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
mov dword [ebp - 0x38], esp
push dword [ebp - 0x10]
mov eax, 0x31
call fcn.004358d0
cmp dword [ebp - 0x38], esp
je 0x40b542
push 6
call fcn.004358ca
add esp, 4
push 0x80000301
push 0
push 0x105
push 1
mov ebx, 0x436e00
call fcn.004358b2
add esp, 0x10
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40b577
push ebx
call fcn.004358be
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
push 0x80000301
push 0
push 0x105
push 1
mov ebx, 0x436e00
call fcn.004358b2
add esp, 0x10
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40b5b0
push ebx
call fcn.004358be
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x10]
add ebx, 0x10
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
cmp dword [ebx], 2
jne 0x40b5e5
mov ebx, dword [ebp - 0x10]
add ebx, 4
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp dword [ebx], 5
jl 0x40b5e5
mov eax, 1
jmp 0x40b5e7
xor eax, eax
test eax, eax
je 0x40b6c6
mov dword [ebp - 0x38], esp
push 0
push 0x1a
push dword [ebp - 0x14]
push 0
mov eax, 0x32
call fcn.004358d0
cmp dword [ebp - 0x38], esp
je 0x40b620
push 6
call fcn.004358ca
add esp, 4
test eax, eax
je 0x40b658
push str.MicrosoftNetworkConnectionspbk_rasphone.pbk
push dword [ebp - 0x14]
mov ecx, 2
call fcn.00401373
add esp, 8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40b654
push ebx
call fcn.004358be
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], esp
push 0
push 0x23
push dword [ebp - 0x18]
push 0
mov eax, 0x32
call fcn.004358d0
cmp dword [ebp - 0x38], esp
je 0x40b689
push 6
call fcn.004358ca
add esp, 4
test eax, eax
je 0x40b6c1
push str.MicrosoftNetworkConnectionspbk_rasphone.pbk
push dword [ebp - 0x18]
mov ecx, 2
call fcn.00401373
add esp, 8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40b6bd
push ebx
call fcn.004358be
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
call fcn.0040d780
mov ebx, dword [ebp - 8]
call fcn.00402979
xor ecx, ecx
push eax
lea eax, [ebp - 0x1c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40d0ee
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], esp
mov eax, dword [ebp - 0x20]
push eax
push 0x419
call fcn.004358b8
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, 0x33
call fcn.004358d0
cmp dword [ebp - 0x3c], esp
je 0x40b7b3
push 6
call fcn.004358ca
add esp, 4
push eax
mov ebx, dword [ebp - 0x40]
push ebx
mov edi, dword [ebp - 0x44]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40b7f4
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40b7f2
imul eax, dword [edi]
jmp 0x40b7e7
mov ecx, eax
cmp ecx, 0x101
jle 0x40b801
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x101
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40b83f
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40b83d
imul eax, dword [edi]
jmp 0x40b832
mov ecx, eax
cmp ecx, 0x81
jle 0x40b84c
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x81
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40b88a
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40b888
imul eax, dword [edi]
jmp 0x40b87d
mov ecx, eax
cmp ecx, 0x81
jle 0x40b897
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x81
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40b8d5
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40b8d3
imul eax, dword [edi]
jmp 0x40b8c8
mov ecx, eax
cmp ecx, 0x101
jle 0x40b8e2
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x101
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40b920
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40b91e
imul eax, dword [edi]
jmp 0x40b913
mov ecx, eax
cmp ecx, 0x101
jle 0x40b92d
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x101
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40b96b
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40b969
imul eax, dword [edi]
jmp 0x40b95e
mov ecx, eax
cmp ecx, 0x10
jle 0x40b975
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x10
call fcn.004358be
add esp, 4
pop eax
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x20]
add ebx, 4
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 8]
call fcn.00402992
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x40b9b5
push 4
call fcn.004358ca
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b9c8
push 1
call fcn.004358ca
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], esp
push 0xff
mov ebx, dword [ebp - 0x3c]
mov ebx, dword [ebx]
call fcn.00402992
push ebx
mov ebx, dword [ebp - 0x38]
mov ebx, dword [ebx]
call fcn.00402992
push ebx
mov eax, 0x34
call fcn.004358d0
cmp dword [ebp - 0x40], esp
je 0x40ba0f
push 6
call fcn.004358ca
add esp, 4
mov dword [ebp - 0x38], esp
mov eax, 1
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x20]
push eax
push 0x419
call fcn.004358b8
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push 0x4a846c
mov eax, 0x35
call fcn.004358d0
cmp dword [ebp - 0x38], esp
je 0x40bae8
push 6
call fcn.004358ca
add esp, 4
push eax
mov ebx, dword [ebp - 0x40]
push ebx
mov edi, dword [ebp - 0x44]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40bb29
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40bb27
imul eax, dword [edi]
jmp 0x40bb1c
mov ecx, eax
cmp ecx, 0x101
jle 0x40bb36
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x101
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40bb74
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40bb72
imul eax, dword [edi]
jmp 0x40bb67
mov ecx, eax
cmp ecx, 0x81
jle 0x40bb81
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x81
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40bbbf
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40bbbd
imul eax, dword [edi]
jmp 0x40bbb2
mov ecx, eax
cmp ecx, 0x81
jle 0x40bbcc
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x81
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40bc0a
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40bc08
imul eax, dword [edi]
jmp 0x40bbfd
mov ecx, eax
cmp ecx, 0x101
jle 0x40bc17
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x101
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40bc55
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40bc53
imul eax, dword [edi]
jmp 0x40bc48
mov ecx, eax
cmp ecx, 0x101
jle 0x40bc62
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x101
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40bca0
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40bc9e
imul eax, dword [edi]
jmp 0x40bc93
mov ecx, eax
cmp ecx, 0x10
jle 0x40bcaa
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x10
call fcn.004358be
add esp, 4
pop eax
mov dword [ebp - 0x38], esp
mov eax, dword [ebp - 0x24]
push eax
push 0x704
call fcn.004358b8
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x20
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xcc
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, 0x36
call fcn.004358d0
cmp dword [ebp - 0x38], esp
je 0x40bf62
push 6
call fcn.004358ca
add esp, 4
push eax
mov ebx, dword [ebp - 0x3c]
push ebx
mov edi, dword [ebp - 0x40]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40bfc1
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40bfbf
imul eax, dword [edi]
jmp 0x40bfb4
mov ecx, eax
cmp ecx, 8
jle 0x40bfcb
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c006
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c004
imul eax, dword [edi]
jmp 0x40bff9
mov ecx, eax
cmp ecx, 0x84
jle 0x40c013
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x84
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c164
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c162
imul eax, dword [edi]
jmp 0x40c157
mov ecx, eax
cmp ecx, 0x104
jle 0x40c171
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x104
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c1af
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c1ad
imul eax, dword [edi]
jmp 0x40c1a2
mov ecx, eax
cmp ecx, 0x104
jle 0x40c1bc
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x104
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c1fa
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c1f8
imul eax, dword [edi]
jmp 0x40c1ed
mov ecx, eax
cmp ecx, 0x104
jle 0x40c207
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x104
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c245
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c243
imul eax, dword [edi]
jmp 0x40c238
mov ecx, eax
cmp ecx, 0x10
jle 0x40c24f
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x10
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c28a
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c288
imul eax, dword [edi]
jmp 0x40c27d
mov ecx, eax
cmp ecx, 0x84
jle 0x40c297
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x84
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c2d5
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c2d3
imul eax, dword [edi]
jmp 0x40c2c8
mov ecx, eax
cmp ecx, 0x20
jle 0x40c2df
mov ecx, 0x20
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x20
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c31a
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c318
imul eax, dword [edi]
jmp 0x40c30d
mov ecx, eax
cmp ecx, 0xc8
jle 0x40c327
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xc8
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c365
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c363
imul eax, dword [edi]
jmp 0x40c358
mov ecx, eax
cmp ecx, 0xc8
jle 0x40c372
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xc8
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c3b0
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c3ae
imul eax, dword [edi]
jmp 0x40c3a3
mov ecx, eax
cmp ecx, 0xcc
jle 0x40c3bd
mov ecx, 0xcc
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xcc
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.004358be
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
mov ebx, dword [ebp - 8]
call fcn.00402992
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x40c467
push 4
call fcn.004358ca
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40c47a
push 1
call fcn.004358ca
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], esp
push dword [ebp - 0x28]
push 0x4a846c
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x24]
push eax
push 0x704
call fcn.004358b8
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x20
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xcc
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ebx, dword [ebp - 0x38]
mov ebx, dword [ebx]
call fcn.00402992
push ebx
push 0x4a846c
mov eax, 0x37
call fcn.004358d0
cmp dword [ebp - 0x3c], esp
je 0x40c746
push 6
call fcn.004358ca
add esp, 4
push eax
mov ebx, dword [ebp - 0x40]
push ebx
mov edi, dword [ebp - 0x44]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c7a5
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c7a3
imul eax, dword [edi]
jmp 0x40c798
mov ecx, eax
cmp ecx, 8
jle 0x40c7af
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c7ea
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c7e8
imul eax, dword [edi]
jmp 0x40c7dd
mov ecx, eax
cmp ecx, 0x84
jle 0x40c7f7
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x84
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c948
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c946
imul eax, dword [edi]
jmp 0x40c93b
mov ecx, eax
cmp ecx, 0x104
jle 0x40c955
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x104
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c993
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c991
imul eax, dword [edi]
jmp 0x40c986
mov ecx, eax
cmp ecx, 0x104
jle 0x40c9a0
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x104
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c9de
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c9dc
imul eax, dword [edi]
jmp 0x40c9d1
mov ecx, eax
cmp ecx, 0x104
jle 0x40c9eb
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x104
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40ca29
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40ca27
imul eax, dword [edi]
jmp 0x40ca1c
mov ecx, eax
cmp ecx, 0x10
jle 0x40ca33
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x10
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40ca6e
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40ca6c
imul eax, dword [edi]
jmp 0x40ca61
mov ecx, eax
cmp ecx, 0x84
jle 0x40ca7b
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x84
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40cab9
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40cab7
imul eax, dword [edi]
jmp 0x40caac
mov ecx, eax
cmp ecx, 0x20
jle 0x40cac3
mov ecx, 0x20
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x20
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40cafe
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40cafc
imul eax, dword [edi]
jmp 0x40caf1
mov ecx, eax
cmp ecx, 0xc8
jle 0x40cb0b
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xc8
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40cb49
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40cb47
imul eax, dword [edi]
jmp 0x40cb3c
mov ecx, eax
cmp ecx, 0xc8
jle 0x40cb56
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xc8
push ebx
push edi
push 1
mov eax, 2
call fcn.004358ac
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40cb94
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40cb92
imul eax, dword [edi]
jmp 0x40cb87
mov ecx, eax
cmp ecx, 0xcc
jle 0x40cba1
mov ecx, 0xcc
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xcc
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.004358be
add esp, 4
pop eax
mov ebx, dword [ebp - 0x10]
add ebx, 0x10
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
cmp dword [ebx], 2
jne 0x40cc91
mov ebx, dword [ebp - 0x10]
add ebx, 4
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp dword [ebx], 5
jl 0x40cc91
push 0x4a846c
push dword [ebp - 0x14]
call fcn.0040126b
add esp, 8
cmp eax, 0
jne 0x40cc7d
push 0x4a846c
push dword [ebp - 0x18]
call fcn.0040126b
add esp, 8
cmp eax, 0
jne 0x40cc7d
xor eax, eax
jmp 0x40cc82
mov eax, 1
test eax, eax
je 0x40cc91
mov eax, 1
jmp 0x40cc93
xor eax, eax
test eax, eax
je 0x40d056
mov ebx, dword [ebp - 0x20]
add ebx, 4
mov dword [ebp - 0x38], ebx
push dword [ebp - 0x38]
call fcn.0040eb41
mov dword [ebp - 0x3c], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x40ccc2
mov eax, 0x4a846c
push eax
push 1
mov ebx, 0x436d50
call fcn.004358b2
add esp, 0x10
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40cce8
push ebx
call fcn.004358be
add esp, 4
push 0x4a867f
push dword [ebp - 0x40]
mov ecx, 2
call fcn.004013cf
add esp, 8
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40cd10
push ebx
call fcn.004358be
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40cd24
push ebx
call fcn.004358be
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x20]
add ebx, 4
mov dword [ebp - 0x38], ebx
push dword [ebp - 0x38]
call fcn.0040eb41
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0040ecbb
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40cd58
push ebx
call fcn.004358be
add esp, 4
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x40cd6c
push ebx
call fcn.004358be
add esp, 4
pop eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], esp
push dword [ebp - 0x14]
push 0
push str.DialParamsUID
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x40cd8a
add eax, 8
push eax
mov eax, 0x38
call fcn.004358d0
cmp dword [ebp - 0x38], esp
je 0x40cda7
push 6
call fcn.004358ca
add esp, 4
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x40cdee
mov dword [ebp - 0x38], esp
push dword [ebp - 0x18]
push 0
push str.DialParamsUID
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x40cdce
add eax, 8
push eax
mov eax, 0x38
call fcn.004358d0
cmp dword [ebp - 0x38], esp
je 0x40cdeb
push 6
call fcn.004358ca
add esp, 4
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x40ce32
mov dword [ebp - 0x38], esp
push dword [ebp - 0x14]
push 0
push str.DialParamsUID
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x40ce12
add eax, 8
push eax
mov eax, 0x38
call fcn.004358d0
cmp dword [ebp - 0x38], esp
je 0x40ce2f
push 6
call fcn.004358ca
add esp, 4
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x40ce76
mov dword [ebp - 0x38], esp
push dword [ebp - 0x18]
push 0
push str.DialParamsUID
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x40ce56
add eax, 8
push eax
mov eax, 0x38
call fcn.004358d0
cmp dword [ebp - 0x38], esp
je 0x40ce73
push 6
call fcn.004358ca
add esp, 4
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jle 0x40d056
mov ebx, dword [0x54b0f4]
call fcn.00402979
xor ecx, ecx
push eax
lea eax, [ebp - 0x1c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40d053
mov ebx, dword [0x54b0f4]
call fcn.00402992
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x40cec2
push 4
call fcn.004358ca
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ced5
push 1
call fcn.004358ca
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x38], ebx
push 0x80000301
push 0
push dword [ebp - 0x34]
push 1
mov ebx, 0x437320
call fcn.004358b2
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x38]
push dword [ebx]
call fcn.0040126b
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40cf2d
push ebx
call fcn.004358be
add esp, 4
cmp dword [ebp - 0x40], 0
je 0x40cf99
mov ebx, dword [0x54b0f4]
call fcn.00402992
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x40cf57
push 4
call fcn.004358ca
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40cf6a
push 1
call fcn.004358ca
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x44], ebx
push 0x4a846c
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.0040126b
add esp, 8
cmp eax, 0
je 0x40cf99
mov eax, 1
jmp 0x40cf9b
xor eax, eax
test eax, eax
je 0x40d04b
mov ebx, dword [ebp - 0x20]
add ebx, 0x10
mov dword [ebp - 0x38], ebx
mov ebx, dword [0x54b0f4]
call fcn.00402992
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x40cfcc
push 4
call fcn.004358ca
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40cfdf
push 1
call fcn.004358ca
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x3c], ebx
push dword [ebp - 0x3c]
push dword [ebp - 0x38]
call fcn.0040ee97
mov ebx, dword [ebp - 0x20]
add ebx, 0x14
mov dword [ebp - 0x38], ebx
mov ebx, dword [0x54b0f4]
call fcn.00402992
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x40d020
push 4
call fcn.004358ca
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40d033
push 1
call fcn.004358ca
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push dword [ebp - 0x3c]
push dword [ebp - 0x38]
call fcn.0040ee97
pop eax
pop ebx
pop ecx
jmp 0x40ce94
add esp, 0xc
mov ebx, dword [ebp - 0x20]
add ebx, 4
mov dword [ebp - 0x38], ebx
push dword [ebp - 0x38]
call fcn.0040eb41
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40d080
push ebx
call fcn.004358be
add esp, 4
pop eax
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x20]
add ebx, 0x10
mov dword [ebp - 0x38], ebx
push dword [ebp - 0x38]
call fcn.0040eb41
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40d0b0
push ebx
call fcn.004358be
add esp, 4
pop eax
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x20]
add ebx, 0x14
mov dword [ebp - 0x38], ebx
push dword [ebp - 0x38]
call fcn.0040eb41
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp + 0x18]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40d0e0
push ebx
call fcn.004358be
add esp, 4
pop eax
mov ebx, dword [ebp + 0x18]
mov dword [ebx], eax
pop eax
pop ebx
pop ecx
jmp 0x40b6d7
add esp, 0xc
push 0x80000004
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x40d106
mov eax, 0x4a846c
push eax
push 1
mov ebx, 0x4368e0
call fcn.004358b2
add esp, 0x10
mov dword [ebp - 0x38], eax
push 0x4a846c
push dword [ebp - 0x38]
call fcn.0040126b
add esp, 8
cmp eax, 0
mov eax, 0
setne al
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40d14a
push ebx
call fcn.004358be
add esp, 4
mov eax, dword [ebp - 0x3c]
jmp 0x40d152
push eax
mov ebx, dword [ebp - 8]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40d171
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40d16d
imul eax, dword [ebx]
jmp 0x40d162
mov ecx, eax
test ecx, ecx
je 0x40d1b0
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40d19f
push ebx
call fcn.004358be
add esp, 4
pop ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40d177
call fcn.004358be
add esp, 4
mov ebx, dword [ebp - 0x10]
push ebx
add ebx, 0x14
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40d1cf
push ebx
call fcn.004358be
add esp, 4
pop ebx
call fcn.004358be
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40d1e8
push ebx
call fcn.004358be
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40d1f8
push ebx
call fcn.004358be
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
call fcn.004358be
add esp, 4
mov ebx, dword [ebp - 0x24]
push ebx
add ebx, 0x10
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 0x10
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004358be
add esp, 4
pop ebx
call fcn.004358be
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40d380
push ebx
call fcn.004358be
add esp, 4
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x40d390
push ebx
call fcn.004358be
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x18