Function at 0x402280
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41a5fe
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7e4
push esi
push edi
mov dword [ebp - 0x6b0], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx]
mov dword [ebp - 0x18], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x14], eax
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xc4]
add edx, 0xc
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 2
je 0x4022fe
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
push ecx
push str._Screen::Load__ERROR:_Wrong_file_format_version__found___d_
call fcn.0040afc0
add esp, 8
jmp 0x40562a
mov edx, dword [ebp - 0x10]
and edx, 0xffff
push edx
mov eax, dword [ebp - 0x12]
and eax, 0xffff
push eax
push str._Screen::Load__Glyph_dimension___dx_d_
call fcn.0040afc0
add esp, 0xc
mov ecx, dword [ebp - 0x12]
and ecx, 0xffff
mov dword [0x425e3c], ecx
mov edx, dword [ebp - 0x10]
and edx, 0xffff
mov dword [0x425e40], edx
mov eax, dword [ebp - 0x13]
and eax, 0xff
sub eax, 1
cdq
sub eax, edx
sar eax, 1
mov dword [0x425e44], eax
mov eax, dword [ebp - 0x12]
and eax, 0xffff
mov ecx, dword [0x425e44]
add ecx, 1
imul eax, ecx
mov dword [ebp - 0xa0], eax
mov edx, dword [ebp - 0x10]
and edx, 0xffff
shl edx, 1
shl edx, 2
imul edx, edx, 3
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xa0], 0
jg 0x4023a4
mov eax, dword [ebp - 0xa0]
push eax
push str._Screen::Load__ERROR:_Invalid_width_of_animation_data__got__d
call fcn.0040afc0
add esp, 8
jmp 0x40562a
cmp dword [ebp - 0xc0], 0
jg 0x4023c6
mov ecx, dword [ebp - 0xc0]
push ecx
push str._Screen::Load__ERROR:_Invalid_height_of_animation_data__got__d
call fcn.0040afc0
add esp, 8
jmp 0x40562a
mov ecx, 0x1b
xor eax, eax
mov edi, dword [ebp - 0x6b0]
add edi, 0x128
rep stosd dword es:[edi], eax
mov edx, dword [ebp - 0x6b0]
mov dword [edx + 0x128], 0x6c
mov eax, dword [ebp - 0x6b0]
mov dword [eax + 0x12c], 7
mov ecx, dword [ebp - 0x6b0]
mov dword [ecx + 0x190], 0x40
mov edx, dword [ebp - 0x6b0]
mov eax, dword [ebp - 0xa0]
mov dword [edx + 0x134], eax
mov ecx, dword [ebp - 0x6b0]
mov edx, dword [ebp - 0xc0]
mov dword [ecx + 0x130], edx
push 0
mov eax, dword [ebp - 0x6b0]
add eax, 0x120
push eax
mov ecx, dword [ebp - 0x6b0]
add ecx, 0x128
push ecx
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x110]
mov ecx, dword [ebp - 0x6b0]
mov edx, dword [ecx + 0x110]
mov ecx, dword [edx]
push eax
call dword [ecx + 0x18]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x40249e
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
push str._Screen::Load__ERROR:_Unable_to_create_offscreen_surface__dimensions___dx_d___0x_x_
call fcn.0040afc0
add esp, 0x10
jmp 0x40562a
mov edx, dword [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xa0]
push eax
push str._Screen::Load__INFO:_Offscreen_surface_created__dimensions___dx_d_
call fcn.0040afc0
add esp, 0xc
mov dword [ebp - 0x7c], 0x64
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x7c]
push ecx
push 0x1000400
push 0
push 0
push 0
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x120]
mov ecx, dword [ebp - 0x6b0]
mov edx, dword [ecx + 0x120]
mov ecx, dword [edx]
push eax
call dword [ecx + 0x14]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x402517
mov edx, dword [ebp - 0x9c]
push edx
push str._Screen::Load__WARNING:_Unable_to_clear_glyph_color_buffer__0x_x_
call fcn.0040afc0
add esp, 8
mov ecx, 0x1b
xor eax, eax
mov edi, dword [ebp - 0x6b0]
add edi, 0x128
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x6b0]
mov dword [eax + 0x128], 0x6c
push 0
push 1
mov ecx, dword [ebp - 0x6b0]
add ecx, 0x128
push ecx
push 0
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x120]
mov ecx, dword [ebp - 0x6b0]
mov edx, dword [ecx + 0x120]
mov ecx, dword [edx]
push eax
call dword [ecx + 0x64]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x402595
mov edx, dword [ebp - 0x9c]
push edx
push str._Screen::Load__Unable_to_lock_offscreen_surface__0x_x_
call fcn.0040afc0
add esp, 8
jmp 0x40562a
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x14c]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x1b8]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x138]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x80]
push eax
push str._Screen::Load__INFO:_Offscreen_surface_locked__bpp__d__pitch__d
call fcn.0040afc0
add esp, 0xc
cmp dword [0x427274], 0
je 0x4025fe
mov dword [ebp - 0x6b4], str.true
jmp 0x402608
mov dword [ebp - 0x6b4], str.false
cmp dword [0x427278], 0
je 0x40261d
mov dword [ebp - 0x6b8], str.true
jmp 0x402627
mov dword [ebp - 0x6b8], str.false
mov ecx, dword [ebp - 0x6b4]
push ecx
mov edx, dword [ebp - 0x6b8]
push edx
push str._Screen::Load__INFO:_Flip_flags:_horizontal___s___vertical___s_
call fcn.0040afc0
add esp, 0xc
mov dword [ebp - 0xa4], 0
jmp 0x40265d
mov eax, dword [ebp - 0xa4]
add eax, 1
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0x13]
and ecx, 0xff
cmp dword [ebp - 0xa4], ecx
jge 0x403111
cmp dword [0x427274], 0
je 0x402687
mov dword [ebp - 0x6bc], 0
jmp 0x402699
mov edx, dword [ebp - 0x10]
and edx, 0xffff
sub edx, 1
mov dword [ebp - 0x6bc], edx
mov eax, dword [ebp - 0x6bc]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xa4]
xor edx, edx
cmp ecx, dword [0x425e44]
setge dl
mov dword [ebp - 0xd8], edx
mov eax, 1
test eax, eax
je 0x40310c
mov ecx, dword [0x425e44]
imul ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xa4]
sub edx, ecx
mov dword [ebp - 0xe0], edx
cmp dword [0x427278], 0
jne 0x402877
mov dword [ebp - 0xe4], 0
jmp 0x40270c
mov eax, dword [ebp - 0xe4]
add eax, 1
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 3
jge 0x402872
mov ecx, dword [ebp - 0x12]
and ecx, 0xffff
mov edx, dword [ebp - 0xe0]
imul edx, ecx
imul edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x10]
and eax, 0xffff
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
lea ecx, [esi + ecx*8]
imul eax, ecx
mov ecx, dword [ebp - 0xd4]
add ecx, eax
imul ecx, dword [ebp - 0x84]
add ecx, dword [ebp - 0x98]
add ecx, edx
mov edx, dword [ebp - 0xe4]
mov dword [ebp + edx*4 - 0x90], ecx
mov eax, dword [ebp - 0x12]
and eax, 0xffff
mov ecx, dword [ebp - 0xe0]
imul ecx, eax
imul ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x10]
and edx, 0xffff
mov eax, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
lea eax, [esi + eax*8 + 2]
imul edx, eax
mov eax, dword [ebp - 0xd4]
add eax, edx
imul eax, dword [ebp - 0x84]
add eax, dword [ebp - 0x98]
add eax, ecx
mov ecx, dword [ebp - 0xe4]
mov dword [ebp + ecx*4 - 0xd0], eax
mov edx, dword [ebp - 0x12]
and edx, 0xffff
mov eax, dword [ebp - 0xe0]
imul eax, edx
imul eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x10]
and ecx, 0xffff
mov edx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
lea edx, [esi + edx*8 + 4]
imul ecx, edx
mov edx, dword [ebp - 0xd4]
add edx, ecx
imul edx, dword [ebp - 0x84]
add edx, dword [ebp - 0x98]
add edx, eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp + eax*4 - 0xbc], edx
mov ecx, dword [ebp - 0x12]
and ecx, 0xffff
mov edx, dword [ebp - 0xe0]
imul edx, ecx
imul edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x10]
and eax, 0xffff
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
lea ecx, [esi + ecx*8 + 6]
imul eax, ecx
mov ecx, dword [ebp - 0xd4]
add ecx, eax
imul ecx, dword [ebp - 0x84]
add ecx, dword [ebp - 0x98]
add ecx, edx
mov edx, dword [ebp - 0xe4]
mov dword [ebp + edx*4 - 0xb0], ecx
jmp 0x4026fd
jmp 0x402a0f
mov dword [ebp - 0xe8], 0
jmp 0x402892
mov eax, dword [ebp - 0xe8]
add eax, 1
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 3
jge 0x402a0f
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov edx, dword [ebp - 0x12]
and edx, 0xffff
imul ecx, edx
sub ecx, 1
imul ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x10]
and eax, 0xffff
mov edx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xd8]
lea edx, [esi + edx*8]
imul eax, edx
mov edx, dword [ebp - 0xd4]
add edx, eax
imul edx, dword [ebp - 0x84]
add edx, dword [ebp - 0x98]
add edx, ecx
mov eax, dword [ebp - 0xe8]
mov dword [ebp + eax*4 - 0x90], edx
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov edx, dword [ebp - 0x12]
and edx, 0xffff
imul ecx, edx
sub ecx, 1
imul ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x10]
and eax, 0xffff
mov edx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xd8]
lea edx, [esi + edx*8 + 2]
imul eax, edx
mov edx, dword [ebp - 0xd4]
add edx, eax
imul edx, dword [ebp - 0x84]
add edx, dword [ebp - 0x98]
add edx, ecx
mov eax, dword [ebp - 0xe8]
mov dword [ebp + eax*4 - 0xd0], edx
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov edx, dword [ebp - 0x12]
and edx, 0xffff
imul ecx, edx
sub ecx, 1
imul ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x10]
and eax, 0xffff
mov edx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xd8]
lea edx, [esi + edx*8 + 4]
imul eax, edx
mov edx, dword [ebp - 0xd4]
add edx, eax
imul edx, dword [ebp - 0x84]
add edx, dword [ebp - 0x98]
add edx, ecx
mov eax, dword [ebp - 0xe8]
mov dword [ebp + eax*4 - 0xbc], edx
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov edx, dword [ebp - 0x12]
and edx, 0xffff
imul ecx, edx
sub ecx, 1
imul ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x10]
and eax, 0xffff
mov edx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xd8]
lea edx, [esi + edx*8 + 6]
imul eax, edx
mov edx, dword [ebp - 0xd4]
add edx, eax
imul edx, dword [ebp - 0x84]
add edx, dword [ebp - 0x98]
add edx, ecx
mov eax, dword [ebp - 0xe8]
mov dword [ebp + eax*4 - 0xb0], edx
jmp 0x402883
mov dword [ebp - 0xdc], 0
jmp 0x402a2a
mov ecx, dword [ebp - 0xdc]
add ecx, 1
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0x12]
and edx, 0xffff
cmp dword [ebp - 0xdc], edx
jge 0x4030c1
mov eax, dword [ebp - 0xc4]
mov cl, byte [eax]
mov byte [ebp - 0xf0], cl
mov edx, dword [ebp - 0xc4]
add edx, 1
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
mov cl, byte [eax]
mov byte [ebp - 0xf4], cl
mov edx, dword [ebp - 0xc4]
add edx, 1
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
mov cl, byte [eax]
mov byte [ebp - 0xec], cl
mov edx, dword [ebp - 0xc4]
add edx, 1
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0x90]
push eax
mov cl, byte [ebp - 0xec]
push ecx
mov dl, byte [ebp - 0xf0]
push edx
mov al, byte [ebp - 0xf4]
push eax
mov ecx, dword [ebp - 0x6b0]
call fcn.004095f0
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xec]
and edx, 0xff
mov dword [ebp - 0x6c0], edx
fild dword [ebp - 0x6c0]
fmul dword [0x41b218]
call fcn.0041145c
push eax
mov eax, dword [ebp - 0xf0]
and eax, 0xff
mov dword [ebp - 0x6c4], eax
fild dword [ebp - 0x6c4]
fmul dword [0x41b218]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0xf4]
and ecx, 0xff
mov dword [ebp - 0x6c8], ecx
fild dword [ebp - 0x6c8]
fmul dword [0x41b218]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0x6b0]
call fcn.004095f0
mov edx, dword [ebp - 0xbc]
push edx
mov eax, dword [ebp - 0xec]
and eax, 0xff
mov dword [ebp - 0x6cc], eax
fild dword [ebp - 0x6cc]
fmul dword [0x41b214]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0xf0]
and ecx, 0xff
mov dword [ebp - 0x6d0], ecx
fild dword [ebp - 0x6d0]
fmul dword [0x41b214]
call fcn.0041145c
push eax
mov edx, dword [ebp - 0xf4]
and edx, 0xff
mov dword [ebp - 0x6d4], edx
fild dword [ebp - 0x6d4]
fmul dword [0x41b214]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0x6b0]
call fcn.004095f0
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0xec]
and ecx, 0xff
mov dword [ebp - 0x6d8], ecx
fild dword [ebp - 0x6d8]
fmul dword [0x41b210]
call fcn.0041145c
push eax
mov edx, dword [ebp - 0xf0]
and edx, 0xff
mov dword [ebp - 0x6dc], edx
fild dword [ebp - 0x6dc]
fmul dword [0x41b210]
call fcn.0041145c
push eax
mov eax, dword [ebp - 0xf4]
and eax, 0xff
mov dword [ebp - 0x6e0], eax
fild dword [ebp - 0x6e0]
fmul dword [0x41b210]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0x6b0]
call fcn.004095f0
mov ecx, dword [ebp - 0x8c]
push ecx
mov dl, byte [ebp - 0xec]
push edx
mov al, byte [ebp - 0xf4]
push eax
mov cl, byte [ebp - 0xf0]
push ecx
mov ecx, dword [ebp - 0x6b0]
call fcn.004095f0
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xec]
and eax, 0xff
mov dword [ebp - 0x6e4], eax
fild dword [ebp - 0x6e4]
fmul dword [0x41b218]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0xf4]
and ecx, 0xff
mov dword [ebp - 0x6e8], ecx
fild dword [ebp - 0x6e8]
fmul dword [0x41b218]
call fcn.0041145c
push eax
mov edx, dword [ebp - 0xf0]
and edx, 0xff
mov dword [ebp - 0x6ec], edx
fild dword [ebp - 0x6ec]
fmul dword [0x41b218]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0x6b0]
call fcn.004095f0
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xec]
and ecx, 0xff
mov dword [ebp - 0x6f0], ecx
fild dword [ebp - 0x6f0]
fmul dword [0x41b214]
call fcn.0041145c
push eax
mov edx, dword [ebp - 0xf4]
and edx, 0xff
mov dword [ebp - 0x6f4], edx
fild dword [ebp - 0x6f4]
fmul dword [0x41b214]
call fcn.0041145c
push eax
mov eax, dword [ebp - 0xf0]
and eax, 0xff
mov dword [ebp - 0x6f8], eax
fild dword [ebp - 0x6f8]
fmul dword [0x41b214]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0x6b0]
call fcn.004095f0
mov ecx, dword [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0xec]
and edx, 0xff
mov dword [ebp - 0x6fc], edx
fild dword [ebp - 0x6fc]
fmul dword [0x41b210]
call fcn.0041145c
push eax
mov eax, dword [ebp - 0xf4]
and eax, 0xff
mov dword [ebp - 0x700], eax
fild dword [ebp - 0x700]
fmul dword [0x41b210]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0xf0]
and ecx, 0xff
mov dword [ebp - 0x704], ecx
fild dword [ebp - 0x704]
fmul dword [0x41b210]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0x6b0]
call fcn.004095f0
mov edx, dword [ebp - 0x88]
push edx
mov al, byte [ebp - 0xf4]
push eax
mov cl, byte [ebp - 0xec]
push ecx
mov dl, byte [ebp - 0xf0]
push edx
mov ecx, dword [ebp - 0x6b0]
call fcn.004095f0
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xf4]
and ecx, 0xff
mov dword [ebp - 0x708], ecx
fild dword [ebp - 0x708]
fmul dword [0x41b218]
call fcn.0041145c
push eax
mov edx, dword [ebp - 0xec]
and edx, 0xff
mov dword [ebp - 0x70c], edx
fild dword [ebp - 0x70c]
fmul dword [0x41b218]
call fcn.0041145c
push eax
mov eax, dword [ebp - 0xf0]
and eax, 0xff
mov dword [ebp - 0x710], eax
fild dword [ebp - 0x710]
fmul dword [0x41b218]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0x6b0]
call fcn.004095f0
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xf4]
and edx, 0xff
mov dword [ebp - 0x714], edx
fild dword [ebp - 0x714]
fmul dword [0x41b214]
call fcn.0041145c
push eax
mov eax, dword [ebp - 0xec]
and eax, 0xff
mov dword [ebp - 0x718], eax
fild dword [ebp - 0x718]
fmul dword [0x41b214]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0xf0]
and ecx, 0xff
mov dword [ebp - 0x71c], ecx
fild dword [ebp - 0x71c]
fmul dword [0x41b214]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0x6b0]
call fcn.004095f0
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xf4]
and eax, 0xff
mov dword [ebp - 0x720], eax
fild dword [ebp - 0x720]
fmul dword [0x41b210]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0xec]
and ecx, 0xff
mov dword [ebp - 0x724], ecx
fild dword [ebp - 0x724]
fmul dword [0x41b210]
call fcn.0041145c
push eax
mov edx, dword [ebp - 0xf0]
and edx, 0xff
mov dword [ebp - 0x728], edx
fild dword [ebp - 0x728]
fmul dword [0x41b210]
call fcn.0041145c
push eax
mov ecx, dword [ebp - 0x6b0]
call fcn.004095f0
cmp dword [0x427278], 0
jne 0x40301f
mov dword [ebp - 0xf8], 0
jmp 0x402f98
mov eax, dword [ebp - 0xf8]
add eax, 1
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 3
jge 0x40301a
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp + ecx*4 - 0x90]
add edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0xf8]
mov dword [ebp + eax*4 - 0x90], edx
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp + ecx*4 - 0xd0]
add edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0xf8]
mov dword [ebp + eax*4 - 0xd0], edx
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp + ecx*4 - 0xbc]
add edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0xf8]
mov dword [ebp + eax*4 - 0xbc], edx
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp + ecx*4 - 0xb0]
add edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0xf8]
mov dword [ebp + eax*4 - 0xb0], edx
jmp 0x402f89
jmp 0x4030bc
mov dword [ebp - 0xfc], 0
jmp 0x40303a
mov ecx, dword [ebp - 0xfc]
add ecx, 1
mov dword [ebp - 0xfc], ecx
cmp dword [ebp - 0xfc], 3
jge 0x4030bc
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp + edx*4 - 0x90]
sub eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xfc]
mov dword [ebp + ecx*4 - 0x90], eax
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp + edx*4 - 0xd0]
sub eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xfc]
mov dword [ebp + ecx*4 - 0xd0], eax
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp + edx*4 - 0xbc]
sub eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xfc]
mov dword [ebp + ecx*4 - 0xbc], eax
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp + edx*4 - 0xb0]
sub eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xfc]
mov dword [ebp + ecx*4 - 0xb0], eax
jmp 0x40302b
jmp 0x402a1b
cmp dword [0x427274], 0
je 0x4030ed
mov edx, dword [ebp - 0xd4]
add edx, 1
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0x10]
and eax, 0xffff
cmp dword [ebp - 0xd4], eax
jl 0x4030eb
jmp 0x40310c
jmp 0x403107
cmp dword [ebp - 0xd4], 0
jg 0x4030f8
jmp 0x40310c
mov ecx, dword [ebp - 0xd4]
sub ecx, 1
mov dword [ebp - 0xd4], ecx
jmp 0x4026bc
jmp 0x40264e
push str._Screen::Load__INFO:_Glyphs_loaded
call fcn.0040afc0
add esp, 4
push 0
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x120]
mov ecx, dword [ebp - 0x6b0]
mov edx, dword [ecx + 0x120]
mov ecx, dword [edx]
push eax
call dword [ecx + 0x80]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x14], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc4]
add ecx, 0xc
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 2
je 0x403199
mov eax, dword [ebp - 0x14]
and eax, 0xff
push eax
push str._Screen::Load__ERROR:_Wrong_file_format_version__char___found___d_
call fcn.0040afc0
add esp, 8
jmp 0x40562a
mov ecx, dword [ebp - 0x10]
and ecx, 0xffff
push ecx
mov edx, dword [ebp - 0x12]
and edx, 0xffff
push edx
push str._Screen::Load__Char_dimension___dx_d_
call fcn.0040afc0
add esp, 0xc
mov eax, dword [ebp - 0x12]
and eax, 0xffff
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0x10]
and ecx, 0xffff
mov edx, dword [ebp - 0x13]
and edx, 0xff
imul ecx, edx
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xa0], 0
jg 0x403205
mov eax, dword [ebp - 0xa0]
push eax
push str._Screen::Load__ERROR:_Invalid_width_of_char_animation_data__got__d
call fcn.0040afc0
add esp, 8
jmp 0x40562a
cmp dword [ebp - 0xc0], 0
jg 0x403227
mov ecx, dword [ebp - 0xc0]
push ecx
push str._Screen::Load__ERROR:_Invalid_height_of_char_animation_data__got__d
call fcn.0040afc0
add esp, 8
jmp 0x40562a
mov ecx, 0x1b
xor eax, eax
mov edi, dword [ebp - 0x6b0]
add edi, 0x128
rep stosd dword es:[edi], eax
mov edx, dword [ebp - 0x6b0]
mov dword [edx + 0x128], 0x6c
mov eax, dword [ebp - 0x6b0]
mov dword [eax + 0x12c], 7
mov ecx, dword [ebp - 0x6b0]
mov dword [ecx + 0x190], 0x40
mov edx, dword [ebp - 0x6b0]
mov eax, dword [ebp - 0xa0]
mov dword [edx + 0x134], eax
mov ecx, dword [ebp - 0x6b0]
mov edx, dword [ebp - 0xc0]
mov dword [ecx + 0x130], edx
push 0
mov eax, dword [ebp - 0x6b0]
add eax, 0x124
push eax
mov ecx, dword [ebp - 0x6b0]
add ecx, 0x128
push ecx
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x110]
mov ecx, dword [ebp - 0x6b0]
mov edx, dword [ecx + 0x110]
mov ecx, dword [edx]
push eax
call dword [ecx + 0x18]
test eax, eax
je 0x4032ed
mov edx, dword [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xa0]
push eax
push str._Screen::Load__ERROR:_Unable_to_create_char_offscreen_surface__dimensions___dx_d_
call fcn.0040afc0
add esp, 0xc
jmp 0x40562a
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xa0]
push edx
push str._Screen::Load__INFO:_Char_offscreen_surface_created__dimensions___dx_d_
call fcn.0040afc0
add esp, 0xc
mov dword [ebp - 0x7c], 0x64
mov dword [ebp - 0x2c], 0
lea eax, [ebp - 0x7c]
push eax
push 0x1000400
push 0
push 0
push 0
mov ecx, dword [ebp - 0x6b0]
mov edx, dword [ecx + 0x124]
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x124]
mov eax, dword [ecx]
push edx
call dword [eax + 0x14]
mov ecx, 0x1b
xor eax, eax
mov edi, dword [ebp - 0x6b0]
add edi, 0x128
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x6b0]
mov dword [ecx + 0x128], 0x6c
push 0
push 1
mov edx, dword [ebp - 0x6b0]
add edx, 0x128
push edx
push 0
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x124]
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x124]
mov edx, dword [eax]
push ecx
call dword [edx + 0x64]
test eax, eax
je 0x4033af
push str._Screen::Load__Unable_to_lock_char_offscreen_surface
call fcn.0040afc0
add esp, 4
jmp 0x40562a
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x14c]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x1b8]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x138]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x13]
and edx, 0xff
sub edx, 1
mov dword [ebp - 0xa4], edx
jmp 0x40340e
mov eax, dword [ebp - 0xa4]
sub eax, 1
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jl 0x403533
mov ecx, dword [ebp - 0x10]
and ecx, 0xffff
sub ecx, 1
mov dword [ebp - 0x100], ecx
jmp 0x40343e
mov edx, dword [ebp - 0x100]
sub edx, 1
mov dword [ebp - 0x100], edx
cmp dword [ebp - 0x100], 0
jl 0x40352e
mov dword [ebp - 0x104], 0
jmp 0x403466
mov eax, dword [ebp - 0x104]
add eax, 1
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x12]
and ecx, 0xffff
cmp dword [ebp - 0x104], ecx
jge 0x403529
mov edx, dword [ebp - 0xc4]
mov al, byte [edx]
mov byte [ebp - 0x110], al
mov ecx, dword [ebp - 0xc4]
add ecx, 1
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xc4]
mov al, byte [edx]
mov byte [ebp - 0x10c], al
mov ecx, dword [ebp - 0xc4]
add ecx, 1
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xc4]
mov al, byte [edx]
mov byte [ebp - 0x108], al
mov ecx, dword [ebp - 0xc4]
add ecx, 1
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0x10]
and edx, 0xffff
mov eax, dword [ebp - 0xa4]
imul eax, edx
add eax, dword [ebp - 0x100]
imul eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x104]
imul ecx, dword [ebp - 0x80]
add ecx, dword [ebp - 0x98]
add ecx, eax
push ecx
mov dl, byte [ebp - 0x108]
push edx
mov al, byte [ebp - 0x10c]
push eax
mov cl, byte [ebp - 0x110]
push ecx
mov ecx, dword [ebp - 0x6b0]
call fcn.004095f0
jmp 0x403457
jmp 0x40342f
jmp 0x4033ff
push str._Screen::Load__INFO:_Chars_loaded
call fcn.0040afc0
add esp, 4
push 0
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x124]
mov ecx, dword [ebp - 0x6b0]
mov edx, dword [ecx + 0x124]
mov ecx, dword [edx]
push eax
call dword [ecx + 0x80]
mov edx, dword [ebp - 0x6b0]
cmp dword [edx + 0x1d8], 0
je 0x4035d7
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x1d8]
mov dword [ebp - 0x558], ecx
mov edx, dword [ebp - 0x558]
mov dword [ebp - 0x554], edx
cmp dword [ebp - 0x554], 0
je 0x4035cd
mov ecx, dword [ebp - 0x554]
call fcn.0040b820
mov eax, 1
and eax, 1
test eax, eax
je 0x4035bf
mov ecx, dword [ebp - 0x554]
push ecx
call fcn.004109e9
add esp, 4
mov edx, dword [ebp - 0x554]
mov dword [ebp - 0x72c], edx
jmp 0x4035d7
mov dword [ebp - 0x72c], 0
push 0x190c
call fcn.00410ff6
add esp, 4
mov dword [ebp - 0x560], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x560], 0
je 0x403642
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x104]
mov eax, dword [ecx + 4]
xor edx, edx
div dword [0x425e40]
add eax, 2
push eax
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x104]
mov eax, dword [eax]
xor edx, edx
div dword [0x425e3c]
add eax, 2
push eax
mov ecx, dword [ebp - 0x560]
call fcn.0040b7d0
mov dword [ebp - 0x730], eax
jmp 0x40364c
mov dword [ebp - 0x730], 0
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x55c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x6b0]
mov eax, dword [ebp - 0x55c]
mov dword [edx + 0x1d8], eax
mov dword [ebp - 0x94], 0
jmp 0x40368c
mov ecx, dword [ebp - 0x94]
add ecx, 1
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x1d8]
mov ecx, dword [ebp - 0x6b0]
mov edx, dword [ecx + 0x1d8]
mov eax, dword [eax + 4]
imul eax, dword [edx + 8]
cmp dword [ebp - 0x94], eax
jge 0x4037ca
call fcn.00411011
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 5
jge 0x403712
cmp dword [0x425e44], 0
je 0x4036e6
call fcn.00411011
cdq
idiv dword [0x425e44]
mov dword [ebp - 0x734], edx
jmp 0x4036f0
mov dword [ebp - 0x734], 0
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x1d8]
mov ecx, dword [ebp - 0x94]
shl ecx, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x734]
mov dword [edx + ecx], eax
jmp 0x40375f
cmp dword [0x425e44], 0
je 0x40372f
call fcn.00411011
cdq
idiv dword [0x425e44]
mov dword [ebp - 0x738], edx
jmp 0x403739
mov dword [ebp - 0x738], 0
mov ecx, dword [ebp - 0x738]
add ecx, dword [0x425e44]
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x1d8]
mov edx, dword [ebp - 0x94]
shl edx, 4
mov eax, dword [eax]
mov dword [eax + edx], ecx
mov ecx, dword [ebp - 0x6b0]
mov edx, dword [ecx + 0x1d8]
mov eax, dword [ebp - 0x94]
shl eax, 4
mov ecx, dword [edx]
mov dword [ecx + eax + 0xc], 0
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x1d8]
mov ecx, dword [ebp - 0x94]
shl ecx, 4
mov edx, dword [eax]
mov dword [edx + ecx + 8], 0
call fcn.00411011
cdq
mov ecx, 0x50
idiv ecx
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x1d8]
mov eax, dword [ebp - 0x94]
shl eax, 4
mov ecx, dword [ecx]
mov dword [ecx + eax + 4], edx
jmp 0x40367d
mov dword [ebp - 0x94], 0
jmp 0x4037e5
mov edx, dword [ebp - 0x94]
add edx, 1
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [ebp - 0x94]
cmp ecx, dword [eax + 0x108]
jae 0x4038b6
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x1d8]
cmp dword [eax + 4], 0
je 0x40382c
call fcn.00411011
mov ecx, dword [ebp - 0x6b0]
mov ecx, dword [ecx + 0x1d8]
cdq
idiv dword [ecx + 4]
mov dword [ebp - 0x73c], edx
jmp 0x403836
mov dword [ebp - 0x73c], 0
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x1d8]
mov ecx, dword [ebp - 0x94]
shl ecx, 4
mov edx, dword [ebp - 0x73c]
mov dword [eax + ecx + 0xc], edx
call fcn.00411011
mov ecx, dword [ebp - 0x6b0]
mov edx, dword [ecx + 0x1d8]
mov ecx, dword [edx + 8]
add ecx, 0x1e
cdq
idiv ecx
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x1d8]
mov eax, dword [ebp - 0x94]
shl eax, 4
mov dword [ecx + eax + 0x10], edx
call fcn.00411011
cdq
mov ecx, 0x23
idiv ecx
add edx, 0xa
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x1d8]
mov eax, dword [ebp - 0x94]
shl eax, 4
mov dword [ecx + eax + 0x14], edx
jmp 0x4037d6
cmp dword [ebp + 0x10], 0
je 0x405628
cmp dword [0x42729c], 0
jbe 0x405628
push str._Screen::Load__parsing_messages
call fcn.0040afc0
add esp, 4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x114]
movsx eax, byte [edx]
test eax, eax
je 0x40554a
mov dword [ebp - 0x518], 0
mov ecx, dword [ebp - 0x114]
movsx edx, byte [ecx]
test edx, edx
je 0x40395c
mov eax, dword [ebp - 0x114]
movsx ecx, byte [eax]
cmp ecx, 0xa
je 0x40395c
mov edx, dword [ebp - 0x114]
movsx eax, byte [edx]
cmp eax, 0xd
je 0x40395c
mov ecx, dword [ebp - 0x518]
mov edx, dword [ebp - 0x114]
mov al, byte [edx]
mov byte [ebp + ecx - 0x514], al
mov ecx, dword [ebp - 0x518]
add ecx, 1
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x114]
add edx, 1
mov dword [ebp - 0x114], edx
jmp 0x4038fe
mov eax, dword [ebp - 0x518]
mov byte [ebp + eax - 0x514], 0
lea edi, [ebp - 0x514]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
test ecx, ecx
jbe 0x40550b
movsx ecx, byte [ebp - 0x514]
cmp ecx, 0x23
je 0x40550b
mov dword [ebp - 0x524], 0
jmp 0x4039af
mov edx, dword [ebp - 0x524]
add edx, 1
mov dword [ebp - 0x524], edx
lea edi, [ebp - 0x514]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
cmp dword [ebp - 0x524], ecx
jae 0x403d28
mov eax, dword [ebp - 0x524]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x61
jl 0x403a10
mov edx, dword [ebp - 0x524]
movsx eax, byte [ebp + edx - 0x514]
cmp eax, 0x7a
jg 0x403a10
mov ecx, dword [ebp - 0x524]
mov dl, byte [ebp + ecx - 0x514]
add dl, 0xe0
mov eax, dword [ebp - 0x524]
mov byte [ebp + eax - 0x514], dl
mov ecx, dword [ebp - 0x524]
movsx edx, byte [ebp + ecx - 0x514]
cmp edx, 0x41
jl 0x403a3a
mov eax, dword [ebp - 0x524]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x5a
jle 0x403d23
mov edx, dword [ebp - 0x524]
movsx eax, byte [ebp + edx - 0x514]
cmp eax, 0x30
jl 0x403a64
mov ecx, dword [ebp - 0x524]
movsx edx, byte [ebp + ecx - 0x514]
cmp edx, 0x39
jle 0x403d23
mov eax, dword [ebp - 0x524]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x2e
je 0x403d23
mov edx, dword [ebp - 0x524]
movsx eax, byte [ebp + edx - 0x514]
cmp eax, 0x2c
je 0x403d23
mov ecx, dword [ebp - 0x524]
movsx edx, byte [ebp + ecx - 0x514]
cmp edx, 0x2a
je 0x403d23
mov eax, dword [ebp - 0x524]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x3a
je 0x403d23
mov edx, dword [ebp - 0x524]
movsx eax, byte [ebp + edx - 0x514]
cmp eax, 0x3b
je 0x403d23
mov ecx, dword [ebp - 0x524]
movsx edx, byte [ebp + ecx - 0x514]
cmp edx, 0x3f
je 0x403d23
mov eax, dword [ebp - 0x524]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x21
je 0x403d23
mov edx, dword [ebp - 0x524]
movsx eax, byte [ebp + edx - 0x514]
cmp eax, 0x2d
je 0x403d23
mov ecx, dword [ebp - 0x524]
movsx edx, byte [ebp + ecx - 0x514]
cmp edx, 0x5f
je 0x403d23
mov eax, dword [ebp - 0x524]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x22
je 0x403d23
mov edx, dword [ebp - 0x524]
movsx eax, byte [ebp + edx - 0x514]
cmp eax, 0x5e
je 0x403d23
mov ecx, dword [ebp - 0x524]
movsx edx, byte [ebp + ecx - 0x514]
cmp edx, 0x27
je 0x403d23
mov eax, dword [ebp - 0x524]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x26
je 0x403d23
mov edx, dword [ebp - 0x524]
movsx eax, byte [ebp + edx - 0x514]
cmp eax, 0x23
je 0x403d23
mov ecx, dword [ebp - 0x524]
movsx edx, byte [ebp + ecx - 0x514]
cmp edx, 0x3d
je 0x403d23
mov eax, dword [ebp - 0x524]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x2b
je 0x403d23
mov edx, dword [ebp - 0x524]
movsx eax, byte [ebp + edx - 0x514]
cmp eax, 0x7e
je 0x403d23
mov ecx, dword [ebp - 0x524]
movsx edx, byte [ebp + ecx - 0x514]
cmp edx, 0x24
je 0x403d23
mov eax, dword [ebp - 0x524]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x40
je 0x403d23
mov edx, dword [ebp - 0x524]
movsx eax, byte [ebp + edx - 0x514]
cmp eax, 0x7c
je 0x403d23
mov ecx, dword [ebp - 0x524]
movsx edx, byte [ebp + ecx - 0x514]
cmp edx, 0x25
je 0x403d23
mov eax, dword [ebp - 0x524]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x3c
je 0x403d23
mov edx, dword [ebp - 0x524]
movsx eax, byte [ebp + edx - 0x514]
cmp eax, 0x3e
je 0x403d23
mov ecx, dword [ebp - 0x524]
movsx edx, byte [ebp + ecx - 0x514]
cmp edx, 0x28
je 0x403d23
mov eax, dword [ebp - 0x524]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x29
je 0x403d23
mov edx, dword [ebp - 0x524]
movsx eax, byte [ebp + edx - 0x514]
cmp eax, 0x5b
je 0x403d23
mov ecx, dword [ebp - 0x524]
movsx edx, byte [ebp + ecx - 0x514]
cmp edx, 0x5d
je 0x403d23
mov eax, dword [ebp - 0x524]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x7b
je 0x403d23
mov edx, dword [ebp - 0x524]
movsx eax, byte [ebp + edx - 0x514]
cmp eax, 0x7d
je 0x403d23
mov ecx, dword [ebp - 0x524]
movsx edx, byte [ebp + ecx - 0x514]
cmp edx, 0x2f
je 0x403d23
mov eax, dword [ebp - 0x524]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x5c
je 0x403d23
mov edx, dword [ebp - 0x524]
mov byte [ebp + edx - 0x514], 0x20
jmp 0x4039a0
push 0x14
call fcn.00410ff6
add esp, 4
mov dword [ebp - 0x568], eax
cmp dword [ebp - 0x568], 0
je 0x403d84
mov al, byte [ebp - 0x57c]
mov ecx, dword [ebp - 0x568]
mov byte [ecx], al
mov edx, dword [ebp - 0x568]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x568]
mov dword [eax + 8], 0
mov ecx, dword [ebp - 0x568]
mov dword [ecx + 0xc], 0
mov edx, dword [ebp - 0x568]
mov dword [ebp - 0x740], edx
jmp 0x403d8e
mov dword [ebp - 0x740], 0
mov eax, dword [ebp - 0x740]
mov dword [ebp - 0x564], eax
mov ecx, dword [ebp - 0x564]
mov dword [ebp - 0x528], ecx
lea edi, [ebp - 0x514]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov dword [ebp - 0x52c], ecx
mov dword [ebp - 0x520], 0
mov dword [ebp - 0x51c], 0
jmp 0x403de3
mov edx, dword [ebp - 0x51c]
add edx, 1
mov dword [ebp - 0x51c], edx
mov eax, dword [ebp - 0x51c]
cmp eax, dword [ebp - 0x52c]
jge 0x403e14
mov ecx, dword [ebp - 0x51c]
movsx edx, byte [ebp + ecx - 0x514]
cmp edx, 0x2a
jne 0x403e12
mov eax, dword [ebp - 0x51c]
mov byte [ebp + eax - 0x514], 0
jmp 0x403dd4
mov ecx, dword [ebp - 0x520]
cmp ecx, dword [ebp - 0x52c]
jge 0x404e94
mov edx, dword [ebp - 0x520]
lea edi, [ebp + edx - 0x514]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov dword [ebp - 0x530], ecx
mov eax, dword [ebp - 0x520]
lea edi, [ebp + eax - 0x514]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x1d8]
mov edx, dword [eax + 4]
sub edx, 2
cmp ecx, edx
jbe 0x4047b6
mov eax, dword [ebp - 0x520]
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x520]
lea edi, [ebp + ecx - 0x514]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov edx, dword [ebp - 0x520]
lea eax, [edx + ecx - 1]
mov dword [ebp - 0x538], eax
mov ecx, dword [ebp - 0x534]
cmp ecx, dword [ebp - 0x538]
jge 0x4047b1
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0x1d8]
mov ecx, dword [ebp - 0x534]
add ecx, dword [eax + 4]
movsx edx, byte [ebp + ecx - 0x516]
cmp edx, 0x20
je 0x4044eb
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x1d8]
mov edx, dword [ecx + 4]
sub edx, 2
mov dword [ebp - 0x53c], edx
cmp dword [ebp - 0x53c], 0
jle 0x403f30
mov eax, dword [ebp - 0x534]
add eax, dword [ebp - 0x53c]
movsx ecx, byte [ebp + eax - 0x514]
cmp ecx, 0x20
je 0x403f30
mov edx, dword [ebp - 0x53c]
sub edx, 1
mov dword [ebp - 0x53c], edx
jmp 0x403efd
cmp dword [ebp - 0x53c], 0
jle 0x4041f1
mov eax, dword [ebp - 0x534]
add eax, dword [ebp - 0x53c]
mov byte [ebp + eax - 0x514], 0
push 0x10
call fcn.00410ff6
add esp, 4
mov dword [ebp - 0x56c], eax
mov ecx, dword [ebp - 0x56c]
mov dword [ebp - 0x540], ecx
mov edx, dword [ebp - 0x534]
lea edi, [ebp + edx - 0x514]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov eax, dword [ebp - 0x540]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x528]
cmp dword [ecx + 4], 0
jne 0x403fa7
mov dword [ebp - 0x744], 0
jmp 0x403fc2
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x528]
mov ecx, dword [edx + 8]
sub ecx, dword [eax + 4]
sar ecx, 2
mov dword [ebp - 0x744], ecx
cmp dword [ebp - 0x744], 0
je 0x404081
mov edx, dword [ebp - 0x528]
cmp dword [edx + 4], 0
jne 0x403fe7
mov dword [ebp - 0x748], 0
jmp 0x404002
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x528]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 4]
sar edx, 2
mov dword [ebp - 0x748], edx
mov eax, dword [ebp - 0x528]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x580], ecx
mov edx, dword [ebp - 0x528]
cmp dword [edx + 4], 0
jne 0x404029
mov dword [ebp - 0x74c], 0
jmp 0x404044
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x528]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 4]
sar edx, 2
mov dword [ebp - 0x74c], edx
mov eax, dword [ebp - 0x528]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x584], ecx
mov edx, dword [ebp - 0x748]
mov eax, dword [ebp - 0x580]
mov ecx, dword [eax + edx*4 - 4]
mov edx, dword [ebp - 0x74c]
mov eax, dword [ebp - 0x584]
mov edx, dword [eax + edx*4 - 4]
mov eax, dword [ecx + 0xc]
add eax, dword [edx + 8]
mov dword [ebp - 0x750], eax
jmp 0x40408b
mov dword [ebp - 0x750], 0
mov ecx, dword [ebp - 0x540]
mov edx, dword [ebp - 0x750]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x528]
cmp dword [eax + 4], 0
jne 0x4040b2
mov dword [ebp - 0x754], 0
jmp 0x4040cd
mov ecx, dword [ebp - 0x528]
mov edx, dword [ebp - 0x528]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 4]
sar eax, 2
mov dword [ebp - 0x754], eax
cmp dword [ebp - 0x754], 0
je 0x404136
mov ecx, dword [ebp - 0x528]
cmp dword [ecx + 4], 0
jne 0x4040ee
mov dword [ebp - 0x758], 0
jmp 0x404109
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x528]
mov ecx, dword [edx + 8]
sub ecx, dword [eax + 4]
sar ecx, 2
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x528]
mov eax, dword [edx + 4]
mov dword [ebp - 0x588], eax
mov ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x588]
mov eax, dword [edx + ecx*4 - 4]
mov ecx, dword [eax + 4]
add ecx, 1
mov dword [ebp - 0x75c], ecx
jmp 0x404140
mov dword [ebp - 0x75c], 0
mov edx, dword [ebp - 0x540]
mov eax, dword [ebp - 0x75c]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x534]
lea edx, [ebp + ecx - 0x514]
push edx
call fcn.0041a5b1
add esp, 4
mov ecx, dword [ebp - 0x540]
mov dword [ecx], eax
mov edx, dword [ebp - 0x528]
mov dword [ebp - 0x59c], edx
mov eax, dword [ebp - 0x59c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x58c], ecx
mov edx, dword [ebp - 0x59c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x594], eax
mov ecx, dword [ebp - 0x58c]
sub ecx, dword [ebp - 0x594]
sar ecx, 2
mov dword [ebp - 0x590], ecx
lea edx, [ebp - 0x540]
push edx
push 1
mov eax, dword [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0x59c]
call fcn.0040a650
mov ecx, dword [ebp - 0x59c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x598], edx
mov eax, dword [ebp - 0x53c]
mov ecx, dword [ebp - 0x534]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x534], edx
jmp 0x4044e6
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x1d8]
mov edx, dword [ecx + 4]
sub edx, 2
mov dword [ebp - 0x53c], edx
mov eax, dword [ebp - 0x534]
add eax, dword [ebp - 0x53c]
mov cl, byte [ebp + eax - 0x514]
mov byte [ebp - 0x548], cl
mov edx, dword [ebp - 0x534]
add edx, dword [ebp - 0x53c]
mov byte [ebp + edx - 0x514], 0
push 0x10
call fcn.00410ff6
add esp, 4
mov dword [ebp - 0x570], eax
mov eax, dword [ebp - 0x570]
mov dword [ebp - 0x544], eax
mov ecx, dword [ebp - 0x534]
lea edi, [ebp + ecx - 0x514]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov edx, dword [ebp - 0x544]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x528]
cmp dword [eax + 4], 0
jne 0x40428c
mov dword [ebp - 0x760], 0
jmp 0x4042a7
mov ecx, dword [ebp - 0x528]
mov edx, dword [ebp - 0x528]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 4]
sar eax, 2
mov dword [ebp - 0x760], eax
cmp dword [ebp - 0x760], 0
je 0x404366
mov ecx, dword [ebp - 0x528]
cmp dword [ecx + 4], 0
jne 0x4042cc
mov dword [ebp - 0x764], 0
jmp 0x4042e7
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x528]
mov ecx, dword [edx + 8]
sub ecx, dword [eax + 4]
sar ecx, 2
mov dword [ebp - 0x764], ecx
mov edx, dword [ebp - 0x528]
mov eax, dword [edx + 4]
mov dword [ebp - 0x5a0], eax
mov ecx, dword [ebp - 0x528]
cmp dword [ecx + 4], 0
jne 0x40430e
mov dword [ebp - 0x768], 0
jmp 0x404329
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x528]
mov ecx, dword [edx + 8]
sub ecx, dword [eax + 4]
sar ecx, 2
mov dword [ebp - 0x768], ecx
mov edx, dword [ebp - 0x528]
mov eax, dword [edx + 4]
mov dword [ebp - 0x5a4], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x5a0]
mov eax, dword [edx + ecx*4 - 4]
mov ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x5a4]
mov ecx, dword [edx + ecx*4 - 4]
mov edx, dword [eax + 0xc]
add edx, dword [ecx + 8]
mov dword [ebp - 0x76c], edx
jmp 0x404370
mov dword [ebp - 0x76c], 0
mov eax, dword [ebp - 0x544]
mov ecx, dword [ebp - 0x76c]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x528]
cmp dword [edx + 4], 0
jne 0x404397
mov dword [ebp - 0x770], 0
jmp 0x4043b2
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x528]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 4]
sar edx, 2
mov dword [ebp - 0x770], edx
cmp dword [ebp - 0x770], 0
je 0x40441b
mov eax, dword [ebp - 0x528]
cmp dword [eax + 4], 0
jne 0x4043d3
mov dword [ebp - 0x774], 0
jmp 0x4043ee
mov ecx, dword [ebp - 0x528]
mov edx, dword [ebp - 0x528]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 4]
sar eax, 2
mov dword [ebp - 0x774], eax
mov ecx, dword [ebp - 0x528]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x5a8], edx
mov eax, dword [ebp - 0x774]
mov ecx, dword [ebp - 0x5a8]
mov edx, dword [ecx + eax*4 - 4]
mov eax, dword [edx + 4]
add eax, 1
mov dword [ebp - 0x778], eax
jmp 0x404425
mov dword [ebp - 0x778], 0
mov ecx, dword [ebp - 0x544]
mov edx, dword [ebp - 0x778]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x534]
lea ecx, [ebp + eax - 0x514]
push ecx
call fcn.0041a5b1
add esp, 4
mov edx, dword [ebp - 0x544]
mov dword [edx], eax
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x5bc], eax
mov ecx, dword [ebp - 0x5bc]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x5ac], edx
mov eax, dword [ebp - 0x5bc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x5b4], ecx
mov edx, dword [ebp - 0x5ac]
sub edx, dword [ebp - 0x5b4]
sar edx, 2
mov dword [ebp - 0x5b0], edx
lea eax, [ebp - 0x544]
push eax
push 1
mov ecx, dword [ebp - 0x5ac]
push ecx
mov ecx, dword [ebp - 0x5bc]
call fcn.0040a650
mov edx, dword [ebp - 0x5bc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x5b8], eax
mov ecx, dword [ebp - 0x534]
add ecx, dword [ebp - 0x53c]
mov dl, byte [ebp - 0x548]
mov byte [ebp + ecx - 0x514], dl
mov eax, dword [ebp - 0x534]
add eax, dword [ebp - 0x53c]
mov dword [ebp - 0x534], eax
jmp 0x4047ac
mov ecx, dword [ebp - 0x6b0]
mov edx, dword [ecx + 0x1d8]
mov eax, dword [ebp - 0x534]
add eax, dword [edx + 4]
mov byte [ebp + eax - 0x516], 0
push 0x10
call fcn.00410ff6
add esp, 4
mov dword [ebp - 0x574], eax
mov ecx, dword [ebp - 0x574]
mov dword [ebp - 0x54c], ecx
mov edx, dword [ebp - 0x534]
lea edi, [ebp + edx - 0x514]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov eax, dword [ebp - 0x54c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x528]
cmp dword [ecx + 4], 0
jne 0x40455e
mov dword [ebp - 0x77c], 0
jmp 0x404579
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x528]
mov ecx, dword [edx + 8]
sub ecx, dword [eax + 4]
sar ecx, 2
mov dword [ebp - 0x77c], ecx
cmp dword [ebp - 0x77c], 0
je 0x404638
mov edx, dword [ebp - 0x528]
cmp dword [edx + 4], 0
jne 0x40459e
mov dword [ebp - 0x780], 0
jmp 0x4045b9
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x528]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 4]
sar edx, 2
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x528]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x5c0], ecx
mov edx, dword [ebp - 0x528]
cmp dword [edx + 4], 0
jne 0x4045e0
mov dword [ebp - 0x784], 0
jmp 0x4045fb
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x528]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 4]
sar edx, 2
mov dword [ebp - 0x784], edx
mov eax, dword [ebp - 0x528]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x5c4], ecx
mov edx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x5c0]
mov ecx, dword [eax + edx*4 - 4]
mov edx, dword [ebp - 0x784]
mov eax, dword [ebp - 0x5c4]
mov edx, dword [eax + edx*4 - 4]
mov eax, dword [ecx + 0xc]
add eax, dword [edx + 8]
mov dword [ebp - 0x788], eax
jmp 0x404642
mov dword [ebp - 0x788], 0
mov ecx, dword [ebp - 0x54c]
mov edx, dword [ebp - 0x788]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x528]
cmp dword [eax + 4], 0
jne 0x404669
mov dword [ebp - 0x78c], 0
jmp 0x404684
mov ecx, dword [ebp - 0x528]
mov edx, dword [ebp - 0x528]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 4]
sar eax, 2
mov dword [ebp - 0x78c], eax
cmp dword [ebp - 0x78c], 0
je 0x4046ed
mov ecx, dword [ebp - 0x528]
cmp dword [ecx + 4], 0
jne 0x4046a5
mov dword [ebp - 0x790], 0
jmp 0x4046c0
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x528]
mov ecx, dword [edx + 8]
sub ecx, dword [eax + 4]
sar ecx, 2
mov dword [ebp - 0x790], ecx
mov edx, dword [ebp - 0x528]
mov eax, dword [edx + 4]
mov dword [ebp - 0x5c8], eax
mov ecx, dword [ebp - 0x790]
mov edx, dword [ebp - 0x5c8]
mov eax, dword [edx + ecx*4 - 4]
mov ecx, dword [eax + 4]
add ecx, 1
mov dword [ebp - 0x794], ecx
jmp 0x4046f7
mov dword [ebp - 0x794], 0
mov edx, dword [ebp - 0x54c]
mov eax, dword [ebp - 0x794]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x534]
lea edx, [ebp + ecx - 0x514]
push edx
call fcn.0041a5b1
add esp, 4
mov ecx, dword [ebp - 0x54c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x528]
mov dword [ebp - 0x5dc], edx
mov eax, dword [ebp - 0x5dc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x5cc], ecx
mov edx, dword [ebp - 0x5dc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x5d4], eax
mov ecx, dword [ebp - 0x5cc]
sub ecx, dword [ebp - 0x5d4]
sar ecx, 2
mov dword [ebp - 0x5d0], ecx
lea edx, [ebp - 0x54c]
push edx
push 1
mov eax, dword [ebp - 0x5cc]
push eax
mov ecx, dword [ebp - 0x5dc]
call fcn.0040a650
mov ecx, dword [ebp - 0x5dc]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x5d8], edx
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax + 0x1d8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x534]
lea ecx, [eax + edx - 1]
mov dword [ebp - 0x534], ecx
jmp 0x403ead
jmp 0x404e79
push 0x10
call fcn.00410ff6
add esp, 4
mov dword [ebp - 0x578], eax
mov edx, dword [ebp - 0x578]
mov dword [ebp - 0x550], edx
mov eax, dword [ebp - 0x520]
lea edi, [ebp + eax - 0x514]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov edx, dword [ebp - 0x550]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x528]
cmp dword [eax + 4], 0
jne 0x40480c
mov dword [ebp - 0x798], 0
jmp 0x404827
mov ecx, dword [ebp - 0x528]
mov edx, dword [ebp - 0x528]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 4]
sar eax, 2
mov dword [ebp - 0x798], eax
cmp dword [ebp - 0x798], 0
je 0x4048e6
mov ecx, dword [ebp - 0x528]
cmp dword [ecx + 4], 0
jne 0x40484c
mov dword [ebp - 0x79c], 0
jmp 0x404867
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x528]
mov ecx, dword [edx + 8]
sub ecx, dword [eax + 4]
sar ecx, 2
mov dword [ebp - 0x79c], ecx
mov edx, dword [ebp - 0x528]
mov eax, dword [edx + 4]
mov dword [ebp - 0x5e0], eax
mov ecx, dword [ebp - 0x528]
cmp dword [ecx + 4], 0
jne 0x40488e
mov dword [ebp - 0x7a0], 0
jmp 0x4048a9
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x528]
mov ecx, dword [edx + 8]
sub ecx, dword [eax + 4]
sar ecx, 2
mov dword [ebp - 0x7a0], ecx
mov edx, dword [ebp - 0x528]
mov eax, dword [edx + 4]
mov dword [ebp - 0x5e4], eax
mov ecx, dword [ebp - 0x79c]
mov edx, dword [ebp - 0x5e0]
mov eax, dword [edx + ecx*4 - 4]
mov ecx, dword [ebp - 0x7a0]
mov edx, dword [ebp - 0x5e4]
mov ecx, dword [edx + ecx*4 - 4]
mov edx, dword [eax + 0xc]
add edx, dword [ecx + 8]
mov dword [ebp - 0x7a4], edx
jmp 0x4048f0
mov dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0x550]
mov ecx, dword [ebp - 0x7a4]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x528]
cmp dword [edx + 4], 0
jne 0x404917
mov dword [ebp - 0x7a8], 0
jmp 0x404932
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x528]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 4]
sar edx, 2
mov dword [ebp - 0x7a8], edx
cmp dword [ebp - 0x7a8], 0
je 0x40499b
mov eax, dword [ebp - 0x528]
cmp dword [eax + 4], 0
jne 0x404953
mov dword [ebp - 0x7ac], 0
jmp 0x40496e
mov ecx, dword [ebp - 0x528]
mov edx, dword [ebp - 0x528]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 4]
sar eax, 2
mov dword [ebp - 0x7ac], eax
mov ecx, dword [ebp - 0x528]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x5e8], edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [ebp - 0x5e8]
mov edx, dword [ecx + eax*4 - 4]
mov eax, dword [edx + 4]
add eax, 1
mov dword [ebp - 0x7b0], eax
jmp 0x4049a5
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x550]
mov edx, dword [ebp - 0x7b0]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x520]
lea ecx, [ebp + eax - 0x514]
push ecx
call fcn.0041a5b1
add esp, 4
mov edx, dword [ebp - 0x550]
mov dword [edx], eax
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x628], eax
mov ecx, dword [ebp - 0x628]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x5ec], edx
mov eax, dword [ebp - 0x628]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x5f4], ecx
mov edx, dword [ebp - 0x5ec]
sub edx, dword [ebp - 0x5f4]
sar edx, 2
mov dword [ebp - 0x5f0], edx
mov eax, dword [ebp - 0x628]
mov ecx, dword [ebp - 0x628]
mov edx, dword [eax + 0xc]
sub edx, dword [ecx + 8]
sar edx, 2
cmp edx, 1
jae 0x404c7c
mov eax, dword [ebp - 0x628]
cmp dword [eax + 4], 0
jne 0x404a47
mov dword [ebp - 0x7b4], 0
jmp 0x404a62
mov ecx, dword [ebp - 0x628]
mov edx, dword [ebp - 0x628]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 4]
sar eax, 2
mov dword [ebp - 0x7b4], eax
cmp dword [ebp - 0x7b4], 1
jbe 0x404aac
mov ecx, dword [ebp - 0x628]
cmp dword [ecx + 4], 0
jne 0x404a83
mov dword [ebp - 0x7b8], 0
jmp 0x404a9e
mov edx, dword [ebp - 0x628]
mov eax, dword [ebp - 0x628]
mov ecx, dword [edx + 8]
sub ecx, dword [eax + 4]
sar ecx, 2
mov dword [ebp - 0x7b8], ecx
mov edx, dword [ebp - 0x7b8]
mov dword [ebp - 0x7bc], edx
jmp 0x404ab6
mov dword [ebp - 0x7bc], 1
mov eax, dword [ebp - 0x628]
cmp dword [eax + 4], 0
jne 0x404ace
mov dword [ebp - 0x7c0], 0
jmp 0x404ae9
mov ecx, dword [ebp - 0x628]
mov edx, dword [ebp - 0x628]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 4]
sar eax, 2
mov dword [ebp - 0x7c0], eax
mov ecx, dword [ebp - 0x7c0]
add ecx, dword [ebp - 0x7bc]
mov dword [ebp - 0x600], ecx
mov edx, dword [ebp - 0x600]
mov dword [ebp - 0x604], edx
cmp dword [ebp - 0x604], 0
jge 0x404b1a
mov dword [ebp - 0x604], 0
mov eax, dword [ebp - 0x604]
shl eax, 2
push eax
call fcn.00410ff6
add esp, 4
mov dword [ebp - 0x5fc], eax
mov ecx, dword [ebp - 0x5fc]
push ecx
mov edx, dword [ebp - 0x5ec]
push edx
mov eax, dword [ebp - 0x628]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x628]
call fcn.0040ac00
mov dword [ebp - 0x5f8], eax
lea edx, [ebp - 0x550]
push edx
push 1
mov eax, dword [ebp - 0x5f8]
push eax
mov ecx, dword [ebp - 0x628]
call fcn.0040abb0
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 0x5f8]
add edx, ecx
push edx
mov eax, dword [ebp - 0x628]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x5ec]
push edx
mov ecx, dword [ebp - 0x628]
call fcn.0040ac00
mov eax, dword [ebp - 0x628]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x628]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x628]
call fcn.0040a620
mov ecx, dword [ebp - 0x628]
mov edx, dword [ebp - 0x628]
mov eax, dword [ecx + 0xc]
sub eax, dword [edx + 4]
sar eax, 2
mov dword [ebp - 0x60c], eax
mov ecx, dword [ebp - 0x628]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x608], edx
mov eax, dword [ebp - 0x608]
push eax
call fcn.004109e9
add esp, 4
mov ecx, dword [ebp - 0x600]
mov edx, dword [ebp - 0x5fc]
lea eax, [edx + ecx*4]
mov ecx, dword [ebp - 0x628]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0x628]
cmp dword [edx + 4], 0
jne 0x404c2b
mov dword [ebp - 0x7c4], 0
jmp 0x404c46
mov eax, dword [ebp - 0x628]
mov ecx, dword [ebp - 0x628]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 4]
sar edx, 2
mov dword [ebp - 0x7c4], edx
mov eax, dword [ebp - 0x7c4]
mov ecx, dword [ebp - 0x5fc]
lea edx, [ecx + eax*4]
mov eax, 1
shl eax, 2
add edx, eax
mov ecx, dword [ebp - 0x628]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x628]
mov eax, dword [ebp - 0x5fc]
mov dword [edx + 4], eax
jmp 0x404e6a
mov ecx, dword [ebp - 0x628]
mov edx, dword [ecx + 8]
sub edx, dword [ebp - 0x5ec]
sar edx, 2
cmp edx, 1
jae 0x404d65
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 0x5ec]
add ecx, eax
push ecx
mov edx, dword [ebp - 0x628]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x5ec]
push ecx
mov ecx, dword [ebp - 0x628]
call fcn.0040ac00
lea edx, [ebp - 0x550]
push edx
mov eax, dword [ebp - 0x628]
mov ecx, dword [eax + 8]
sub ecx, dword [ebp - 0x5ec]
sar ecx, 2
mov edx, 1
sub edx, ecx
push edx
mov eax, dword [ebp - 0x628]
mov ecx, dword [eax + 8]
push ecx
mov ecx, dword [ebp - 0x628]
call fcn.0040abb0
mov edx, dword [ebp - 0x628]
mov eax, dword [edx + 8]
mov dword [ebp - 0x614], eax
mov ecx, dword [ebp - 0x5ec]
mov dword [ebp - 0x610], ecx
jmp 0x404d26
mov edx, dword [ebp - 0x610]
add edx, 4
mov dword [ebp - 0x610], edx
mov eax, dword [ebp - 0x610]
cmp eax, dword [ebp - 0x614]
je 0x404d44
mov ecx, dword [ebp - 0x610]
mov edx, dword [ebp - 0x550]
mov dword [ecx], edx
jmp 0x404d17
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 0x628]
mov edx, dword [ecx + 8]
add edx, eax
mov eax, dword [ebp - 0x628]
mov dword [eax + 8], edx
jmp 0x404e6a
xor ecx, ecx
cmp ecx, 1
jae 0x404e6a
mov edx, dword [ebp - 0x628]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x628]
mov edx, dword [ecx + 8]
push edx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 0x628]
mov edx, dword [ecx + 8]
sub edx, eax
push edx
mov ecx, dword [ebp - 0x628]
call fcn.0040ac00
mov eax, dword [ebp - 0x628]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x61c], ecx
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 0x628]
mov ecx, dword [eax + 8]
sub ecx, edx
mov dword [ebp - 0x618], ecx
mov edx, dword [ebp - 0x5ec]
cmp edx, dword [ebp - 0x618]
je 0x404e09
mov eax, dword [ebp - 0x618]
sub eax, 4
mov dword [ebp - 0x618], eax
mov ecx, dword [ebp - 0x61c]
sub ecx, 4
mov dword [ebp - 0x61c], ecx
mov edx, dword [ebp - 0x61c]
mov eax, dword [ebp - 0x618]
mov ecx, dword [eax]
mov dword [edx], ecx
jmp 0x404dcb
mov edx, dword [ebp - 0x5ec]
mov dword [ebp - 0x620], edx
jmp 0x404e26
mov eax, dword [ebp - 0x620]
add eax, 4
mov dword [ebp - 0x620], eax
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 0x5ec]
add edx, ecx
cmp dword [ebp - 0x620], edx
je 0x404e4e
mov eax, dword [ebp - 0x620]
mov ecx, dword [ebp - 0x550]
mov dword [eax], ecx
jmp 0x404e17
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 0x628]
mov ecx, dword [eax + 8]
add ecx, edx
mov edx, dword [ebp - 0x628]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x628]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x624], ecx
mov edx, dword [ebp - 0x530]
mov eax, dword [ebp - 0x520]
lea ecx, [eax + edx + 1]
mov dword [ebp - 0x520], ecx
jmp 0x403e14
mov edx, dword [ebp - 0x528]
cmp dword [edx + 4], 0
jne 0x404eac
mov dword [ebp - 0x7c8], 0
jmp 0x404ec7
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x528]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 4]
sar edx, 2
mov dword [ebp - 0x7c8], edx
mov eax, dword [ebp - 0x528]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x528]
cmp dword [edx + 4], 0
jne 0x404eee
mov dword [ebp - 0x7cc], 0
jmp 0x404f09
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x528]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 4]
sar edx, 2
mov dword [ebp - 0x7cc], edx
mov eax, dword [ebp - 0x528]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x630], ecx
mov edx, dword [ebp - 0x7c8]
mov eax, dword [ebp - 0x62c]
mov ecx, dword [eax + edx*4 - 4]
mov edx, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x630]
mov edx, dword [eax + edx*4 - 4]
mov eax, dword [ecx + 0xc]
add eax, dword [edx + 8]
mov ecx, dword [ebp - 0x528]
mov dword [ecx + 0x10], eax
mov edx, dword [0x4259e8]
mov dword [ebp - 0x634], edx
mov eax, dword [0x4259e4]
mov dword [ebp - 0x63c], eax
mov ecx, dword [ebp - 0x634]
sub ecx, dword [ebp - 0x63c]
sar ecx, 2
mov dword [ebp - 0x638], ecx
mov edx, dword [0x4259ec]
sub edx, dword [0x4259e8]
sar edx, 2
cmp edx, 1
jae 0x405271
cmp dword [0x4259e4], 0
jne 0x404fa0
mov dword [ebp - 0x7d0], 0
jmp 0x404fb4
mov eax, dword [0x4259e8]
sub eax, dword [0x4259e4]
sar eax, 2
mov dword [ebp - 0x7d0], eax
cmp dword [ebp - 0x7d0], 1
jbe 0x404ff5
cmp dword [0x4259e4], 0
jne 0x404fd2
mov dword [ebp - 0x7d4], 0
jmp 0x404fe7
mov ecx, dword [0x4259e8]
sub ecx, dword [0x4259e4]
sar ecx, 2
mov dword [ebp - 0x7d4], ecx
mov edx, dword [ebp - 0x7d4]
mov dword [ebp - 0x7d8], edx
jmp 0x404fff
mov dword [ebp - 0x7d8], 1
cmp dword [0x4259e4], 0
jne 0x405014
mov dword [ebp - 0x7dc], 0
jmp 0x405028
mov eax, dword [0x4259e8]
sub eax, dword [0x4259e4]
sar eax, 2
mov dword [ebp - 0x7dc], eax
mov ecx, dword [ebp - 0x7dc]
add ecx, dword [ebp - 0x7d8]
mov dword [ebp - 0x648], ecx
mov edx, dword [ebp - 0x648]
mov dword [ebp - 0x64c], edx
cmp dword [ebp - 0x64c], 0
jge 0x405059
mov dword [ebp - 0x64c], 0
mov eax, dword [ebp - 0x64c]
shl eax, 2
push eax
call fcn.00410ff6
add esp, 4
mov dword [ebp - 0x644], eax
mov ecx, dword [ebp - 0x644]
mov dword [ebp - 0x654], ecx
mov edx, dword [0x4259e4]
mov dword [ebp - 0x650], edx
jmp 0x4050a9
mov eax, dword [ebp - 0x654]
add eax, 4
mov dword [ebp - 0x654], eax
mov ecx, dword [ebp - 0x650]
add ecx, 4
mov dword [ebp - 0x650], ecx
mov edx, dword [ebp - 0x650]
cmp edx, dword [ebp - 0x634]
je 0x4050cf
mov eax, dword [ebp - 0x650]
push eax
mov ecx, dword [ebp - 0x654]
push ecx
call fcn.0040ac60
add esp, 8
jmp 0x40508b
mov edx, dword [ebp - 0x654]
mov dword [ebp - 0x640], edx
mov dword [ebp - 0x65c], 1
mov eax, dword [ebp - 0x640]
mov dword [ebp - 0x658], eax
jmp 0x405111
mov ecx, dword [ebp - 0x65c]
sub ecx, 1
mov dword [ebp - 0x65c], ecx
mov edx, dword [ebp - 0x658]
add edx, 4
mov dword [ebp - 0x658], edx
cmp dword [ebp - 0x65c], 0
jbe 0x405132
lea eax, [ebp - 0x528]
push eax
mov ecx, dword [ebp - 0x658]
push ecx
call fcn.0040ac60
add esp, 8
jmp 0x4050f3
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 0x640]
add eax, edx
mov dword [ebp - 0x668], eax
mov ecx, dword [0x4259e8]
mov dword [ebp - 0x664], ecx
mov edx, dword [ebp - 0x634]
mov dword [ebp - 0x660], edx
jmp 0x405180
mov eax, dword [ebp - 0x668]
add eax, 4
mov dword [ebp - 0x668], eax
mov ecx, dword [ebp - 0x660]
add ecx, 4
mov dword [ebp - 0x660], ecx
mov edx, dword [ebp - 0x660]
cmp edx, dword [ebp - 0x664]
je 0x4051a6
mov eax, dword [ebp - 0x660]
push eax
mov ecx, dword [ebp - 0x668]
push ecx
call fcn.0040ac60
add esp, 8
jmp 0x405162
mov edx, dword [0x4259e4]
mov dword [ebp - 0x66c], edx
jmp 0x4051c3
mov eax, dword [ebp - 0x66c]
add eax, 4
mov dword [ebp - 0x66c], eax
mov ecx, dword [ebp - 0x66c]
cmp ecx, dword [0x4259e8]
je 0x4051d3
jmp 0x4051b4
mov edx, dword [0x4259ec]
sub edx, dword [0x4259e4]
sar edx, 2
mov dword [ebp - 0x674], edx
mov eax, dword [0x4259e4]
mov dword [ebp - 0x670], eax
mov ecx, dword [ebp - 0x670]
push ecx
call fcn.004109e9
add esp, 4
mov edx, dword [ebp - 0x648]
mov eax, dword [ebp - 0x644]
lea ecx, [eax + edx*4]
mov dword [0x4259ec], ecx
cmp dword [0x4259e4], 0
jne 0x40522c
mov dword [ebp - 0x7e0], 0
jmp 0x405241
mov edx, dword [0x4259e8]
sub edx, dword [0x4259e4]
sar edx, 2
mov dword [ebp - 0x7e0], edx
mov eax, dword [ebp - 0x7e0]
mov ecx, dword [ebp - 0x644]
lea edx, [ecx + eax*4]
mov eax, 1
shl eax, 2
add edx, eax
mov dword [0x4259e8], edx
mov ecx, dword [ebp - 0x644]
mov dword [0x4259e4], ecx
jmp 0x405500
mov edx, dword [0x4259e8]
sub edx, dword [ebp - 0x634]
sar edx, 2
cmp edx, 1
jae 0x4053c7
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 0x634]
add ecx, eax
mov dword [ebp - 0x680], ecx
mov edx, dword [0x4259e8]
mov dword [ebp - 0x67c], edx
mov eax, dword [ebp - 0x634]
mov dword [ebp - 0x678], eax
jmp 0x4052d7
mov ecx, dword [ebp - 0x680]
add ecx, 4
mov dword [ebp - 0x680], ecx
mov edx, dword [ebp - 0x678]
add edx, 4
mov dword [ebp - 0x678], edx
mov eax, dword [ebp - 0x678]
cmp eax, dword [ebp - 0x67c]
je 0x4052fd
mov ecx, dword [ebp - 0x678]
push ecx
mov edx, dword [ebp - 0x680]
push edx
call fcn.0040ac60
add esp, 8
jmp 0x4052b9
mov eax, dword [0x4259e8]
sub eax, dword [ebp - 0x634]
sar eax, 2
mov ecx, 1
sub ecx, eax
mov dword [ebp - 0x688], ecx
mov edx, dword [0x4259e8]
mov dword [ebp - 0x684], edx
jmp 0x405344
mov eax, dword [ebp - 0x688]
sub eax, 1
mov dword [ebp - 0x688], eax
mov ecx, dword [ebp - 0x684]
add ecx, 4
mov dword [ebp - 0x684], ecx
cmp dword [ebp - 0x688], 0
jbe 0x405365
lea edx, [ebp - 0x528]
push edx
mov eax, dword [ebp - 0x684]
push eax
call fcn.0040ac60
add esp, 8
jmp 0x405326
mov ecx, dword [0x4259e8]
mov dword [ebp - 0x690], ecx
mov edx, dword [ebp - 0x634]
mov dword [ebp - 0x68c], edx
jmp 0x40538e
mov eax, dword [ebp - 0x68c]
add eax, 4
mov dword [ebp - 0x68c], eax
mov ecx, dword [ebp - 0x68c]
cmp ecx, dword [ebp - 0x690]
je 0x4053ac
mov edx, dword [ebp - 0x68c]
mov eax, dword [ebp - 0x528]
mov dword [edx], eax
jmp 0x40537f
mov ecx, 1
shl ecx, 2
mov edx, dword [0x4259e8]
add edx, ecx
mov dword [0x4259e8], edx
jmp 0x405500
xor eax, eax
cmp eax, 1
jae 0x405500
mov ecx, dword [0x4259e8]
mov dword [ebp - 0x69c], ecx
mov edx, dword [0x4259e8]
mov dword [ebp - 0x698], edx
mov eax, 1
shl eax, 2
mov ecx, dword [0x4259e8]
sub ecx, eax
mov dword [ebp - 0x694], ecx
jmp 0x405420
mov edx, dword [ebp - 0x69c]
add edx, 4
mov dword [ebp - 0x69c], edx
mov eax, dword [ebp - 0x694]
add eax, 4
mov dword [ebp - 0x694], eax
mov ecx, dword [ebp - 0x694]
cmp ecx, dword [ebp - 0x698]
je 0x405446
mov edx, dword [ebp - 0x694]
push edx
mov eax, dword [ebp - 0x69c]
push eax
call fcn.0040ac60
add esp, 8
jmp 0x405402
mov ecx, dword [0x4259e8]
mov dword [ebp - 0x6a4], ecx
mov edx, 1
shl edx, 2
mov eax, dword [0x4259e8]
sub eax, edx
mov dword [ebp - 0x6a0], eax
mov ecx, dword [ebp - 0x634]
cmp ecx, dword [ebp - 0x6a0]
je 0x4054a5
mov edx, dword [ebp - 0x6a0]
sub edx, 4
mov dword [ebp - 0x6a0], edx
mov eax, dword [ebp - 0x6a4]
sub eax, 4
mov dword [ebp - 0x6a4], eax
mov ecx, dword [ebp - 0x6a4]
mov edx, dword [ebp - 0x6a0]
mov eax, dword [edx]
mov dword [ecx], eax
jmp 0x405467
mov ecx, dword [ebp - 0x634]
mov dword [ebp - 0x6a8], ecx
jmp 0x4054c2
mov edx, dword [ebp - 0x6a8]
add edx, 4
mov dword [ebp - 0x6a8], edx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 0x634]
add ecx, eax
cmp dword [ebp - 0x6a8], ecx
je 0x4054ea
mov edx, dword [ebp - 0x6a8]
mov eax, dword [ebp - 0x528]
mov dword [edx], eax
jmp 0x4054b3
mov ecx, 1
shl ecx, 2
mov edx, dword [0x4259e8]
add edx, ecx
mov dword [0x4259e8], edx
mov eax, dword [0x4259e4]
mov dword [ebp - 0x6ac], eax
mov ecx, dword [ebp - 0x114]
movsx edx, byte [ecx]
test edx, edx
je 0x405545
mov eax, dword [ebp - 0x114]
movsx ecx, byte [eax]
cmp ecx, 0xa
je 0x405534
mov edx, dword [ebp - 0x114]
movsx eax, byte [edx]
cmp eax, 0xd
jne 0x405545
mov ecx, dword [ebp - 0x114]
add ecx, 1
mov dword [ebp - 0x114], ecx
jmp 0x40550b
jmp 0x4038e3
cmp dword [0x4272b8], 0
je 0x4055e0
cmp dword [0x4259e4], 0
jne 0x40556c
mov dword [ebp - 0x7e4], 0
jmp 0x405581
mov edx, dword [0x4259e8]
sub edx, dword [0x4259e4]
sar edx, 2
mov dword [ebp - 0x7e4], edx
cmp dword [ebp - 0x7e4], 0
je 0x4055c8
cmp dword [0x4259e4], 0
jne 0x40559f
mov dword [ebp - 0x7e8], 0
jmp 0x4055b3
mov eax, dword [0x4259e8]
sub eax, dword [0x4259e4]
sar eax, 2
mov dword [ebp - 0x7e8], eax
call fcn.00411011
xor edx, edx
div dword [ebp - 0x7e8]
mov dword [ebp - 0x7ec], edx
jmp 0x4055d2
mov dword [ebp - 0x7ec], 0
mov ecx, dword [ebp - 0x7ec]
mov dword [0x425df4], ecx
jmp 0x4055ea
mov dword [0x425df4], 0
cmp dword [0x4259e4], 0
jne 0x4055ff
mov dword [ebp - 0x7f0], 0
jmp 0x405614
mov edx, dword [0x4259e8]
sub edx, dword [0x4259e4]
sar edx, 2
mov dword [ebp - 0x7f0], edx
mov eax, dword [ebp - 0x7f0]
push eax
push str._Screen::Load___d_messages_parsed
call fcn.0040afc0
add esp, 8
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc