Function at 0x402680
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb80
push esi
push edi
mov al, byte [0x418e54]
mov byte [ebp - 0xb50], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0xb4f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x51c], 0
mov cl, byte [0x418e58]
mov byte [ebp - 0x514], cl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x513]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x638], 0
mov dword [ebp - 0x3f8], 0
mov dword [ebp - 0xa48], 0
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x404], 0
mov dword [ebp - 0xa4c], 0
mov dword [ebp - 0x650], 0
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x3f0], 0
mov dword [ebp - 0x3ec], 0
mov dword [ebp - 0x658], 0xfffffffe
mov dl, byte [0x418e5c]
mov byte [ebp - 0x62c], dl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x62b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x418e60]
mov byte [ebp - 0xa44], al
mov ecx, 0xf9
xor eax, eax
lea edi, [ebp - 0xa43]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0x418e64]
mov byte [ebp - 0x3e8], cl
mov ecx, 0xf9
xor eax, eax
lea edi, [ebp - 0x3e7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dl, byte [0x418e68]
mov byte [ebp - 0x528], dl
xor eax, eax
mov dword [ebp - 0x527], eax
mov dword [ebp - 0x523], eax
mov byte [ebp - 0x51f], al
mov cl, byte [0x418e6c]
mov byte [ebp - 0x64c], cl
xor edx, edx
mov dword [ebp - 0x64b], edx
mov dword [ebp - 0x647], edx
mov byte [ebp - 0x643], dl
mov dword [ebp - 0x3f4], 0
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x400], 0
mov dword [ebp - 0x3fc], 0
mov dword [ebp - 0x518], 0
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x65c], 0
mov dword [ebp - 0x640], 0
mov dword [ebp - 0x400], 0
mov dword [ebp - 0x410], 2
push 0x41110c
push 0x4123f0
push str._s_s
lea eax, [ebp - 0x62c]
push eax
call fcn.00408050
add esp, 0x10
push 0x411118
push 1
call fcn.00403d1a
add esp, 4
push eax
call fcn.004088dd
add esp, 8
mov dword [ebp - 0x63c], eax
cmp dword [ebp - 0x63c], 0
jne 0x4028a3
push str.Error_bdembed1____Quiting
push 0x411138
call fcn.0040888c
add esp, 8
push 1
call fcn.004087b7
push 2
push 0
mov ecx, dword [ebp - 0x63c]
push ecx
call fcn.004086fe
add esp, 0xc
mov edx, dword [ebp - 0x63c]
push edx
call fcn.004085a6
add esp, 4
mov esi, eax
push 0x4188cc
call fcn.0040851b
add esp, 4
sub esi, eax
mov dword [0x4188dc], esi
push 2
mov eax, dword [0x4188dc]
neg eax
mov ecx, dword [0x4124f4]
lea edx, [eax + ecx - 0xc]
push edx
mov eax, dword [ebp - 0x63c]
push eax
call fcn.004086fe
add esp, 0xc
mov ecx, dword [ebp - 0x63c]
push ecx
push 0xd
lea edx, [ebp - 0x514]
push edx
call fcn.004084c4
add esp, 0xc
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x514]
push ecx
call fcn.004038a9
add esp, 8
push eax
call fcn.00403a64
add esp, 4
mov dword [ebp - 0x51c], eax
push 2
mov edx, dword [ebp - 0x51c]
mov eax, dword [0x4188dc]
lea ecx, [eax + edx + 0xc]
imul ecx, ecx, 0xffffffff
add ecx, dword [0x4124f4]
push ecx
mov edx, dword [ebp - 0x63c]
push edx
call fcn.004086fe
add esp, 0xc
mov eax, dword [ebp - 0x63c]
push eax
push 6
lea ecx, [ebp - 0x514]
push ecx
call fcn.004084c4
add esp, 0xc
mov edx, dword [ebp - 0x658]
push edx
lea eax, [ebp - 0x514]
push eax
call fcn.004038a9
add esp, 8
push eax
call fcn.00403a64
add esp, 4
mov dword [0x412504], eax
mov ecx, dword [ebp - 0x63c]
push ecx
push 6
lea edx, [ebp - 0x514]
push edx
call fcn.004084c4
add esp, 0xc
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x514]
push ecx
call fcn.004038a9
add esp, 8
push eax
lea edx, [ebp - 0x528]
push edx
call fcn.00407f60
add esp, 8
mov dword [ebp - 0x640], 0
mov dword [ebp - 0x65c], 0
push 0x418908
lea eax, [ebp - 0x528]
push eax
call fcn.00408440
add esp, 8
mov dword [ebp - 0x65c], eax
cmp dword [ebp - 0x65c], 0
jne 0x402a21
mov dword [ebp - 0x640], 1
push 0x418930
lea ecx, [ebp - 0x528]
push ecx
call fcn.00408440
add esp, 8
mov dword [ebp - 0x65c], eax
cmp dword [ebp - 0x65c], 0
jne 0x402a4e
mov dword [ebp - 0x640], 1
cmp dword [ebp - 0x640], 0
jne 0x402a5c
call fcn.004074fd
push 0x41113c
push 0x418968
call fcn.00407f60
add esp, 8
mov dword [ebp - 0x65c], 0
mov dword [0x4188bc], 0
push 0x418e70
push 0x418958
call fcn.00407f60
add esp, 8
push 0x418e74
lea edx, [ebp - 0x64c]
push edx
call fcn.00407f60
add esp, 8
push 0x418968
call fcn.004080b0
add esp, 4
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x638], 1
jmp 0x402ad6
mov eax, dword [ebp - 0x638]
add eax, 1
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp - 0x3f4]
add ecx, 1
cmp dword [ebp - 0x638], ecx
jge 0x402b4d
push 1
mov edx, dword [ebp - 0x638]
push edx
push 0x418968
call fcn.00403df6
add esp, 0xc
push eax
call fcn.00403d92
add esp, 4
push eax
call fcn.00403794
add esp, 4
mov dword [ebp - 0x400], eax
mov al, byte [ebp - 0x400]
push eax
call fcn.00403d36
add esp, 4
push eax
lea ecx, [ebp - 0x64c]
push ecx
call fcn.00407f60
add esp, 8
lea edx, [ebp - 0x64c]
push edx
push 0x418958
call fcn.00407f70
add esp, 8
jmp 0x402ac7
push 0x418958
call fcn.0040400a
add esp, 4
push eax
push 0x418974
call fcn.00407f60
add esp, 8
push 0x418974
call fcn.004080b0
add esp, 4
mov dword [ebp - 0x3f4], eax
cmp dword [ebp - 0x3f4], 1
jle 0x402b89
call fcn.004041dd
mov dword [0x4188bc], 0
push 0x4188cc
call fcn.0040851b
add esp, 4
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x63c]
push eax
push 2
lea ecx, [ebp - 0x514]
push ecx
call fcn.004084c4
add esp, 0xc
mov edx, dword [ebp - 0x658]
push edx
lea eax, [ebp - 0x514]
push eax
call fcn.004038a9
add esp, 8
push eax
call fcn.00403d92
add esp, 4
mov dword [0x4124f8], eax
mov ecx, dword [ebp - 0x63c]
push ecx
push 2
lea edx, [ebp - 0x514]
push edx
call fcn.004084c4
add esp, 0xc
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x514]
push ecx
call fcn.004038a9
add esp, 8
push eax
call fcn.00403d92
add esp, 4
mov dword [0x4124fc], eax
mov dword [ebp - 0x630], 0
jmp 0x402c39
mov edx, dword [ebp - 0x630]
add edx, 1
mov dword [ebp - 0x630], edx
mov eax, dword [ebp - 0x630]
cmp eax, dword [0x412504]
jge 0x40377f
push 2
mov ecx, dword [0x4188dc]
add ecx, dword [ebp - 0x51c]
mov edx, dword [ebp - 0x630]
imul edx, edx, 0x18
sub ecx, edx
imul ecx, ecx, 0xffffffff
add ecx, dword [0x4124f4]
push ecx
mov eax, dword [ebp - 0x63c]
push eax
call fcn.004086fe
add esp, 0xc
mov ecx, dword [ebp - 0x63c]
push ecx
push 0xd
lea edx, [ebp - 0x514]
push edx
call fcn.004084c4
add esp, 0xc
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x514]
push ecx
call fcn.004038a9
add esp, 8
push eax
call fcn.00403a64
add esp, 4
mov dword [ebp - 0xa48], eax
mov edx, dword [ebp - 0x63c]
push edx
push 0xc
lea eax, [ebp - 0x514]
push eax
call fcn.004084c4
add esp, 0xc
mov ecx, dword [ebp - 0x658]
push ecx
lea edx, [ebp - 0x514]
push edx
call fcn.004038a9
add esp, 8
push eax
call fcn.00403a64
add esp, 4
mov dword [ebp - 0x408], eax
mov eax, dword [ebp - 0x63c]
mov ecx, dword [eax + 4]
sub ecx, 1
mov edx, dword [ebp - 0x63c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x63c]
cmp dword [eax + 4], 0
jl 0x402d43
mov ecx, dword [ebp - 0x63c]
mov edx, dword [ecx]
movsx eax, byte [edx]
and eax, 0xff
mov dword [ebp - 0xb54], eax
mov ecx, dword [ebp - 0x63c]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 0x63c]
mov dword [eax], edx
jmp 0x402d58
mov ecx, dword [ebp - 0x63c]
push ecx
call fcn.0040835d
add esp, 4
mov dword [ebp - 0xb54], eax
mov edx, dword [ebp - 0xb54]
add edx, dword [ebp - 0x658]
mov dword [ebp - 0x3f8], edx
cmp dword [ebp - 0x3f8], 0xff
jle 0x402d87
mov eax, dword [ebp - 0x3f8]
sub eax, 0x100
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
jge 0x402da2
mov ecx, dword [ebp - 0x3f8]
add ecx, 0x100
mov dword [ebp - 0x3f8], ecx
push 2
mov edx, dword [ebp - 0x51c]
mov eax, dword [0x4188dc]
lea ecx, [eax + edx + 0xc]
sub ecx, dword [ebp - 0xa48]
imul ecx, ecx, 0xffffffff
add ecx, dword [0x4124f4]
push ecx
mov edx, dword [ebp - 0x63c]
push edx
call fcn.004086fe
add esp, 0xc
mov eax, dword [ebp - 0x63c]
push eax
mov ecx, dword [ebp - 0x3f8]
add ecx, 1
push ecx
lea edx, [ebp - 0x514]
push edx
call fcn.004084c4
add esp, 0xc
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x514]
push ecx
call fcn.004038a9
add esp, 8
push eax
lea edx, [ebp - 0xb50]
push edx
call fcn.00407f60
add esp, 8
lea eax, [ebp - 0x62c]
push eax
lea ecx, [ebp - 0xa44]
push ecx
call fcn.00407f60
add esp, 8
lea edx, [ebp - 0xb50]
push edx
lea eax, [ebp - 0xa44]
push eax
call fcn.00407f70
add esp, 8
push 0x418e78
mov ecx, dword [ebp - 0x630]
imul ecx, ecx, 0x3e8
add ecx, 0x5874c0
push ecx
call fcn.00407f60
add esp, 8
mov edx, dword [ebp - 0x408]
sub edx, dword [ebp - 0x3f8]
test edx, edx
jle 0x40377a
mov eax, dword [0x412504]
sub eax, 2
cmp dword [ebp - 0x630], eax
jge 0x40331f
cmp dword [0x4124f8], 1
jne 0x402f92
push 0
push 1
push 0x18
mov ecx, dword [0xf10b40]
push ecx
call fcn.00407d85
add esp, 0x10
push 0x411148
call fcn.0040888c
add esp, 4
lea edx, [ebp - 0xb50]
push edx
call fcn.0040888c
add esp, 4
mov eax, dword [ebp - 0x408]
sub eax, dword [ebp - 0x3f8]
mov dword [ebp - 0xb58], eax
fild dword [ebp - 0xb58]
sub esp, 8
fstp qword [esp]
call fcn.00403daf
add esp, 8
push eax
call fcn.0040888c
add esp, 4
push str._bytes
call fcn.0040888c
add esp, 4
push 0x411154
call fcn.0040888c
add esp, 4
mov ecx, dword [ebp - 0x630]
add ecx, 1
mov dword [ebp - 0xb5c], ecx
fild dword [ebp - 0xb5c]
sub esp, 8
fstp qword [esp]
call fcn.00403daf
add esp, 8
push eax
call fcn.0040888c
add esp, 4
push 0x411158
call fcn.0040888c
add esp, 4
mov edx, dword [0x412504]
sub edx, 2
mov dword [ebp - 0xb60], edx
fild dword [ebp - 0xb60]
sub esp, 8
fstp qword [esp]
call fcn.00403daf
add esp, 8
push eax
call fcn.0040888c
add esp, 4
push 0x41115c
call fcn.0040888c
add esp, 4
push 0x411160
call fcn.0040888c
add esp, 4
push 0x22
call fcn.00403d36
add esp, 4
push eax
lea eax, [ebp - 0xa44]
push eax
push 0x22
call fcn.00403d36
add esp, 4
push eax
push 0x4189bc
push 0x22
call fcn.00403d36
add esp, 4
push eax
lea ecx, [ebp - 0xa44]
push ecx
push 0x22
call fcn.00403d36
add esp, 4
push eax
push 0x4189a0
push 0x411164
lea edx, [ebp - 0x3e8]
push edx
call fcn.00408050
add esp, 0x28
lea eax, [ebp - 0x3e8]
push eax
call fcn.00407ec2
add esp, 4
lea ecx, [ebp - 0x3e8]
push ecx
mov edx, dword [ebp - 0x630]
imul edx, edx, 0x3e8
add edx, 0x5874c0
push edx
call fcn.00407f60
add esp, 8
push 0x411178
lea eax, [ebp - 0xa44]
push eax
call fcn.004088dd
add esp, 8
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 0
je 0x40331f
mov dword [0x4188bc], 0
mov dword [ebp - 0x638], 1
jmp 0x403067
mov ecx, dword [ebp - 0x638]
add ecx, 1
mov dword [ebp - 0x638], ecx
mov edx, dword [ebp - 0x408]
sub edx, dword [ebp - 0x3f8]
add edx, 1
cmp dword [ebp - 0x638], edx
jge 0x403303
mov eax, dword [ebp - 0x63c]
mov ecx, dword [eax + 4]
sub ecx, 1
mov edx, dword [ebp - 0x63c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x63c]
cmp dword [eax + 4], 0
jl 0x4030ce
mov ecx, dword [ebp - 0x63c]
mov edx, dword [ecx]
movsx eax, byte [edx]
and eax, 0xff
mov dword [ebp - 0xb64], eax
mov ecx, dword [ebp - 0x63c]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 0x63c]
mov dword [eax], edx
jmp 0x4030e3
mov ecx, dword [ebp - 0x63c]
push ecx
call fcn.0040835d
add esp, 4
mov dword [ebp - 0xb64], eax
mov edx, dword [ebp - 0xb64]
mov dword [ebp - 0x400], edx
mov eax, dword [ebp - 0x400]
push eax
call fcn.00403794
add esp, 4
mov dword [ebp - 0x400], eax
mov ecx, dword [ebp - 0x654]
mov edx, dword [ecx + 4]
sub edx, 1
mov eax, dword [ebp - 0x654]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x654]
cmp dword [ecx + 4], 0
jl 0x40315d
mov edx, dword [ebp - 0x654]
mov eax, dword [edx]
mov cl, byte [ebp - 0x400]
mov byte [eax], cl
movsx edx, byte [ebp - 0x400]
and edx, 0xff
mov dword [ebp - 0xb68], edx
mov eax, dword [ebp - 0x654]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 0x654]
mov dword [edx], ecx
jmp 0x403179
mov eax, dword [ebp - 0x654]
push eax
mov ecx, dword [ebp - 0x400]
push ecx
call fcn.00408248
add esp, 8
mov dword [ebp - 0xb68], eax
mov edx, dword [ebp - 0x404]
add edx, 1
mov dword [ebp - 0x404], edx
mov eax, dword [ebp - 0xa4c]
add eax, 1
mov dword [ebp - 0xa4c], eax
cmp dword [ebp - 0x3f0], 0x1312d00
jbe 0x4032fe
cmp dword [ebp - 0x404], 0x4c4b40
jbe 0x4032fe
push 0
push 0x33
push 0xd
mov ecx, dword [0xf10b40]
push ecx
call fcn.00407d85
add esp, 0x10
push 0x41117c
call fcn.0040888c
add esp, 4
mov eax, dword [ebp - 0x3f0]
xor edx, edx
mov ecx, 0x64
div ecx
mov ecx, eax
mov eax, dword [ebp - 0xa4c]
xor edx, edx
div ecx
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x404], 0
mov edx, dword [ebp - 0xa4c]
cmp edx, dword [ebp - 0x3f0]
jb 0x403221
mov eax, dword [ebp - 0x3f0]
sub eax, 1
mov dword [ebp - 0xa4c], eax
push 0
push 0x21
push 0xc
mov ecx, dword [0xf10b40]
push ecx
call fcn.00407d85
add esp, 0x10
push str.Loading__
call fcn.0040888c
add esp, 4
mov edx, dword [ebp - 0x650]
mov dword [ebp - 0xb70], edx
mov dword [ebp - 0xb6c], 0
fild qword [ebp - 0xb70]
sub esp, 8
fstp qword [esp]
call fcn.00403daf
add esp, 8
push eax
call fcn.0040888c
add esp, 4
push 0x41118c
call fcn.0040888c
add esp, 4
push 0
push 0x1e
push 0xd
mov eax, dword [0xf10b40]
push eax
call fcn.00407d85
add esp, 0x10
push 0x411194
call fcn.0040888c
add esp, 4
mov dword [ebp - 0x634], 0
jmp 0x4032bf
mov ecx, dword [ebp - 0x634]
add ecx, 1
mov dword [ebp - 0x634], ecx
mov edx, dword [ebp - 0x634]
cmp edx, dword [ebp - 0x650]
jae 0x4032fe
mov eax, dword [ebp - 0x3ec]
add eax, 1
mov dword [ebp - 0x3ec], eax
cmp dword [ebp - 0x3ec], 4
jbe 0x4032fc
push 0x411198
call fcn.0040888c
add esp, 4
mov dword [ebp - 0x3ec], 0
jmp 0x4032b0
jmp 0x403058
mov ecx, dword [ebp - 0x654]
push ecx
call fcn.004081f2
add esp, 4
push 0x41119c
call fcn.00407ec2
add esp, 4
mov edx, dword [0x412504]
sub edx, 2
cmp dword [ebp - 0x630], edx
jne 0x403557
push 0x414c18
lea eax, [ebp - 0xa44]
push eax
call fcn.00407f60
add esp, 8
push 0x22
call fcn.00403d36
add esp, 4
push eax
lea ecx, [ebp - 0xa44]
push ecx
push 0x22
call fcn.00403d36
add esp, 4
push eax
push 0x4189bc
push 0x22
call fcn.00403d36
add esp, 4
push eax
lea edx, [ebp - 0xa44]
push edx
push 0x22
call fcn.00403d36
add esp, 4
push eax
push 0x4189a0
push 0x4111a0
lea eax, [ebp - 0x3e8]
push eax
call fcn.00408050
add esp, 0x28
lea ecx, [ebp - 0x3e8]
push ecx
call fcn.00407ec2
add esp, 4
lea edx, [ebp - 0x3e8]
push edx
mov eax, dword [ebp - 0x630]
imul eax, eax, 0x3e8
add eax, 0x5874c0
push eax
call fcn.00407f60
add esp, 8
push 0x4111b4
lea ecx, [ebp - 0xa44]
push ecx
call fcn.004088dd
add esp, 8
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 0
je 0x403557
mov edx, dword [ebp - 0x654]
push edx
push 0x414e20
call fcn.004081af
add esp, 8
mov dword [0x4188bc], 0
mov dword [ebp - 0x638], 1
jmp 0x403430
mov eax, dword [ebp - 0x638]
add eax, 1
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp - 0x408]
sub ecx, dword [ebp - 0x3f8]
add ecx, 1
cmp dword [ebp - 0x638], ecx
jge 0x403548
mov edx, dword [ebp - 0x63c]
mov eax, dword [edx + 4]
sub eax, 1
mov ecx, dword [ebp - 0x63c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x63c]
cmp dword [edx + 4], 0
jl 0x403498
mov eax, dword [ebp - 0x63c]
mov ecx, dword [eax]
movsx edx, byte [ecx]
and edx, 0xff
mov dword [ebp - 0xb74], edx
mov eax, dword [ebp - 0x63c]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 0x63c]
mov dword [edx], ecx
jmp 0x4034ad
mov eax, dword [ebp - 0x63c]
push eax
call fcn.0040835d
add esp, 4
mov dword [ebp - 0xb74], eax
mov ecx, dword [ebp - 0xb74]
mov dword [ebp - 0x400], ecx
mov edx, dword [ebp - 0x400]
push edx
call fcn.00403794
add esp, 4
mov dword [ebp - 0x400], eax
mov eax, dword [ebp - 0x654]
mov ecx, dword [eax + 4]
sub ecx, 1
mov edx, dword [ebp - 0x654]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x654]
cmp dword [eax + 4], 0
jl 0x403527
mov ecx, dword [ebp - 0x654]
mov edx, dword [ecx]
mov al, byte [ebp - 0x400]
mov byte [edx], al
movsx ecx, byte [ebp - 0x400]
and ecx, 0xff
mov dword [ebp - 0xb78], ecx
mov edx, dword [ebp - 0x654]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 0x654]
mov dword [ecx], eax
jmp 0x403543
mov edx, dword [ebp - 0x654]
push edx
mov eax, dword [ebp - 0x400]
push eax
call fcn.00408248
add esp, 8
mov dword [ebp - 0xb78], eax
jmp 0x403421
mov ecx, dword [ebp - 0x654]
push ecx
call fcn.004081f2
add esp, 4
mov edx, dword [0x412504]
sub edx, 1
cmp dword [ebp - 0x630], edx
jne 0x40377a
push 0x414d1c
lea eax, [ebp - 0xa44]
push eax
call fcn.00407f60
add esp, 8
push 0x22
call fcn.00403d36
add esp, 4
push eax
lea ecx, [ebp - 0xa44]
push ecx
push 0x22
call fcn.00403d36
add esp, 4
push eax
push 0x4189bc
push 0x22
call fcn.00403d36
add esp, 4
push eax
lea edx, [ebp - 0xa44]
push edx
push 0x22
call fcn.00403d36
add esp, 4
push eax
push 0x4189a0
push str._s_s_s_s_s_s_s_s
lea eax, [ebp - 0x3e8]
push eax
call fcn.00408050
add esp, 0x28
lea ecx, [ebp - 0x3e8]
push ecx
call fcn.00407ec2
add esp, 4
lea edx, [ebp - 0x3e8]
push edx
mov eax, dword [ebp - 0x630]
imul eax, eax, 0x3e8
add eax, 0x5874c0
push eax
call fcn.00407f60
add esp, 8
push 0x4111cc
lea ecx, [ebp - 0xa44]
push ecx
call fcn.004088dd
add esp, 8
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 0
je 0x40377a
mov dword [0x4188bc], 0
mov dword [ebp - 0x638], 1
jmp 0x403654
mov edx, dword [ebp - 0x638]
add edx, 1
mov dword [ebp - 0x638], edx
mov eax, dword [ebp - 0x408]
sub eax, dword [ebp - 0x3f8]
add eax, 1
cmp dword [ebp - 0x638], eax
jge 0x40376b
mov ecx, dword [ebp - 0x63c]
mov edx, dword [ecx + 4]
sub edx, 1
mov eax, dword [ebp - 0x63c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x63c]
cmp dword [ecx + 4], 0
jl 0x4036bc
mov edx, dword [ebp - 0x63c]
mov eax, dword [edx]
movsx ecx, byte [eax]
and ecx, 0xff
mov dword [ebp - 0xb7c], ecx
mov edx, dword [ebp - 0x63c]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 0x63c]
mov dword [ecx], eax
jmp 0x4036d1
mov edx, dword [ebp - 0x63c]
push edx
call fcn.0040835d
add esp, 4
mov dword [ebp - 0xb7c], eax
mov eax, dword [ebp - 0xb7c]
mov dword [ebp - 0x400], eax
mov ecx, dword [ebp - 0x400]
push ecx
call fcn.00403794
add esp, 4
mov dword [ebp - 0x400], eax
mov edx, dword [ebp - 0x654]
mov eax, dword [edx + 4]
sub eax, 1
mov ecx, dword [ebp - 0x654]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x654]
cmp dword [edx + 4], 0
jl 0x40374a
mov eax, dword [ebp - 0x654]
mov ecx, dword [eax]
mov dl, byte [ebp - 0x400]
mov byte [ecx], dl
movsx eax, byte [ebp - 0x400]
and eax, 0xff
mov dword [ebp - 0xb80], eax
mov ecx, dword [ebp - 0x654]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 0x654]
mov dword [eax], edx
jmp 0x403766
mov ecx, dword [ebp - 0x654]
push ecx
mov edx, dword [ebp - 0x400]
push edx
call fcn.00408248
add esp, 8
mov dword [ebp - 0xb80], eax
jmp 0x403645
mov eax, dword [ebp - 0x654]
push eax
call fcn.004081f2
add esp, 4
jmp 0x402c2a
mov ecx, dword [ebp - 0x63c]
push ecx
call fcn.004081f2
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret