Function at 0x402690
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb80
push esi
push edi
mov al, byte [0x41ce44]
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 [0x41ce48]
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 [0x41ce4c]
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 [0x41ce50]
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 [0x41ce54]
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 [0x41ce58]
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 [0x41ce5c]
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 0x41510c
push 0x4163e0
push str._s_s
lea eax, [ebp - 0x62c]
push eax
call fcn.0040bd60
add esp, 0x10
push 0x415118
push 1
call fcn.00403d2a
add esp, 4
push eax
call fcn.0040c5ed
add esp, 8
mov dword [ebp - 0x63c], eax
cmp dword [ebp - 0x63c], 0
jne 0x4028b3
push str.Error_bdembed1____Quiting
push 0x415138
call fcn.0040c59c
add esp, 8
push 1
call fcn.0040c4c7
push 2
push 0
mov ecx, dword [ebp - 0x63c]
push ecx
call fcn.0040c40e
add esp, 0xc
mov edx, dword [ebp - 0x63c]
push edx
call fcn.0040c2b6
add esp, 4
mov esi, eax
push 0x41c8bc
call fcn.0040c22b
add esp, 4
sub esi, eax
mov dword [0x41c8cc], esi
push 2
mov eax, dword [0x41c8cc]
neg eax
mov ecx, dword [0x4164e4]
lea edx, [eax + ecx - 0xc]
push edx
mov eax, dword [ebp - 0x63c]
push eax
call fcn.0040c40e
add esp, 0xc
mov ecx, dword [ebp - 0x63c]
push ecx
push 0xd
lea edx, [ebp - 0x514]
push edx
call fcn.0040c1d4
add esp, 0xc
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x514]
push ecx
call fcn.004038b9
add esp, 8
push eax
call fcn.00403a74
add esp, 4
mov dword [ebp - 0x51c], eax
push 2
mov edx, dword [ebp - 0x51c]
mov eax, dword [0x41c8cc]
lea ecx, [eax + edx + 0xc]
imul ecx, ecx, 0xffffffff
add ecx, dword [0x4164e4]
push ecx
mov edx, dword [ebp - 0x63c]
push edx
call fcn.0040c40e
add esp, 0xc
mov eax, dword [ebp - 0x63c]
push eax
push 6
lea ecx, [ebp - 0x514]
push ecx
call fcn.0040c1d4
add esp, 0xc
mov edx, dword [ebp - 0x658]
push edx
lea eax, [ebp - 0x514]
push eax
call fcn.004038b9
add esp, 8
push eax
call fcn.00403a74
add esp, 4
mov dword [0x4164f4], eax
mov ecx, dword [ebp - 0x63c]
push ecx
push 6
lea edx, [ebp - 0x514]
push edx
call fcn.0040c1d4
add esp, 0xc
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x514]
push ecx
call fcn.004038b9
add esp, 8
push eax
lea edx, [ebp - 0x528]
push edx
call fcn.0040bc70
add esp, 8
mov dword [ebp - 0x640], 0
mov dword [ebp - 0x65c], 0
push 0x41c8f8
lea eax, [ebp - 0x528]
push eax
call fcn.0040c150
add esp, 8
mov dword [ebp - 0x65c], eax
cmp dword [ebp - 0x65c], 0
jne 0x402a31
mov dword [ebp - 0x640], 1
push 0x41c920
lea ecx, [ebp - 0x528]
push ecx
call fcn.0040c150
add esp, 8
mov dword [ebp - 0x65c], eax
cmp dword [ebp - 0x65c], 0
jne 0x402a5e
mov dword [ebp - 0x640], 1
cmp dword [ebp - 0x640], 0
jne 0x402a6c
call fcn.00407d53
push 0x41513c
push 0x41c958
call fcn.0040bc70
add esp, 8
mov dword [ebp - 0x65c], 0
mov dword [0x41c8ac], 0
push 0x41ce60
push 0x41c948
call fcn.0040bc70
add esp, 8
push 0x41ce64
lea edx, [ebp - 0x64c]
push edx
call fcn.0040bc70
add esp, 8
push 0x41c958
call fcn.0040bdc0
add esp, 4
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x638], 1
jmp 0x402ae6
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 0x402b5d
push 1
mov edx, dword [ebp - 0x638]
push edx
push 0x41c958
call fcn.00403e06
add esp, 0xc
push eax
call fcn.00403da2
add esp, 4
push eax
call fcn.004037a4
add esp, 4
mov dword [ebp - 0x400], eax
mov al, byte [ebp - 0x400]
push eax
call fcn.00403d46
add esp, 4
push eax
lea ecx, [ebp - 0x64c]
push ecx
call fcn.0040bc70
add esp, 8
lea edx, [ebp - 0x64c]
push edx
push 0x41c948
call fcn.0040bc80
add esp, 8
jmp 0x402ad7
push 0x41c948
call fcn.0040401a
add esp, 4
push eax
push 0x41c964
call fcn.0040bc70
add esp, 8
push 0x41c964
call fcn.0040bdc0
add esp, 4
mov dword [ebp - 0x3f4], eax
cmp dword [ebp - 0x3f4], 1
jle 0x402b99
call fcn.004041ed
mov dword [0x41c8ac], 0
push 0x41c8bc
call fcn.0040c22b
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.0040c1d4
add esp, 0xc
mov edx, dword [ebp - 0x658]
push edx
lea eax, [ebp - 0x514]
push eax
call fcn.004038b9
add esp, 8
push eax
call fcn.00403da2
add esp, 4
mov dword [0x4164e8], eax
mov ecx, dword [ebp - 0x63c]
push ecx
push 2
lea edx, [ebp - 0x514]
push edx
call fcn.0040c1d4
add esp, 0xc
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x514]
push ecx
call fcn.004038b9
add esp, 8
push eax
call fcn.00403da2
add esp, 4
mov dword [0x4164ec], eax
mov dword [ebp - 0x630], 0
jmp 0x402c49
mov edx, dword [ebp - 0x630]
add edx, 1
mov dword [ebp - 0x630], edx
mov eax, dword [ebp - 0x630]
cmp eax, dword [0x4164f4]
jge 0x40378f
push 2
mov ecx, dword [0x41c8cc]
add ecx, dword [ebp - 0x51c]
mov edx, dword [ebp - 0x630]
imul edx, edx, 0x18
sub ecx, edx
imul ecx, ecx, 0xffffffff
add ecx, dword [0x4164e4]
push ecx
mov eax, dword [ebp - 0x63c]
push eax
call fcn.0040c40e
add esp, 0xc
mov ecx, dword [ebp - 0x63c]
push ecx
push 0xd
lea edx, [ebp - 0x514]
push edx
call fcn.0040c1d4
add esp, 0xc
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x514]
push ecx
call fcn.004038b9
add esp, 8
push eax
call fcn.00403a74
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.0040c1d4
add esp, 0xc
mov ecx, dword [ebp - 0x658]
push ecx
lea edx, [ebp - 0x514]
push edx
call fcn.004038b9
add esp, 8
push eax
call fcn.00403a74
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 0x402d53
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 0x402d68
mov ecx, dword [ebp - 0x63c]
push ecx
call fcn.0040c06d
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 0x402d97
mov eax, dword [ebp - 0x3f8]
sub eax, 0x100
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
jge 0x402db2
mov ecx, dword [ebp - 0x3f8]
add ecx, 0x100
mov dword [ebp - 0x3f8], ecx
push 2
mov edx, dword [ebp - 0x51c]
mov eax, dword [0x41c8cc]
lea ecx, [eax + edx + 0xc]
sub ecx, dword [ebp - 0xa48]
imul ecx, ecx, 0xffffffff
add ecx, dword [0x4164e4]
push ecx
mov edx, dword [ebp - 0x63c]
push edx
call fcn.0040c40e
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.0040c1d4
add esp, 0xc
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x514]
push ecx
call fcn.004038b9
add esp, 8
push eax
lea edx, [ebp - 0xb50]
push edx
call fcn.0040bc70
add esp, 8
lea eax, [ebp - 0x62c]
push eax
lea ecx, [ebp - 0xa44]
push ecx
call fcn.0040bc70
add esp, 8
lea edx, [ebp - 0xb50]
push edx
lea eax, [ebp - 0xa44]
push eax
call fcn.0040bc80
add esp, 8
push 0x41ce68
mov ecx, dword [ebp - 0x630]
imul ecx, ecx, 0x3e8
add ecx, 0x58b4e0
push ecx
call fcn.0040bc70
add esp, 8
mov edx, dword [ebp - 0x408]
sub edx, dword [ebp - 0x3f8]
test edx, edx
jle 0x40378a
mov eax, dword [0x4164f4]
sub eax, 2
cmp dword [ebp - 0x630], eax
jge 0x40332f
cmp dword [0x4164e8], 1
jne 0x402fa2
push 0
push 1
push 0x18
mov ecx, dword [0xf14b60]
push ecx
call fcn.0040b223
add esp, 0x10
push 0x415148
call fcn.0040c59c
add esp, 4
lea edx, [ebp - 0xb50]
push edx
call fcn.0040c59c
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.00403dbf
add esp, 8
push eax
call fcn.0040c59c
add esp, 4
push str._bytes
call fcn.0040c59c
add esp, 4
push 0x415154
call fcn.0040c59c
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.00403dbf
add esp, 8
push eax
call fcn.0040c59c
add esp, 4
push 0x415158
call fcn.0040c59c
add esp, 4
mov edx, dword [0x4164f4]
sub edx, 2
mov dword [ebp - 0xb60], edx
fild dword [ebp - 0xb60]
sub esp, 8
fstp qword [esp]
call fcn.00403dbf
add esp, 8
push eax
call fcn.0040c59c
add esp, 4
push 0x41515c
call fcn.0040c59c
add esp, 4
push 0x415160
call fcn.0040c59c
add esp, 4
push 0x22
call fcn.00403d46
add esp, 4
push eax
lea eax, [ebp - 0xa44]
push eax
push 0x22
call fcn.00403d46
add esp, 4
push eax
push 0x41c9ac
push 0x22
call fcn.00403d46
add esp, 4
push eax
lea ecx, [ebp - 0xa44]
push ecx
push 0x22
call fcn.00403d46
add esp, 4
push eax
push 0x41c990
push 0x415164
lea edx, [ebp - 0x3e8]
push edx
call fcn.0040bd60
add esp, 0x28
lea eax, [ebp - 0x3e8]
push eax
call fcn.0040bbd2
add esp, 4
lea ecx, [ebp - 0x3e8]
push ecx
mov edx, dword [ebp - 0x630]
imul edx, edx, 0x3e8
add edx, 0x58b4e0
push edx
call fcn.0040bc70
add esp, 8
push 0x415178
lea eax, [ebp - 0xa44]
push eax
call fcn.0040c5ed
add esp, 8
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 0
je 0x40332f
mov dword [0x41c8ac], 0
mov dword [ebp - 0x638], 1
jmp 0x403077
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 0x403313
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 0x4030de
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 0x4030f3
mov ecx, dword [ebp - 0x63c]
push ecx
call fcn.0040c06d
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.004037a4
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 0x40316d
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 0x403189
mov eax, dword [ebp - 0x654]
push eax
mov ecx, dword [ebp - 0x400]
push ecx
call fcn.0040bf58
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 0x40330e
cmp dword [ebp - 0x404], 0x4c4b40
jbe 0x40330e
push 0
push 0x33
push 0xd
mov ecx, dword [0xf14b60]
push ecx
call fcn.0040b223
add esp, 0x10
push 0x41517c
call fcn.0040c59c
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 0x403231
mov eax, dword [ebp - 0x3f0]
sub eax, 1
mov dword [ebp - 0xa4c], eax
push 0
push 0x21
push 0xc
mov ecx, dword [0xf14b60]
push ecx
call fcn.0040b223
add esp, 0x10
push str.Loading__
call fcn.0040c59c
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.00403dbf
add esp, 8
push eax
call fcn.0040c59c
add esp, 4
push str.____
call fcn.0040c59c
add esp, 4
push 0
push 0x1e
push 0xd
mov eax, dword [0xf14b60]
push eax
call fcn.0040b223
add esp, 0x10
push 0x415194
call fcn.0040c59c
add esp, 4
mov dword [ebp - 0x634], 0
jmp 0x4032cf
mov ecx, dword [ebp - 0x634]
add ecx, 1
mov dword [ebp - 0x634], ecx
mov edx, dword [ebp - 0x634]
cmp edx, dword [ebp - 0x650]
jae 0x40330e
mov eax, dword [ebp - 0x3ec]
add eax, 1
mov dword [ebp - 0x3ec], eax
cmp dword [ebp - 0x3ec], 4
jbe 0x40330c
push 0x415198
call fcn.0040c59c
add esp, 4
mov dword [ebp - 0x3ec], 0
jmp 0x4032c0
jmp 0x403068
mov ecx, dword [ebp - 0x654]
push ecx
call fcn.0040bf02
add esp, 4
push 0x41519c
call fcn.0040bbd2
add esp, 4
mov edx, dword [0x4164f4]
sub edx, 2
cmp dword [ebp - 0x630], edx
jne 0x403567
push 0x418c08
lea eax, [ebp - 0xa44]
push eax
call fcn.0040bc70
add esp, 8
push 0x22
call fcn.00403d46
add esp, 4
push eax
lea ecx, [ebp - 0xa44]
push ecx
push 0x22
call fcn.00403d46
add esp, 4
push eax
push 0x41c9ac
push 0x22
call fcn.00403d46
add esp, 4
push eax
lea edx, [ebp - 0xa44]
push edx
push 0x22
call fcn.00403d46
add esp, 4
push eax
push 0x41c990
push 0x4151a0
lea eax, [ebp - 0x3e8]
push eax
call fcn.0040bd60
add esp, 0x28
lea ecx, [ebp - 0x3e8]
push ecx
call fcn.0040bbd2
add esp, 4
lea edx, [ebp - 0x3e8]
push edx
mov eax, dword [ebp - 0x630]
imul eax, eax, 0x3e8
add eax, 0x58b4e0
push eax
call fcn.0040bc70
add esp, 8
push 0x4151b4
lea ecx, [ebp - 0xa44]
push ecx
call fcn.0040c5ed
add esp, 8
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 0
je 0x403567
mov edx, dword [ebp - 0x654]
push edx
push 0x418e10
call fcn.0040bebf
add esp, 8
mov dword [0x41c8ac], 0
mov dword [ebp - 0x638], 1
jmp 0x403440
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 0x403558
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 0x4034a8
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 0x4034bd
mov eax, dword [ebp - 0x63c]
push eax
call fcn.0040c06d
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.004037a4
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 0x403537
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 0x403553
mov edx, dword [ebp - 0x654]
push edx
mov eax, dword [ebp - 0x400]
push eax
call fcn.0040bf58
add esp, 8
mov dword [ebp - 0xb78], eax
jmp 0x403431
mov ecx, dword [ebp - 0x654]
push ecx
call fcn.0040bf02
add esp, 4
mov edx, dword [0x4164f4]
sub edx, 1
cmp dword [ebp - 0x630], edx
jne 0x40378a
push 0x418d0c
lea eax, [ebp - 0xa44]
push eax
call fcn.0040bc70
add esp, 8
push 0x22
call fcn.00403d46
add esp, 4
push eax
lea ecx, [ebp - 0xa44]
push ecx
push 0x22
call fcn.00403d46
add esp, 4
push eax
push 0x41c9ac
push 0x22
call fcn.00403d46
add esp, 4
push eax
lea edx, [ebp - 0xa44]
push edx
push 0x22
call fcn.00403d46
add esp, 4
push eax
push 0x41c990
push str._s_s_s_s_s_s_s_s
lea eax, [ebp - 0x3e8]
push eax
call fcn.0040bd60
add esp, 0x28
lea ecx, [ebp - 0x3e8]
push ecx
call fcn.0040bbd2
add esp, 4
lea edx, [ebp - 0x3e8]
push edx
mov eax, dword [ebp - 0x630]
imul eax, eax, 0x3e8
add eax, 0x58b4e0
push eax
call fcn.0040bc70
add esp, 8
push 0x4151cc
lea ecx, [ebp - 0xa44]
push ecx
call fcn.0040c5ed
add esp, 8
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 0
je 0x40378a
mov dword [0x41c8ac], 0
mov dword [ebp - 0x638], 1
jmp 0x403664
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 0x40377b
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 0x4036cc
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 0x4036e1
mov edx, dword [ebp - 0x63c]
push edx
call fcn.0040c06d
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.004037a4
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 0x40375a
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 0x403776
mov ecx, dword [ebp - 0x654]
push ecx
mov edx, dword [ebp - 0x400]
push edx
call fcn.0040bf58
add esp, 8
mov dword [ebp - 0xb80], eax
jmp 0x403655
mov eax, dword [ebp - 0x654]
push eax
call fcn.0040bf02
add esp, 4
jmp 0x402c3a
mov ecx, dword [ebp - 0x63c]
push ecx
call fcn.0040bf02
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret