Function at 0x4df630
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0xaa
push 0
push 0
dec ecx
jne 0x4df639
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov esi, dword [ebp + 0x90]
lea edi, [ebp - 0x418]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x3c], ecx
mov edi, edx
mov dword [ebp - 0x38], eax
xor eax, eax
push ebp
push 0x4e69d6
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0xd4], 0xffffffff
mov eax, dword [ebp + 0x68]
mov eax, dword [eax]
sub dword [ebp - 0x40c], eax
push edi
lea esi, [ebp - 0x418]
lea edi, [ebp - 0x448]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [ebp + 0x44]
cmp dword [eax], 0
jl 0x4df6e1
mov eax, dword [ebp + 0x8c]
mov eax, dword [eax]
add dword [ebp - 0x418], eax
mov eax, dword [ebp + 0x8c]
mov eax, dword [eax + 4]
add dword [ebp - 0x414], eax
mov eax, dword [ebp + 0x8c]
mov eax, dword [eax + 8]
sub dword [ebp - 0x410], eax
mov eax, dword [ebp + 0x8c]
mov eax, dword [eax + 0xc]
sub dword [ebp - 0x40c], eax
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp + 8]
xor edx, edx
call fcn.00406278
lea eax, [ebp - 0x30]
xor edx, edx
call fcn.004062cc
xor eax, eax
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0xcd], 0
mov eax, dword [ebp + 0x18]
movzx eax, byte [eax]
mov byte [ebp - 0xcf], al
mov eax, dword [ebp + 0x18]
mov byte [eax], 0
mov eax, dword [ebp + 0x7c]
xor edx, edx
mov dword [eax], edx
xor eax, eax
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x45c]
xor ecx, ecx
mov edx, 0x14
call fcn.00403678
mov dword [ebp - 0x45c], 0x14
mov dword [ebp - 0x70], 0xffffffff
mov byte [ebp - 0x41], 0
mov byte [ebp - 0x42], 0
mov byte [ebp - 0xa9], 1
mov byte [ebp - 0xaa], 1
mov eax, dword [ebp + 0x20]
mov byte [eax], 0
mov eax, dword [ebp + 0x1c]
mov byte [eax], 0
mov eax, dword [ebp + 0x94]
add eax, 0xffffffd8
xor edx, edx
call fcn.004062cc
mov eax, dword [ebp + 0x4c]
xor edx, edx
mov dword [eax], edx
mov byte [ebp - 0xb8], 0
movzx eax, byte [ebp + 0x80]
mov byte [ebp - 0xb9], al
mov eax, dword [ebp + 0x2c]
mov byte [eax], 0
mov eax, dword [ebp + 0x2c]
cmp byte [eax], 0
jne 0x4df7b8
mov eax, dword [ebp + 0x5c]
mov eax, dword [eax]
sub eax, 2
jae 0x4df7b8
mov byte [ebp - 0xb8], 1
mov byte [ebp + 0x80], 0
push edi
lea esi, [ebp - 0x418]
lea edi, [ebp - 0x428]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
lea eax, [ebp - 0x14]
xor edx, edx
call fcn.004062cc
lea eax, [ebp - 0x18]
xor edx, edx
call fcn.004062cc
lea eax, [ebp - 0x1c]
xor edx, edx
call fcn.004062cc
mov eax, dword [ebp + 0x78]
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0x74]
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp + 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x78]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp + 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
cmp byte [ebp + 0x84], 0
jne 0x4df827
mov eax, dword [ebp + 0x10]
add dword [ebp - 0x428], eax
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x29], 0
je 0x4df8db
cmp byte [ebp + 0x84], 0
jne 0x4df8db
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
call fcn.0043b1b0
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b6c8
cmp al, 1
jne 0x4df870
mov dword [ebp - 0xd8], 0x1fffffff
jmp 0x4df881
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b568
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xd8]
call fcn.0043b1b8
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp + 0x78]
mov eax, dword [eax]
add eax, dword [ebp - 0x414]
push eax
mov eax, dword [ebp + 0x94]
mov edx, dword [eax + 0x8c]
mov edx, dword [edx]
mov ecx, dword [ebp - 0x414]
mov eax, dword [ebp - 0x38]
call fcn.0043bb00
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xc0]
call fcn.0043b1b8
mov byte [ebp - 0xb7], 1
mov eax, dword [ebp + 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp + 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
jmp 0x4e684a
mov eax, dword [ebp + 0x94]
movzx eax, byte [eax + 0xc]
mov byte [ebp - 0xba], al
mov eax, dword [ebp + 0x4c]
inc dword [eax]
mov eax, dword [ebp - 0x38]
call fcn.004df520
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x38]
call fcn.004df54c
mov dword [ebp - 0x4c], eax
mov edx, dword [edi]
mov eax, 0x4e69f4
call fcn.00406d3c
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jle 0x4df99a
mov ecx, dword [ebp - 0x78]
inc ecx
mov edx, dword [edi]
mov eax, 0x4e69f4
call fcn.0040ac0c
mov esi, eax
mov ecx, dword [ebp - 0x78]
inc ecx
mov edx, dword [edi]
mov eax, 0x4e6a04
call fcn.0040ac0c
mov ebx, eax
test ebx, ebx
jle 0x4df978
cmp esi, ebx
jg 0x4df99a
test esi, esi
jne 0x4df980
test ebx, ebx
jg 0x4df99a
cmp esi, ebx
jge 0x4df98b
test esi, esi
jle 0x4df98b
mov dword [ebp - 0x78], esi
test ebx, ebx
jne 0x4df994
xor eax, eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jg 0x4df94c
cmp dword [ebp - 0x78], 0
jle 0x4df9b6
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x78]
dec ecx
mov eax, dword [edi]
mov edx, 1
call fcn.00406a24
jmp 0x4df9c0
lea eax, [ebp - 0x10]
mov edx, dword [edi]
call fcn.004062cc
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
je 0x4df9f2
mov eax, dword [ebp - 0xdc]
sub eax, 0xa
cmp word [eax], 2
je 0x4df9f2
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.00405658
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
je 0x4dfa18
mov eax, dword [ebp - 0xe0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
jle 0x4dfc07
push 2
lea eax, [ebp - 0x10]
push eax
mov eax, 0x4e6a14
mov dword [ebp - 0x468], eax
mov eax, 0x4e69f4
mov dword [ebp - 0x464], eax
mov eax, 0x4e6a04
mov dword [ebp - 0x460], eax
lea eax, [ebp - 0x468]
push eax
mov eax, 0x4e6a24
mov dword [ebp - 0x474], eax
mov eax, 0x4e6a40
mov dword [ebp - 0x470], eax
mov eax, 0x4e6a58
mov dword [ebp - 0x46c], eax
lea eax, [ebp - 0x474]
mov edx, 2
pop ecx
call fcn.004df278
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0
je 0x4dfac3
mov eax, dword [ebp - 0xe4]
sub eax, 0xa
cmp word [eax], 2
je 0x4dfac3
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.00405658
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x4dfae9
mov eax, dword [ebp - 0xe8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0xd4], 0
jl 0x4dfb2c
cmp dword [ebp - 0x98], 0
jle 0x4dfb2c
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xd4]
jne 0x4dfb2c
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0x410], eax
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x420], eax
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4dfb74
cmp dword [ebp - 0xa8], 0
jne 0x4dfb74
mov eax, dword [ebp + 0x58]
cmp dword [eax], 0
jle 0x4dfb74
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x30]
call fcn.00426870
mov edx, dword [ebp + 0x58]
cmp eax, dword [edx]
jl 0x4dfb74
mov edx, dword [ebp + 0x58]
mov edx, dword [edx]
dec edx
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x30]
call fcn.004ea3a8
mov dword [ebp - 0xa8], eax
cmp byte [ebp + 0x84], 0
jne 0x4dfbb2
push edi
lea esi, [ebp - 0x428]
lea edi, [ebp - 0x438]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
cmp byte [ebp - 0xb7], 0
jne 0x4dfbed
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x430], eax
jmp 0x4dfbed
push edi
lea esi, [ebp - 0x418]
lea edi, [ebp - 0x438]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
cmp byte [ebp - 0xb7], 0
jne 0x4dfbed
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x418]
add eax, dword [ebp + 0x10]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x430], eax
add dword [ebp - 0x434], 0x2710
mov eax, dword [ebp - 0x434]
add eax, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x42c], eax
cmp byte [ebp + 0x88], 0
jne 0x4dfc2e
cmp dword [ebp - 0xd4], 0
jl 0x4dfc26
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xd4]
jle 0x4dfc2e
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 1
jne 0x4dfc45
cmp dword [ebp - 0x98], 0
jle 0x4dfc45
xor eax, eax
mov dword [ebp - 0x7c], eax
mov byte [ebp - 0x41], 0
jmp 0x4dfde3
mov eax, dword [ebp + 0x48]
cmp dword [eax], 0
jl 0x4dfc92
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
mov edx, dword [edx]
inc edx
cmp eax, edx
jl 0x4dfc92
xor eax, eax
mov dword [ebp - 0x7c], eax
cmp byte [ebp + 0x88], 0
jne 0x4dfc84
cmp dword [ebp - 0x98], 0
jle 0x4dfc84
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
je 0x4dfc84
cmp byte [ebp - 0xb9], 0
jne 0x4dfc88
xor eax, eax
jmp 0x4dfc8a
mov al, 1
mov byte [ebp - 0x41], al
jmp 0x4dfde3
cmp byte [ebp + 0x80], 0
je 0x4dfdde
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
setne al
or al, byte [ebp + 0x84]
je 0x4dfdde
cmp dword [ebp - 0x98], 0
jle 0x4dfd41
xor eax, eax
mov dword [ebp - 0x44c], eax
lea eax, [ebp - 0x45c]
push eax
mov eax, dword [ebp + 0x94]
movzx eax, byte [eax + 0x50]
and al, byte [ebp + 0x80]
and eax, 0x7f
mov eax, dword [eax*4 + 0x56242c]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx - 0x34]
and edx, 0xffffffdf
and edx, 0xffff7fff
or edx, 0x10
or eax, edx
push eax
lea eax, [ebp - 0x438]
push eax
mov eax, dword [ebp - 0x98]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00406304
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
jne 0x4dfd66
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x7c], eax
jmp 0x4dfd66
xor eax, eax
mov dword [ebp - 0x7c], eax
cmp byte [ebp - 0xb7], 0
je 0x4dfd66
mov eax, dword [ebp + 0x78]
xor edx, edx
mov dword [eax], edx
cmp byte [ebp + 0x88], 0
jne 0x4dfd66
mov eax, dword [ebp + 0x74]
xor edx, edx
mov dword [eax], edx
cmp dword [ebp - 0x98], 0
jle 0x4dfd7a
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x98]
jl 0x4dfd7e
xor eax, eax
jmp 0x4dfd80
mov al, 1
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x4dfde3
mov eax, dword [ebp + 0x2c]
cmp byte [eax], 0
je 0x4dfde3
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 1
jne 0x4dfde3
cmp byte [ebp + 0x80], 0
je 0x4dfde3
cmp byte [ebp - 0xcd], 0
jne 0x4dfde3
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jle 0x4dfde3
mov byte [ebp - 0xa9], 1
mov eax, dword [ebp + 0x4c]
dec dword [eax]
mov eax, dword [ebp + 0x6c]
mov edx, dword [ebp - 0xc8]
mov dword [eax], edx
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x18], edx
jmp 0x4e686a
xor eax, eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x78], 0
jle 0x4dfe0d
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x78]
jg 0x4dfdf7
cmp dword [ebp - 0x7c], 0
jne 0x4dfe0d
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x78]
dec ecx
mov eax, dword [edi]
mov edx, 1
call fcn.00406a24
jmp 0x4dfe32
cmp dword [ebp - 0x7c], 0
jle 0x4dfe28
lea eax, [ebp - 0x10]
push eax
mov eax, dword [edi]
mov ecx, dword [ebp - 0x7c]
mov edx, 1
call fcn.00406a24
jmp 0x4dfe32
lea eax, [ebp - 0x10]
mov edx, dword [edi]
call fcn.004062cc
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
je 0x4dfe64
mov eax, dword [ebp - 0xec]
sub eax, 0xa
cmp word [eax], 2
je 0x4dfe64
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.00405658
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je 0x4dfe8a
mov eax, dword [ebp - 0xf0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
jle 0x4dfeff
push 2
lea eax, [ebp - 0x10]
push eax
mov eax, 0x4e6a14
mov dword [ebp - 0x468], eax
mov eax, 0x4e69f4
mov dword [ebp - 0x464], eax
mov eax, 0x4e6a04
mov dword [ebp - 0x460], eax
lea eax, [ebp - 0x468]
push eax
mov eax, 0x4e6a24
mov dword [ebp - 0x474], eax
mov eax, 0x4e6a40
mov dword [ebp - 0x470], eax
mov eax, 0x4e6a58
mov dword [ebp - 0x46c], eax
lea eax, [ebp - 0x474]
mov edx, 2
pop ecx
call fcn.004df278
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0
je 0x4dff31
mov eax, dword [ebp - 0xf4]
sub eax, 0xa
cmp word [eax], 2
je 0x4dff31
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.00405658
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0
je 0x4dff57
mov eax, dword [ebp - 0xf8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
jne 0x4dff71
mov eax, dword [ebp + 0x4c]
dec dword [eax]
mov eax, dword [ebp - 0x10]
mov edx, 0x4e6a70
call fcn.00406a1c
jne 0x4dffab
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.004062cc
mov eax, edi
mov ecx, 1
mov edx, 1
call fcn.00406af4
xor eax, eax
mov dword [ebp - 0x9c], eax
xor eax, eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
jle 0x4e00b5
mov eax, dword [ebp + 0x48]
cmp dword [eax], 0
jl 0x4e00b5
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
mov edx, dword [edx]
inc edx
cmp eax, edx
jl 0x4e00b5
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
mov edx, dword [edx]
inc edx
cmp eax, edx
je 0x4dfffb
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
je 0x4dfffb
cmp byte [ebp - 0xb9], 0
jne 0x4e0084
cmp dword [ebp - 0xa8], 0
je 0x4e0010
mov eax, dword [ebp - 0xa8]
cmp byte [eax + 0x3c], 0
jne 0x4e0084
mov eax, edi
mov ecx, dword [ebp - 0x98]
mov edx, 1
call fcn.00406af4
lea eax, [ebp - 0x14]
mov edx, 0x4e6a70
call fcn.0040668c
xor eax, eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0xa8], 0
je 0x4e004a
mov eax, dword [ebp - 0xa8]
mov byte [eax + 0x3d], 1
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
mov edx, dword [edx]
inc edx
cmp eax, edx
je 0x4e0084
movzx eax, byte [ebp - 0xb9]
xor al, 1
and al, byte [ebp - 0xcd]
je 0x4e0084
cmp dword [ebp - 0xd4], 0
jl 0x4e0084
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xd4]
jle 0x4e0084
mov byte [ebp - 0x41], 1
cmp byte [ebp - 0x41], 0
je 0x4e00b5
mov byte [ebp - 0xa9], 1
mov eax, dword [ebp + 0x4c]
dec dword [eax]
mov eax, dword [ebp + 0x6c]
mov edx, dword [ebp - 0xc8]
mov dword [eax], edx
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x18], edx
jmp 0x4e686a
cmp dword [ebp - 0x98], 0
jle 0x4e195e
mov byte [ebp - 0xb7], 0
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x35], 0
je 0x4e00ef
mov eax, dword [ebp + 0x68]
mov eax, dword [eax]
mov edx, dword [ebp - 0x50]
shr edx, 2
cmp eax, edx
jge 0x4e00ef
mov eax, dword [ebp - 0x50]
shr eax, 2
mov edx, dword [ebp + 0x68]
mov dword [edx], eax
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x36], 0
je 0x4e0115
mov eax, dword [ebp + 0x64]
mov eax, dword [eax]
mov edx, dword [ebp - 0x50]
shr edx, 2
cmp eax, edx
jge 0x4e0115
mov eax, dword [ebp - 0x50]
shr eax, 2
mov edx, dword [ebp + 0x64]
mov dword [edx], eax
mov eax, dword [ebp + 0x78]
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0x78]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x50]
jge 0x4e0132
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp - 0x50]
mov dword [eax], edx
mov eax, dword [ebp + 0x74]
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp + 0x74]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x4c]
jge 0x4e014f
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp - 0x4c]
mov dword [eax], edx
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4e0172
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
mov edx, dword [edx]
call fcn.004062cc
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x10]
call fcn.0040668c
mov eax, dword [ebp - 0x3c]
lea eax, [ebp - 4]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x34]
mov edx, dword [edx]
call fcn.004062cc
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
mov edx, dword [ebp - 0x10]
call fcn.0040668c
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
lea eax, [ebp - 8]
xor edx, edx
call fcn.004062cc
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x37], 0
je 0x4e01c7
mov eax, edi
mov ecx, dword [ebp - 0x98]
mov edx, 1
call fcn.00406af4
mov byte [ebp - 0xa9], 1
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x37], 0
jne 0x4e195e
cmp byte [ebp + 0x84], 0
jne 0x4e09c4
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x36], 0
je 0x4e0202
mov eax, dword [ebp + 0x64]
mov eax, dword [eax]
sub dword [ebp - 0x41c], eax
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x35], 0
je 0x4e0219
mov eax, dword [ebp + 0x68]
mov eax, dword [eax]
add dword [ebp - 0x41c], eax
mov eax, dword [ebp + 0x60]
mov eax, dword [eax]
sub dword [ebp - 0x41c], eax
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp - 0x41c]
sub edx, dword [eax]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp + 0x94]
push edi
lea edi, [eax - 0x10]
lea esi, [ebp - 0x428]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
push edi
lea esi, [ebp - 0x428]
lea edi, [ebp - 0x438]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0xb6], 1
mov byte [ebp - 0xb5], 0
push 0
mov eax, dword [ebp + 0x94]
movzx eax, byte [eax + 0x50]
and al, byte [ebp + 0x80]
and eax, 0x7f
mov eax, dword [eax*4 + 0x56242c]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx - 0x34]
and edx, 0xffffffdf
and edx, 0xfffffff7
and edx, 0xfffffdff
and edx, 0xffff7fff
or edx, 0x10
or eax, edx
or eax, 0x400
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00406304
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 4]
mov edx, dword [ebp + 0x94]
sub eax, dword [edx - 0xc]
cmp eax, dword [ebp - 0x50]
jg 0x4e0329
mov byte [ebp - 0xb6], 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 8]
cmp eax, dword [ebp - 0x420]
jg 0x4e0318
mov byte [ebp - 0xba], 0
jmp 0x4e0329
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x38], 1
mov byte [ebp - 0xb5], 1
mov eax, dword [ebp + 0x94]
push edi
lea edi, [eax - 0x10]
lea esi, [ebp - 0x428]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x10]
call fcn.004062cc
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
or eax, 0x400
push eax
lea eax, [ebp - 0x428]
push eax
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00406304
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.user32.dll_DrawTextExW
cmp byte [ebp - 0xb6], 0
je 0x4e03b0
cmp byte [ebp + 0x80], 0
jne 0x4e03b0
mov eax, dword [ebp - 0x420]
cmp eax, dword [ebp - 0x430]
jle 0x4e03b0
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x38], 1
mov byte [ebp - 0xb5], 1
mov eax, dword [ebp - 0x420]
sub eax, dword [ebp - 0x428]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x428]
cmp eax, dword [ebp - 0x410]
jge 0x4e084f
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x39], 0
je 0x4e051e
mov eax, dword [ebp + 0x94]
mov ecx, dword [eax + 0x70]
mov eax, dword [ebp + 0x94]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
call fcn.00408ef4
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043aa44
cmp byte [ebp - 0xba], 0
jne 0x4e0445
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0xc], 0
sete al
and al, byte [ebp - 0xb5]
je 0x4e04ac
cmp dword [ebp - 0xd4], 0
jl 0x4e04ac
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0xd4]
dec edx
cmp eax, edx
jg 0x4e04ac
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0xfffffdff
and eax, 0xfffffeff
movzx edx, byte [ebp - 0xba]
or eax, dword [edx*4 + 0x562434]
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00406304
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.user32.dll_DrawTextExW
jmp 0x4e04f8
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0xfffffdff
movzx edx, byte [ebp - 0xba]
or eax, dword [edx*4 + 0x562434]
or eax, 0x100
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00406304
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp + 0x94]
push edi
lea edi, [eax - 0x10]
lea esi, [ebp - 0x438]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x88]
call fcn.0043aa44
cmp dword [ebp - 0xd4], 0
jl 0x4e0801
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0xd4]
dec edx
cmp eax, edx
jg 0x4e0801
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x10]
mov edx, dword [ebp + 0x94]
cmp eax, dword [edx - 8]
jle 0x4e0565
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x10]
mov edx, dword [ebp + 0x94]
mov dword [edx - 8], eax
cmp byte [ebp - 0xba], 0
jne 0x4e0654
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0xfffffdff
movzx edx, byte [ebp - 0xba]
or eax, dword [edx*4 + 0x562434]
movzx edx, byte [ebp - 0xb5]
xor dl, 1
and edx, 0x7f
or eax, dword [edx*4 + 0x562424]
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00406304
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 8]
mov edx, dword [ebp + 0x94]
sub eax, dword [edx - 0x10]
cmp eax, dword [ebp - 0xa0]
jge 0x4e05f1
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x38], 1
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 8]
mov edx, dword [ebp + 0x94]
sub eax, dword [edx - 0x10]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0xfc]
jge 0x4e0625
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x100], eax
jmp 0x4e0631
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x428]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0x420], eax
jmp 0x4e087c
lea eax, [ebp - 0xc]
mov edx, 0x4e6a80
call fcn.0040668c
mov eax, dword [ebp - 0xc]
call fcn.00406304
mov dword [ebp - 0x40], eax
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0xfffffdff
and eax, 0xfffffeff
or eax, 0x10000
movzx edx, byte [ebp - 0xba]
or eax, dword [edx*4 + 0x562434]
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp - 0x10]
call fcn.00406304
mov edx, dword [ebp - 0x40]
call fcn.0040e218
test eax, eax
je 0x4e087c
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x38], 1
mov byte [ebp - 0xb5], 1
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x40]
call fcn.00406424
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0
je 0x4e071e
mov eax, dword [ebp - 0x104]
sub eax, 0xa
cmp word [eax], 2
je 0x4e071e
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0xc]
call fcn.00405658
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x4e0744
mov eax, dword [ebp - 0x108]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 8]
mov edx, dword [ebp + 0x94]
sub eax, dword [edx - 0x10]
mov dword [ebp - 0xa0], eax
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
or eax, 0x400
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00406304
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 8]
mov edx, dword [ebp + 0x94]
sub eax, dword [edx - 0x10]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x10c]
jge 0x4e07d5
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x110], eax
jmp 0x4e07e1
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x428]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0x420], eax
jmp 0x4e087c
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0xfffffdff
movzx edx, byte [ebp - 0xba]
or eax, dword [edx*4 + 0x562434]
or eax, 0x100
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00406304
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.user32.dll_DrawTextExW
jmp 0x4e087c
cmp dword [ebp - 0xd4], 0
jl 0x4e087c
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0xd4]
dec edx
cmp eax, edx
jg 0x4e087c
xor eax, eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x428]
mov dword [ebp - 0x420], eax
mov eax, dword [ebp + 0x7c]
mov edx, dword [ebp - 0xa0]
add dword [eax], edx
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4e08c5
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x78], 0
jl 0x4e08c5
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x78]
mov edx, dword [ebp + 0x58]
mov edx, dword [edx]
dec edx
cmp eax, edx
jne 0x4e08c5
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx - 0x40]
call fcn.00406278
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x41], 0
je 0x4e0963
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, 0xff
call fcn.0043b1b8
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, 1
call fcn.0043b2f8
mov eax, dword [ebp - 0x428]
sar eax, 1
jns 0x4e0902
adc eax, 0
mov ebx, eax
add ebx, ebx
mov eax, ebx
and eax, 0x80000003
jns 0x4e0914
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x4e091f
mov esi, 2
jmp 0x4e0921
xor esi, esi
mov ecx, dword [ebp - 0x40c]
add ecx, esi
dec ecx
mov edx, ebx
mov eax, dword [ebp - 0x38]
call fcn.0043ba98
jmp 0x4e095b
cmp esi, 2
jne 0x4e093f
xor esi, esi
jmp 0x4e0944
mov esi, 2
mov ecx, dword [ebp - 0x40c]
add ecx, esi
dec ecx
lea edx, [ebx + 2]
mov eax, dword [ebp - 0x38]
call fcn.0043ba38
add ebx, 2
cmp ebx, dword [ebp - 0x420]
jl 0x4e0936
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0x20000
cmp eax, 0x20000
je 0x4e0992
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x428], eax
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x420], eax
jmp 0x4e09a7
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x420]
add eax, dword [ebp - 0x428]
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x40c]
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x424], eax
jmp 0x4e178e
cmp byte [ebp + 0x88], 0
jne 0x4e0a6c
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x14]
cmp byte [eax], 0
jne 0x4e09eb
mov eax, dword [ebp + 0x48]
cmp dword [eax], 0
jl 0x4e0a6c
mov eax, dword [ebp + 0x48]
cmp dword [eax], 0
jle 0x4e0a6c
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
cmp eax, dword [edx]
jne 0x4e0a6c
cmp dword [ebp - 0xa8], 0
je 0x4e0a32
mov eax, dword [ebp - 0xa8]
cmp byte [eax + 0x3c], 0
je 0x4e0a32
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jle 0x4e0a32
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
dec eax
mov edx, dword [ebp + 0x48]
mov dword [edx], eax
mov eax, dword [ebp + 0x18]
mov byte [eax], 1
jmp 0x4e6980
lea eax, [ebp - 8]
mov edx, 0x4e6aa0
call fcn.004062cc
cmp byte [ebp - 0xba], 1
je 0x4e0a5a
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 8]
call fcn.0040668c
add dword [ebp - 0x9c], 3
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x14]
movzx eax, byte [eax]
mov byte [ebp - 0xcd], al
push edi
lea esi, [ebp - 0x418]
lea edi, [ebp - 0x428]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [ebp - 0x428]
cmp eax, dword [ebp - 0x420]
jle 0x4e0a98
mov eax, dword [ebp - 0x428]
mov dword [ebp - 0x420], eax
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
or eax, 0x400
push eax
lea eax, [ebp - 0x428]
push eax
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00406304
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.user32.dll_DrawTextExW
xor eax, eax
mov dword [ebp - 0x48], eax
cmp byte [ebp + 0x88], 0
je 0x4e0b98
cmp dword [ebp - 0x10], 0
je 0x4e0b98
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
je 0x4e0b1c
mov eax, dword [ebp - 0x114]
sub eax, 0xa
cmp word [eax], 2
je 0x4e0b1c
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.00405658
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
je 0x4e0b4e
mov eax, dword [ebp - 0x118]
sub eax, 0xa
cmp word [eax], 2
je 0x4e0b4e
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.00405658
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x4e0b74
mov eax, dword [ebp - 0x11c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x114]
mov edx, dword [ebp - 0x11c]
cmp word [eax + edx*2 - 2], 0x20
jne 0x4e0b98
mov edx, 0x4e6a14
mov eax, dword [ebp - 0x38]
call fcn.0043bd64
mov dword [ebp - 0x48], eax
cmp byte [ebp + 0x88], 0
je 0x4e0dac
mov eax, dword [ebp - 0x420]
sub eax, dword [ebp - 0x428]
sub eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x430]
sub edx, dword [ebp - 0x438]
cmp eax, edx
jle 0x4e0dac
cmp byte [ebp - 0xba], 0
jne 0x4e0bfa
mov eax, dword [ebp - 0x430]
sub eax, dword [ebp - 0x438]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x428]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0x420], eax
jmp 0x4e0dac
lea eax, [ebp - 0xc]
mov ecx, 0x4e6a80
mov edx, dword [ebp - 0x10]
call fcn.0040674c
mov eax, dword [ebp - 0xc]
call fcn.00406304
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x94]
push edi
lea edi, [eax - 0x10]
lea esi, [ebp - 0x438]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0xfffffdff
and eax, 0xfffffeff
or eax, 0x10000
movzx edx, byte [ebp - 0xba]
or eax, dword [edx*4 + 0x562434]
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp - 0x10]
call fcn.00406304
mov edx, dword [ebp - 0x40]
call fcn.0040e218
test eax, eax
je 0x4e0dac
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x40]
call fcn.00406424
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 8]
mov edx, dword [ebp + 0x94]
sub eax, dword [edx - 0x10]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4e0cf1
mov eax, dword [ebp - 0x120]
sub eax, 0xa
cmp word [eax], 2
je 0x4e0cf1
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0xc]
call fcn.00405658
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
je 0x4e0d17
mov eax, dword [ebp - 0x124]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x124], eax
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
or eax, 0x400
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0x124]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00406304
push eax
mov eax, dword [ebp - 0x128]
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 8]
mov edx, dword [ebp + 0x94]
sub eax, dword [edx - 0x10]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x12c]
jge 0x4e0d82
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x130], eax
jmp 0x4e0d8e
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x428]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0x420], eax
mov eax, dword [ebp + 0x34]
cmp eax, dword [ebp - 0x424]
jl 0x4e0e41
mov eax, dword [ebp + 0x34]
cmp eax, dword [ebp - 0x41c]
jge 0x4e0e41
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
cmp eax, dword [ebp + 0x38]
jge 0x4e0e41
mov eax, dword [ebp + 0x94]
add eax, 0xffffffe4
push eax
push 0
mov eax, dword [ebp + 0x94]
add eax, 0xffffffec
push eax
mov eax, dword [ebp + 0x7c]
mov edx, dword [ebp + 0x38]
sub edx, dword [eax]
push edx
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00406304
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_GetTextExtentExPointW
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x14]
cmp eax, dword [ebp - 0x98]
jne 0x4e0e2f
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x98]
add dword [eax - 0x48], edx
jmp 0x4e0e41
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x14]
mov edx, dword [ebp + 0x94]
add dword [edx - 0x48], eax
mov eax, dword [ebp - 0x420]
sub eax, dword [ebp - 0x428]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
jge 0x4e0e64
xor eax, eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp + 0x7c]
mov edx, dword [ebp - 0xa0]
add dword [eax], edx
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0x20000
cmp eax, 0x20000
jne 0x4e0e98
mov eax, dword [ebp - 0x410]
sub eax, dword [ebp + 0x38]
sub eax, dword [ebp - 0x428]
mov dword [ebp - 0x5c], eax
jmp 0x4e0ea4
mov eax, dword [ebp + 0x38]
sub eax, dword [ebp - 0x428]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x24]
movzx eax, byte [eax]
and al, byte [ebp + 0x88]
je 0x4e103f
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp - 0x41c]
sub edx, dword [eax]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x41c]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x424], eax
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x418]
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x420]
sub eax, dword [ebp - 0xa0]
mov dword [ebp - 0x428], eax
mov eax, dword [ebp + 0x30]
mov eax, dword [eax]
mov edx, dword [ebp + 0x30]
cmp eax, dword [edx + 8]
jne 0x4e0f22
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x428]
mov dword [eax], edx
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x420]
mov dword [eax + 8], edx
jmp 0x4e0f54
mov eax, dword [ebp + 0x30]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x428]
jle 0x4e0f3a
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x428]
mov dword [eax], edx
mov eax, dword [ebp + 0x30]
mov eax, dword [eax + 8]
cmp eax, dword [ebp - 0x420]
jge 0x4e0f54
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x420]
mov dword [eax + 8], edx
mov eax, dword [ebp + 0x30]
mov eax, dword [eax + 4]
mov edx, dword [ebp + 0x30]
cmp eax, dword [edx + 0xc]
jne 0x4e0f7c
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x424]
mov dword [eax + 4], edx
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x41c]
mov dword [eax + 0xc], edx
jmp 0x4e0fb0
mov eax, dword [ebp + 0x30]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x424]
jle 0x4e0f96
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x424]
mov dword [eax + 4], edx
mov eax, dword [ebp + 0x30]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x41c]
jge 0x4e0fb0
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x41c]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp - 0x428]
jl 0x4e1016
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp - 0x420]
jg 0x4e1016
mov eax, dword [ebp + 0x34]
cmp eax, dword [ebp - 0x424]
jl 0x4e1016
mov eax, dword [ebp + 0x34]
cmp eax, dword [ebp - 0x41c]
jge 0x4e1016
mov eax, dword [ebp + 0x20]
mov byte [eax], 1
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx - 0x40]
call fcn.00406278
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx - 0x28]
call fcn.00406278
mov eax, dword [ebp + 0x28]
mov byte [eax], 1
mov eax, dword [ebp + 0x28]
cmp byte [eax], 0
je 0x4e103f
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x1c]
push edi
mov esi, eax
mov edi, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [ebp + 0x58]
mov eax, dword [eax]
dec eax
mov edx, dword [ebp + 0x54]
mov dword [edx], eax
cmp byte [ebp + 0x88], 0
jne 0x4e108a
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x418]
add eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 0x410]
jle 0x4e108a
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xd4]
je 0x4e108a
cmp dword [ebp - 8], 0
je 0x4e1086
cmp dword [ebp - 0xa8], 0
je 0x4e108a
mov eax, dword [ebp - 0xa8]
cmp byte [eax + 0x3c], 0
je 0x4e108a
xor eax, eax
jmp 0x4e108c
mov al, 1
mov byte [ebp - 0xa9], al
movzx eax, byte [ebp - 0xa9]
mov byte [ebp - 0xaa], al
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4e1142
cmp byte [ebp - 0xa9], 0
je 0x4e10e6
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x418]
add eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 0x410]
jg 0x4e10d0
cmp dword [ebp - 8], 0
je 0x4e1142
cmp byte [ebp - 0xcd], 0
jne 0x4e10e6
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xd4]
jge 0x4e1142
cmp dword [ebp - 0xa8], 0
je 0x4e1142
mov eax, dword [ebp - 0xa8]
mov byte [eax + 0x3d], 1
cmp byte [ebp + 0x80], 0
je 0x4e1111
cmp byte [ebp - 0x41], 0
jne 0x4e1142
cmp dword [ebp - 0xd4], 0
jl 0x4e1142
mov eax, dword [ebp - 0xa8]
cmp byte [eax + 0x3c], 0
je 0x4e1142
mov eax, dword [ebp - 0x440]
sub eax, dword [ebp - 0x448]
cmp eax, dword [ebp - 0xa0]
jl 0x4e113b
mov eax, dword [ebp - 0xa8]
mov byte [eax + 0x3d], 0
mov byte [ebp - 0xa9], 1
movzx eax, byte [ebp - 0xa9]
xor al, 1
and al, byte [ebp + 0x80]
je 0x4e1170
cmp dword [ebp - 0xd4], 0
jl 0x4e1170
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xd4]
jg 0x4e1170
mov byte [ebp - 0xa9], 1
cmp byte [ebp - 0xcd], 0
je 0x4e118e
cmp byte [ebp - 0xa9], 0
jne 0x4e118e
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jg 0x4e1280
cmp byte [ebp - 0xcf], 0
jne 0x4e11ce
cmp byte [ebp - 0xcd], 0
jne 0x4e11ce
cmp byte [ebp - 0xa9], 0
jne 0x4e11ce
cmp byte [ebp + 0x80], 0
jne 0x4e11ce
cmp byte [ebp - 0xb8], 0
jne 0x4e11ce
cmp byte [ebp - 0x41], 0
jne 0x4e11ce
cmp byte [ebp - 0xba], 0
jne 0x4e1280
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x44]
cmp eax, dword [edx]
jge 0x4e1228
cmp byte [ebp - 0xcf], 0
jne 0x4e1228
cmp byte [ebp - 0xcd], 0
jne 0x4e11f8
mov eax, dword [ebp + 0x48]
mov eax, dword [eax]
mov edx, dword [ebp + 0x4c]
cmp eax, dword [edx]
jne 0x4e1228
cmp byte [ebp - 0xa9], 0
je 0x4e1228
cmp dword [ebp - 8], 0
je 0x4e1228
cmp byte [ebp + 0x80], 0
jne 0x4e1228
cmp byte [ebp - 0xb8], 0
jne 0x4e1228
cmp byte [ebp - 0x41], 0
jne 0x4e1228
cmp byte [ebp - 0xba], 0
jne 0x4e1280
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0xd4]
dec edx
cmp eax, edx
sete al
and al, byte [ebp + 0x80]
je 0x4e13f5
cmp byte [ebp - 0x41], 0
jne 0x4e13f5
cmp byte [ebp - 0xba], 0
je 0x4e13f5
cmp byte [ebp - 0xa9], 0
je 0x4e13f5
cmp byte [ebp - 0xaa], 0
jne 0x4e13f5
cmp dword [ebp - 8], 0
jne 0x4e13f5
lea eax, [ebp - 0x478]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.00406a24
lea eax, [ebp - 0x478]
mov edx, 0x4e6aa0
call fcn.0040668c
mov edx, dword [ebp - 0x478]
mov eax, dword [ebp - 0x38]
call fcn.0043bd64
mov ebx, eax
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
sub eax, dword [ebp - 0xa0]
add eax, dword [ebp - 0x418]
add eax, dword [ebp + 0x10]
add ebx, eax
cmp ebx, dword [ebp - 0x410]
jle 0x4e13ec
cmp byte [ebp - 0xb9], 0
je 0x4e12ec
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 0
jg 0x4e12f0
xor eax, eax
jmp 0x4e12f2
mov al, 1
mov byte [ebp - 0x41], al
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x38], 1
cmp byte [ebp - 0xcd], 0
je 0x4e132e
mov eax, dword [ebp + 0x48]
cmp dword [eax], 1
jle 0x4e132e
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 0
jle 0x4e132e
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
dec eax
mov edx, dword [ebp + 0x48]
mov dword [edx], eax
mov eax, dword [ebp + 0x18]
mov byte [eax], 1
jmp 0x4e6980
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jle 0x4e136b
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x14]
cmp byte [eax], 0
je 0x4e136b
cmp byte [ebp - 0xcd], 0
jne 0x4e136b
mov eax, dword [ebp + 0x48]
cmp dword [eax], 1
jle 0x4e136b
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
dec eax
mov edx, dword [ebp + 0x48]
mov dword [edx], eax
mov eax, dword [ebp + 0x18]
mov byte [eax], 1
jmp 0x4e6980
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x14]
cmp byte [eax], 0
jne 0x4e13c1
cmp byte [ebp - 0xcf], 0
jne 0x4e13c1
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
je 0x4e13a3
cmp byte [ebp + 0x80], 0
je 0x4e13a3
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0xd4]
dec edx
cmp eax, edx
jne 0x4e13c1
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jle 0x4e13c1
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
dec eax
mov edx, dword [ebp + 0x48]
mov dword [edx], eax
mov eax, dword [ebp + 0x18]
mov byte [eax], 1
jmp 0x4e6980
cmp byte [ebp - 0xcf], 0
jne 0x4e140a
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
je 0x4e13db
cmp byte [ebp + 0x80], 0
jne 0x4e140a
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jne 0x4e140a
mov byte [ebp - 0xa9], 1
jmp 0x4e140a
mov byte [ebp - 0xa9], 1
jmp 0x4e140a
movzx eax, byte [ebp + 0x80]
xor al, 1
or al, byte [ebp - 0xa9]
mov byte [ebp - 0xa9], al
cmp byte [ebp - 0xa9], 0
jne 0x4e160d
cmp byte [ebp + 0x80], 0
je 0x4e160d
push 0
mov eax, dword [ebp + 0x94]
movzx eax, byte [eax + 0x50]
and al, byte [ebp + 0x80]
and eax, 0x7f
mov eax, dword [eax*4 + 0x56242c]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx - 0x34]
and edx, 0xfffffdff
and edx, 0xffffffdf
and edx, 0xffff7fff
or edx, 0x10
or eax, edx
or eax, 0x400
push eax
lea eax, [ebp - 0x438]
push eax
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00406304
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp - 0x42c]
sub eax, dword [ebp - 0x434]
cmp eax, dword [ebp - 0x50]
setle byte [ebp - 0xa9]
cmp byte [ebp - 0xa9], 0
je 0x4e14d7
mov eax, dword [ebp - 0x410]
cmp eax, dword [ebp - 0x438]
jle 0x4e14c3
mov eax, dword [ebp - 0x410]
cmp eax, dword [ebp - 0x430]
jge 0x4e14cf
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
je 0x4e14cf
xor eax, eax
jmp 0x4e14d1
mov al, 1
mov byte [ebp - 0xa9], al
cmp byte [ebp - 0xa9], 0
jne 0x4e1680
cmp byte [ebp - 0xba], 0
je 0x4e1680
mov eax, dword [ebp - 0x414]
add eax, dword [ebp - 0xb0]
mov edx, dword [ebp + 0x6c]
add eax, dword [edx]
mov edx, dword [ebp + 0x70]
add eax, dword [edx]
add eax, dword [ebp - 0x50]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x8c]
cmp eax, dword [edx + 0xc]
jle 0x4e1680
lea eax, [ebp - 0x47c]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.00406a24
lea eax, [ebp - 0x47c]
mov edx, 0x4e6aa0
call fcn.0040668c
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp - 0x38]
call fcn.0043bd64
mov edx, dword [ebp + 0x7c]
mov edx, dword [edx]
sub edx, dword [ebp - 0xa0]
add edx, dword [ebp - 0x418]
add edx, dword [ebp + 0x10]
add eax, edx
cmp eax, dword [ebp - 0x410]
jle 0x4e1591
cmp dword [ebp - 0xa8], 0
je 0x4e1680
mov eax, dword [ebp - 0xa8]
cmp byte [eax + 0x3c], 0
je 0x4e1680
mov byte [ebp - 0xa9], 1
cmp byte [ebp - 0x41], 0
jne 0x4e1680
cmp byte [ebp - 0xaa], 0
jne 0x4e1680
cmp dword [ebp - 0xa8], 0
je 0x4e1680
cmp dword [ebp - 0xd4], 0
jge 0x4e1680
mov eax, dword [ebp - 0xa8]
cmp byte [eax + 0x3c], 0
je 0x4e1680
mov eax, dword [ebp - 0xa8]
mov byte [eax + 0x3d], 0
mov eax, dword [ebp + 0x8c]
mov edx, dword [ebp - 0xa0]
add dword [eax + 8], edx
mov eax, dword [ebp + 0x44]
cmp dword [eax], 0
jge 0x4e6980
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x44]
mov dword [edx], eax
jmp 0x4e6980
cmp byte [ebp + 0x88], 0
jne 0x4e1680
cmp byte [ebp + 0x80], 0
je 0x4e1625
cmp byte [ebp - 0x41], 0
jne 0x4e1680
cmp byte [ebp - 0xaa], 0
jne 0x4e1680
cmp dword [ebp - 0xa8], 0
je 0x4e1680
cmp dword [ebp - 0xd4], 0
jge 0x4e1680
mov eax, dword [ebp - 0xa8]
cmp byte [eax + 0x3c], 0
je 0x4e1680
mov eax, dword [ebp - 0xa8]
mov byte [eax + 0x3d], 0
mov eax, dword [ebp + 0x8c]
mov edx, dword [ebp - 0xa0]
add dword [eax + 8], edx
mov eax, dword [ebp + 0x44]
cmp dword [eax], 0
jge 0x4e6980
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x44]
mov dword [edx], eax
jmp 0x4e6980
movzx eax, byte [ebp - 0xa9]
and al, byte [ebp + 0x80]
je 0x4e171d
cmp byte [ebp - 0x41], 0
jne 0x4e171d
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x418]
add eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 0x410]
jl 0x4e171d
mov eax, dword [edi]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
je 0x4e16e2
mov eax, dword [ebp - 0x134]
sub eax, 0xa
cmp word [eax], 2
je 0x4e16e2
mov edx, dword [edi]
mov eax, edi
call fcn.00405658
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0
je 0x4e1708
mov eax, dword [ebp - 0x138]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0x138]
setl byte [ebp - 0x139]
jmp 0x4e1724
mov byte [ebp - 0x139], 0
cmp byte [ebp - 0x139], 0
je 0x4e1743
mov eax, dword [edi]
mov edx, dword [ebp - 0x98]
cmp word [eax + edx*2], 0x3c
sete byte [ebp - 0x13a]
jmp 0x4e174a
mov byte [ebp - 0x13a], 0
cmp byte [ebp - 0x13a], 0
jne 0x4e1781
cmp byte [ebp + 0x80], 0
je 0x4e1781
cmp byte [ebp - 0x41], 0
jne 0x4e177c
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x418]
add eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 0x410]
jge 0x4e177c
xor eax, eax
jmp 0x4e177e
mov al, 1
mov byte [ebp - 0x41], al
movzx eax, byte [ebp - 0xa9]
mov byte [ebp - 0xa9], al
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x10]
call fcn.0040668c
cmp byte [ebp + 0x80], 0
je 0x4e181f
cmp byte [ebp - 0x41], 0
jne 0x4e17b1
cmp byte [ebp + 0x84], 0
jne 0x4e181f
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
jl 0x4e181f
mov byte [ebp - 0xce], 0
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
je 0x4e17e8
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 1
jne 0x4e17e8
mov eax, dword [ebp + 0x2c]
cmp byte [eax], 0
je 0x4e17e8
cmp byte [ebp - 0xa9], 0
jne 0x4e17e8
mov byte [ebp - 0xce], 1
mov eax, dword [ebp + 0x5c]
dec dword [eax]
mov eax, dword [ebp + 0x2c]
mov byte [eax], 0
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
jg 0x4e184d
cmp byte [ebp - 0xce], 0
jne 0x4e184d
mov byte [ebp - 0x41], 0
mov byte [ebp - 0xa9], 1
mov byte [ebp + 0x80], 0
mov byte [ebp - 0xb8], 1
jmp 0x4e184d
cmp byte [ebp - 0xb8], 0
je 0x4e184d
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jle 0x4e1835
mov eax, dword [ebp + 0x4c]
dec dword [eax]
mov byte [ebp - 0xb8], 0
mov byte [ebp - 0x41], 0
movzx eax, byte [ebp - 0xb9]
mov byte [ebp + 0x80], al
cmp byte [ebp - 0xa9], 0
jne 0x4e1869
cmp byte [ebp + 0x80], 0
jne 0x4e18e3
cmp byte [ebp - 0x41], 0
jne 0x4e18e3
lea eax, [ebp - 0x480]
push eax
mov eax, dword [edi]
mov ecx, dword [ebp - 0x98]
mov edx, 1
call fcn.00406a24
mov edx, dword [ebp - 0x480]
lea eax, [ebp - 0x14]
call fcn.0040668c
cmp byte [ebp - 0xba], 1
je 0x4e18a4
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 8]
call fcn.0040668c
mov eax, edi
mov ecx, dword [ebp - 0x98]
mov edx, 1
call fcn.00406af4
cmp byte [ebp - 0x41], 0
je 0x4e18c7
mov eax, dword [ebp + 0x70]
mov edx, dword [ebp - 0xc4]
mov dword [eax], edx
mov eax, dword [ebp + 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xcc], eax
jmp 0x4e195e
mov eax, dword [ebp + 0x4c]
dec dword [eax]
cmp dword [ebp - 0xa8], 0
je 0x4e18fb
mov eax, dword [ebp - 0xa8]
mov byte [eax + 0x3d], 0
mov byte [ebp - 0x41], 1
mov eax, dword [ebp + 0x7c]
mov edx, dword [ebp - 0xa0]
sub dword [eax], edx
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp - 0xb0]
mov dword [eax], edx
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp - 0xb4]
mov dword [eax], edx
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4e1933
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
call fcn.00406278
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
mov edx, dword [ebp - 4]
call fcn.00406278
mov eax, dword [ebp + 0x6c]
mov edx, dword [ebp - 0xc8]
mov dword [eax], edx
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x18], edx
mov edx, dword [edi]
mov eax, 0x4e69f4
call fcn.00406d3c
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 1
jne 0x4e19da
mov eax, dword [edi]
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
je 0x4e19a2
mov eax, dword [ebp - 0x140]
sub eax, 0xa
cmp word [eax], 2
je 0x4e19a2
mov edx, dword [edi]
mov eax, edi
call fcn.00405658
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
je 0x4e19c8
mov eax, dword [ebp - 0x144]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 2
jg 0x4e19da
mov eax, edi
xor edx, edx
call fcn.00406278
cmp byte [ebp - 0x41], 0
jne 0x4e684a
cmp dword [ebp - 0x78], 1
jne 0x4e684a
mov eax, dword [edi]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
je 0x4e1a1d
mov eax, dword [ebp - 0x148]
sub eax, 0xa
cmp word [eax], 2
je 0x4e1a1d
mov edx, dword [edi]
mov eax, edi
call fcn.00405658
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0
je 0x4e1a43
mov eax, dword [ebp - 0x14c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 2
jle 0x4e684a
mov eax, dword [edi]
cmp word [eax + 2], 0x2f
jne 0x4e1abe
mov eax, dword [edi]
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
je 0x4e1a88
mov eax, dword [ebp - 0x150]
sub eax, 0xa
cmp word [eax], 2
je 0x4e1a88
mov edx, dword [edi]
mov eax, edi
call fcn.00405658
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
je 0x4e1aae
mov eax, dword [ebp - 0x154]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 3
setg byte [ebp - 0x155]
jmp 0x4e1ac5
mov byte [ebp - 0x155], 0
cmp byte [ebp - 0x155], 0
je 0x4e227c
mov eax, dword [edi]
movzx eax, word [eax + 4]
mov word [ebp - 0x158], ax
movzx eax, word [ebp - 0x158]
mov word [ebp - 0x15a], ax
movzx eax, word [ebp - 0x158]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4e1b0f
movzx eax, word [ebp - 0x158]
and ax, 0xffdf
mov word [ebp - 0x15a], ax
movzx eax, word [ebp - 0x15a]
add eax, 0xffffffbf
cmp eax, 0x19
ja case.0x4e22cc.67
jmp dword [eax*4 + 0x4e1b29]
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je case.0x4e22cc.67
cmp byte [ebp + 0x84], 0
jne 0x4e1bff
mov eax, dword [ebp + 0x94]
cmp dword [eax - 0x4c], 0x1fffffff
jne 0x4e1bc4
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp 0x4e1bff
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x4c]
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 0x1fffffff
jne 0x4e1bee
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp 0x4e1bff
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x160]
call fcn.0043b570
mov eax, dword [ebp - 0x3c]
xor edx, edx
call fcn.00406278
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x58], 0
jne 0x4e1c34
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x74], 0
jl 0x4e1c51
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x74]
mov edx, dword [ebp + 0x58]
mov edx, dword [edx]
dec edx
cmp eax, edx
jne 0x4e1c51
cmp byte [ebp + 0x84], 0
jne 0x4e1c51
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0x50]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043aa44
cmp byte [ebp + 0x84], 0
jne 0x4e1c7d
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne 0x4e1c7d
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x54]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043aa44
cmp byte [ebp + 0x88], 0
je 0x4e1d30
mov eax, dword [ebp + 0x28]
cmp byte [eax], 0
je 0x4e1d0b
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x40c]
mov dword [eax - 0x58], edx
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x418]
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x5c], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x60]
cmp eax, dword [ebp - 0x414]
je 0x4e1ce4
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x418]
mov dword [eax - 0x64], edx
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x414]
mov dword [eax - 0x60], edx
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x1c]
push edi
mov esi, eax
mov edi, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [ebp + 0x58]
mov eax, dword [eax]
dec eax
mov edx, dword [ebp + 0x54]
mov dword [edx], eax
mov eax, dword [ebp + 0x28]
mov byte [eax], 0
push 0
lea eax, [ebp - 0x490]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00408df8
mov eax, dword [ebp + 0x30]
push edi
lea esi, [ebp - 0x490]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [ebp + 0x58]
cmp dword [eax], 0
jle 0x4e1d8f
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x30]
call fcn.00426870
mov edx, dword [ebp + 0x58]
cmp eax, dword [edx]
jl 0x4e1d8f
mov edx, dword [ebp + 0x58]
mov edx, dword [edx]
dec edx
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x30]
call fcn.004ea3a8
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xa8]
cmp dword [eax + 0x30], 0
jne 0x4e1d8f
movzx eax, byte [ebp - 0xb9]
mov byte [ebp + 0x80], al
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x78], 0
jl 0x4e1e07
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x78]
mov edx, dword [ebp + 0x58]
mov edx, dword [edx]
dec edx
cmp eax, edx
jne 0x4e1e07
cmp byte [ebp + 0x84], 0
jne 0x4e1e07
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x428]
mov dword [eax - 0x6c], edx
mov eax, dword [ebp + 0x60]
mov edx, dword [ebp - 0x41c]
sub edx, dword [eax]
mov eax, dword [ebp + 0x94]
mov dword [eax - 0x68], edx
mov eax, dword [ebp - 0x38]
call fcn.004df520
mov edx, dword [ebp + 0x94]
mov edx, dword [edx - 0x68]
sub edx, eax
mov eax, dword [ebp + 0x94]
mov dword [eax - 0x70], edx
mov eax, dword [ebp + 0x94]
lea edx, [eax - 0x74]
mov eax, dword [ebp - 0x38]
call fcn.0043b978
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0x78]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
call dword [ecx + 8]
xor eax, eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0x5c]
mov dword [eax], 0xffffffff
mov eax, dword [ebp + 0x24]
mov byte [eax], 0
cmp byte [ebp - 0xb8], 0
je case.0x4e22cc.67
mov byte [ebp - 0xb8], 0
mov byte [ebp - 0x41], 0
movzx eax, byte [ebp - 0xb9]
mov byte [ebp + 0x80], al
jmp case.0x4e22cc.67
cmp byte [ebp + 0x84], 0
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x41], 0
jmp case.0x4e22cc.67
mov eax, dword [edi]
cmp word [eax + 6], 0x3e
je 0x4e1e9d
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x54]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043aa44
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043adf4
movzx edx, byte [0x4e6aa8]
not edx
and dl, al
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043ae00
jmp case.0x4e22cc.67
mov eax, dword [edi]
movzx eax, word [eax + 6]
mov word [ebp - 0x162], ax
movzx eax, word [ebp - 0x162]
mov word [ebp - 0x164], ax
movzx eax, word [ebp - 0x162]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4e1f00
movzx eax, word [ebp - 0x162]
and ax, 0xffdf
mov word [ebp - 0x164], ax
movzx eax, word [ebp - 0x164]
mov word [ebp - 0xa2], ax
cmp word [ebp - 0xa2], 0x54
jne 0x4e1f3e
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043adf4
movzx edx, byte [0x4e6aac]
not edx
and dl, al
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043ae00
jmp case.0x4e22cc.67
cmp word [ebp - 0xa2], 0x55
jne 0x4e1f61
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x36], 0
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x35], 0
jmp case.0x4e22cc.67
cmp word [ebp - 0xa2], 0x50
jne 0x4e1fb8
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x7c]
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0x1fffffff
jne 0x4e1f95
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp 0x4e1fa6
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x168]
call fcn.0043b570
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp case.0x4e22cc.67
cmp word [ebp - 0xa2], 0x48
jne 0x4e1fd1
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x39], 0
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043adf4
movzx edx, byte [0x4e6aac]
not edx
and dl, al
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043ae00
jmp case.0x4e22cc.67
lea edx, [ebp - 0x494]
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x54]
call fcn.0043ad08
mov edx, dword [ebp - 0x494]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043ad5c
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x54]
call fcn.0043acc8
mov edx, eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043acd0
cmp byte [ebp + 0x84], 0
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x54]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043aa44
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x7c]
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0x1fffffff
jne 0x4e2098
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x16c]
call fcn.0043b570
jmp case.0x4e22cc.67
cmp byte [ebp + 0x84], 0
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0x80]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043aa44
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x84]
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0x1fffffff
jne 0x4e20ff
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x170]
call fcn.0043b570
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043adf4
movzx edx, byte [0x4e6ab0]
not edx
and dl, al
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043ae00
jmp case.0x4e22cc.67
mov byte [ebp - 0x41], 1
jmp case.0x4e22cc.67
mov eax, dword [edi]
cmp word [eax + 6], 0x3e
je 0x4e216c
mov eax, dword [ebp + 0x50]
cmp dword [eax], 0
jle 0x4e216c
mov eax, dword [ebp + 0x50]
dec dword [eax]
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x85], 0
jmp case.0x4e22cc.67
mov eax, dword [ebp + 0xc]
xor edx, edx
mov dword [eax], edx
jmp case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
movzx eax, byte [eax - 0x86]
mov edx, dword [ebp + 0x40]
mov byte [edx], al
mov byte [ebp - 0x41], 1
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x29], 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
mov edx, 0x4e6ac0
call fcn.0040668c
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
cmp byte [ebp + 0x84], 0
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x8c]
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x174], 0x1fffffff
jne 0x4e2201
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x174]
call fcn.0043b570
jmp case.0x4e22cc.67
mov eax, dword [edi]
cmp word [eax + 6], 0x3e
je 0x4e2232
mov eax, dword [ebp + 0x50]
cmp dword [eax], 0
jle 0x4e2232
mov eax, dword [ebp + 0x50]
dec dword [eax]
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043adf4
movzx edx, byte [0x4e6ac8]
not edx
and dl, al
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043ae00
jmp case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
push eax
mov eax, dword [ebp - 0x38]
call fcn.004df604
pop ecx
jmp case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x37], 0
jmp case.0x4e22cc.67
mov eax, dword [edi]
movzx eax, word [eax + 2]
mov word [ebp - 0x176], ax
movzx eax, word [ebp - 0x176]
mov word [ebp - 0x178], ax
movzx eax, word [ebp - 0x176]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4e22b9
movzx eax, word [ebp - 0x176]
and ax, 0xffdf
mov word [ebp - 0x178], ax
movzx eax, word [ebp - 0x178]
add eax, 0xffffffbf
cmp eax, 0x19
ja case.0x4e22cc.67
jmp dword [eax*4 + 0x4e22d3]
mov eax, dword [ebp - 0x38]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x78]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x78], 0
jl 0x4e2392
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x78]
mov edx, dword [ebp + 0x58]
cmp eax, dword [edx]
jne 0x4e2392
cmp byte [ebp + 0x84], 0
jne 0x4e2392
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x428]
mov dword [eax - 0x74], edx
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x424]
mov dword [eax - 0x70], edx
cmp byte [ebp + 0x84], 0
jne 0x4e23d6
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b6c8
cmp al, 1
jne 0x4e23b6
mov dword [ebp - 0x17c], 0x1fffffff
jmp 0x4e23c7
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b568
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x17c]
mov dword [eax - 0x4c], edx
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x58], 0
jne 0x4e2406
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x74], 0
jl 0x4e249b
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x74]
mov edx, dword [ebp + 0x58]
cmp eax, dword [edx]
jne 0x4e249b
cmp byte [ebp + 0x84], 0
jne 0x4e249b
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x44], 0x1fffffff
je 0x4e2466
cmp byte [ebp + 0x84], 0
jne 0x4e2466
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0x1fffffff
jne 0x4e2455
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp 0x4e2466
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x180]
call fcn.0043b570
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x50], eax
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x40], 0x1fffffff
je 0x4e249b
mov eax, dword [ebp + 0x94]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043aa44
mov eax, dword [ebp - 0x3c]
xor edx, edx
call fcn.00406278
mov eax, dword [ebp + 0x2c]
mov byte [eax], 1
mov edx, dword [edi]
mov eax, 0x4e6a04
call fcn.00406d3c
inc eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0x5c]
mov dword [eax], 0xffffffff
xor eax, eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0x58]
cmp dword [eax], 0
jl 0x4e26d0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x30]
call fcn.00426870
mov edx, dword [ebp + 0x58]
cmp eax, dword [edx]
jle 0x4e26d0
mov edx, dword [ebp + 0x58]
mov edx, dword [edx]
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x30]
call fcn.004ea3a8
mov dword [ebp - 0xa8], eax
cmp byte [ebp + 0x84], 0
je 0x4e25e9
cmp byte [ebp + 0x88], 0
jne 0x4e262a
mov eax, dword [ebp - 0xa8]
mov byte [eax + 0x3d], 0
mov edx, dword [edi]
mov ecx, dword [ebp - 0x70]
mov eax, 0x4e6ad8
call fcn.0040ac0c
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jne 0x4e25a5
mov eax, dword [edi]
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x184], 0
je 0x4e2575
mov eax, dword [ebp - 0x184]
sub eax, 0xa
cmp word [eax], 2
je 0x4e2575
mov edx, dword [edi]
mov eax, edi
call fcn.00405658
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], 0
je 0x4e259b
mov eax, dword [ebp - 0x188]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x188]
inc eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xa8]
add eax, 0x40
push eax
mov ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x70]
mov eax, dword [edi]
mov edx, dword [ebp - 0x70]
call fcn.00406a24
lea edx, [ebp - 0x498]
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x40]
call fcn.004df3bc
mov edx, dword [ebp - 0x498]
mov eax, dword [ebp - 0xa8]
add eax, 0x40
call fcn.00406278
jmp 0x4e262a
mov eax, dword [ebp - 0xa8]
cmp dword [eax + 0x20], 0x1fffffff
je 0x4e262a
mov eax, dword [ebp - 0xa8]
cmp dword [eax + 0x20], 0x1fffffff
jne 0x4e2616
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp 0x4e262a
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b570
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
call dword [ecx + 8]
cmp byte [ebp + 0x84], 0
jne 0x4e2677
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x58], 0
jne 0x4e2663
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x74]
mov edx, dword [ebp + 0x58]
cmp eax, dword [edx]
jne 0x4e2677
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp + 0x5c]
mov dword [edx], eax
mov eax, dword [ebp - 0xa8]
cmp dword [eax + 0x38], 0xffffd8f1
je 0x4e26c1
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp + 0x70]
mov dword [edx], eax
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp + 0x6c]
mov dword [edx], eax
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xc4], eax
jmp 0x4e26d0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x70]
sub ecx, 2
mov eax, dword [edi]
mov edx, 3
call fcn.00406a24
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x24]
call fcn.0040c484
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6af0
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 0
jle 0x4e27b3
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
je 0x4e2749
mov eax, dword [ebp - 0x190]
sub eax, 0xa
cmp word [eax], 2
je 0x4e2749
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 0
je 0x4e276f
mov eax, dword [ebp - 0x194]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x194], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 7
mov ecx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
lea edx, [ebp - 0x49c]
mov eax, dword [ebp - 0x28]
call fcn.004defd0
mov edx, dword [ebp - 0x49c]
lea eax, [ebp - 0x28]
call fcn.004062cc
or edx, 0xffffffff
mov eax, dword [ebp - 0x28]
call fcn.0040d154
mov edx, dword [ebp + 0x5c]
mov dword [edx], eax
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6b0c
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
jle 0x4e2881
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x24]
call fcn.004062cc
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
je 0x4e2816
mov eax, dword [ebp - 0x19c]
sub eax, 0xa
cmp word [eax], 2
je 0x4e2816
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0
je 0x4e283c
mov eax, dword [ebp - 0x1a0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
lea edx, [ebp - 0x4a0]
mov eax, dword [ebp - 0x28]
call fcn.004defd0
mov edx, dword [ebp - 0x4a0]
lea eax, [ebp - 0x28]
call fcn.004062cc
mov eax, dword [ebp + 0x94]
add eax, 0xffffffc0
mov edx, dword [ebp - 0x28]
call fcn.004062cc
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6b24
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
jle 0x4e2951
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x24]
call fcn.004062cc
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
je 0x4e28e4
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa
cmp word [eax], 2
je 0x4e28e4
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ac], eax
cmp dword [ebp - 0x1ac], 0
je 0x4e290a
mov eax, dword [ebp - 0x1ac]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 5
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
lea edx, [ebp - 0x4a4]
mov eax, dword [ebp - 0x28]
call fcn.004defd0
mov edx, dword [ebp - 0x4a4]
lea eax, [ebp - 0x28]
call fcn.004062cc
mov eax, dword [ebp + 0x94]
add eax, 0xffffffd8
mov edx, dword [ebp - 0x28]
call fcn.004062cc
jmp 0x4e2961
mov eax, dword [ebp + 0x94]
add eax, 0xffffffd8
xor edx, edx
call fcn.004062cc
mov eax, dword [ebp + 0x24]
mov byte [eax], 1
cmp dword [ebp - 0xa8], 0
je 0x4e2993
mov eax, dword [ebp - 0xa8]
cmp byte [eax + 0x3c], 0
je 0x4e2993
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x30]
sub eax, 2
jb 0x4e2993
mov eax, dword [ebp + 0x5c]
mov dword [eax], 1
mov eax, dword [ebp + 0x5c]
mov eax, dword [eax]
sub eax, 1
jb 0x4e29a1
je 0x4e29aa
jmp 0x4e29c0
mov byte [ebp + 0x80], 0
jmp 0x4e29c0
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 0
jne 0x4e29c0
mov byte [ebp + 0x80], 0
mov byte [ebp - 0xb8], 1
cmp byte [ebp + 0x88], 0
je 0x4e2a1a
mov eax, dword [ebp - 0x414]
push eax
lea eax, [ebp - 0x490]
push eax
mov ecx, dword [ebp + 0x7c]
mov ecx, dword [ecx]
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x414]
call fcn.00408df8
mov eax, dword [ebp + 0x30]
push edi
lea esi, [ebp - 0x490]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x64], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x414]
mov dword [eax - 0x60], edx
mov eax, dword [ebp + 0x58]
inc dword [eax]
jmp case.0x4e22cc.67
mov eax, dword [edi]
movzx eax, word [eax + 4]
mov word [ebp - 0x1ae], ax
movzx eax, word [ebp - 0x1ae]
mov word [ebp - 0x1b0], ax
movzx eax, word [ebp - 0x1ae]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4e2a61
movzx eax, word [ebp - 0x1ae]
and ax, 0xffdf
mov word [ebp - 0x1b0], ax
movzx eax, word [ebp - 0x1b0]
mov word [ebp - 0xa2], ax
movzx eax, word [ebp - 0xa2]
sub ax, 0x3e
je 0x4e2a9b
sub ax, 0xe
je 0x4e2c6f
sub ax, 3
je 0x4e2c9b
sub ax, 3
je 0x4e2abe
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043adf4
mov edx, eax
or dl, byte [0x4e6aa8]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043ae00
jmp case.0x4e22cc.67
mov byte [ebp - 0x41], 1
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
mov edx, 0x4e6ac0
call fcn.0040668c
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
mov eax, dword [edi]
mov dword [ebp - 0x1b4], eax
mov edx, dword [ebp - 0x1b4]
mov eax, 0x4e6a04
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0
jle 0x4e2bf7
lea eax, [ebp - 0x4a8]
push eax
mov ecx, dword [ebp - 0x78]
sub ecx, 4
mov eax, dword [edi]
mov edx, 4
call fcn.00406a24
mov eax, dword [ebp - 0x4a8]
lea edx, [ebp - 0x20]
call fcn.0040c484
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6b3c
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], 0
jle 0x4e2bf7
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0
je 0x4e2b8e
mov eax, dword [ebp - 0x1c0]
sub eax, 0xa
cmp word [eax], 2
je 0x4e2b8e
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x1c4], 0
je 0x4e2bb4
mov eax, dword [ebp - 0x1c4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1c4], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 9
mov ecx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
lea edx, [ebp - 0x4ac]
mov eax, dword [ebp - 0x28]
call fcn.004defd0
mov edx, dword [ebp - 0x4ac]
lea eax, [ebp - 0x28]
call fcn.004062cc
xor edx, edx
mov eax, dword [ebp - 0x28]
call fcn.0040d154
mov edx, dword [ebp + 0x70]
mov dword [edx], eax
cmp dword [ebp - 0x9c], 0
sete al
and al, byte [ebp - 0xb7]
je case.0x4e22cc.67
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp - 0x50]
mov dword [eax], edx
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp - 0x4c]
mov dword [eax], edx
mov eax, dword [ebp + 0x4c]
inc dword [eax]
cmp byte [ebp + 0x84], 0
je case.0x4e22cc.67
cmp byte [ebp + 0x88], 0
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x14]
cmp byte [eax], 0
je case.0x4e22cc.67
mov eax, dword [ebp + 0x48]
cmp dword [eax], 0
jle case.0x4e22cc.67
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
cmp eax, dword [edx]
je 0x4e0a32
jmp case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x5c], 0
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0x90]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043aa44
jmp case.0x4e22cc.67
lea eax, [ebp - 0x4b0]
push eax
mov edx, dword [edi]
mov eax, 0x4e6a04
call fcn.00406d3c
mov ecx, eax
mov eax, dword [edi]
mov edx, 1
call fcn.00406a24
mov edx, dword [ebp - 0x4b0]
lea eax, [ebp - 0x14]
call fcn.0040668c
cmp byte [ebp + 0x84], 0
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne case.0x4e22cc.67
lea eax, [ebp - 0x4b4]
push eax
mov edx, dword [edi]
mov eax, 0x4e6a04
call fcn.00406d3c
mov ecx, eax
dec ecx
mov eax, dword [edi]
mov edx, 6
call fcn.00406a24
mov eax, dword [ebp - 0x4b4]
lea edx, [ebp - 0x20]
call fcn.0040c484
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6b5c
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0
jle 0x4e3159
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1cc], eax
cmp dword [ebp - 0x1cc], 0
je 0x4e2d6f
mov eax, dword [ebp - 0x1cc]
sub eax, 0xa
cmp word [eax], 2
je 0x4e2d6f
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0
je 0x4e2d95
mov eax, dword [ebp - 0x1d0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1d0], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 0xa
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
lea edx, [ebp - 0x4b8]
mov eax, dword [ebp - 0x28]
call fcn.004defd0
mov edx, dword [ebp - 0x4b8]
lea eax, [ebp - 0x28]
call fcn.004062cc
lea edx, [ebp - 0x4bc]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x4bc]
mov eax, 0x4e6b80
call fcn.00406d3c
test eax, eax
jle 0x4e2dfd
lea eax, [ebp - 0x28]
mov ecx, 4
mov edx, 1
call fcn.00406af4
lea edx, [ebp - 0x4c0]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x4c0]
mov eax, 0x4e6b98
call fcn.00406d3c
test eax, eax
jle 0x4e2ef7
lea eax, [ebp - 0x28]
mov ecx, 5
mov edx, 1
call fcn.00406af4
mov eax, dword [ebp - 0x28]
push eax
push 0
movzx eax, byte [ebp + 0x84]
xor al, 1
push eax
mov eax, dword [ebp + 0x94]
movzx eax, byte [eax + 0x64]
push eax
mov eax, dword [ebp + 0x94]
push dword [eax + 0x4c]
push dword [eax + 0x48]
lea eax, [ebp - 0x4c8]
push eax
mov ecx, dword [ebp - 0x424]
mov edx, dword [ebp - 0x428]
mov eax, dword [ebp - 0x38]
call fcn.004de8c0
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x4c8]
mov dword [eax - 0x98], edx
mov edx, dword [ebp - 0x4c4]
mov dword [eax - 0x94], edx
push 0x60
push 0x58
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x98]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x98], eax
push 0x60
push 0x5a
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x94]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x94], eax
lea edx, [ebp - 0x4cc]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x4cc]
mov eax, 0x4e6bb0
call fcn.00406d3c
test eax, eax
jle 0x4e2ff1
lea eax, [ebp - 0x28]
mov ecx, 5
mov edx, 1
call fcn.00406af4
mov eax, dword [ebp - 0x28]
push eax
push 1
movzx eax, byte [ebp + 0x84]
xor al, 1
push eax
mov eax, dword [ebp + 0x94]
movzx eax, byte [eax + 0x64]
push eax
mov eax, dword [ebp + 0x94]
push dword [eax + 0x4c]
push dword [eax + 0x48]
lea eax, [ebp - 0x4c8]
push eax
mov ecx, dword [ebp - 0x424]
mov edx, dword [ebp - 0x428]
mov eax, dword [ebp - 0x38]
call fcn.004de8c0
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x4c8]
mov dword [eax - 0x98], edx
mov edx, dword [ebp - 0x4c4]
mov dword [eax - 0x94], edx
push 0x60
push 0x58
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x98]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x98], eax
push 0x60
push 0x5a
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x94]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x94], eax
xor eax, eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x4e3159
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x4e3159
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x30]
test eax, eax
jle 0x4e3159
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x24]
test eax, eax
jle 0x4e3159
xor eax, eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax]
push eax
call sub.gdi32.dll_CreateRectRgn
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x9c], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x9c]
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_SelectClipRgn
jmp 0x4e3110
xor eax, eax
mov dword [ebp - 0x60], eax
jmp 0x4e30e3
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [ebp + 0x94]
mov ecx, dword [eax + 0x8c]
mov ecx, dword [ecx + 4]
add ecx, dword [ebp - 0x64]
mov eax, dword [ebp + 0x94]
mov edx, dword [eax + 0x8c]
mov edx, dword [edx]
add edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x38]
call fcn.0043b8cc
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x30]
add dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 8]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x8c]
sub eax, dword [edx]
cmp eax, dword [ebp - 0x60]
jg 0x4e30a9
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x24]
add dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x8c]
sub eax, dword [edx + 4]
cmp eax, dword [ebp - 0x64]
jg 0x4e30a2
push 0
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_SelectClipRgn
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x9c]
push eax
call sub.gdi32.dll_DeleteObject
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6bc8
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1d4], eax
cmp dword [ebp - 0x1d4], 0
jle 0x4e361a
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1d8], eax
cmp dword [ebp - 0x1d8], 0
je 0x4e31b1
mov eax, dword [ebp - 0x1d8]
sub eax, 0xa
cmp word [eax], 2
je 0x4e31b1
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0
je 0x4e31d7
mov eax, dword [ebp - 0x1dc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1dc], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 0xa
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1e0], 0
je 0x4e3221
mov eax, dword [ebp - 0x1e0]
sub eax, 0xa
cmp word [eax], 2
je 0x4e3221
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
call fcn.00405658
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1e4], eax
cmp dword [ebp - 0x1e4], 0
je 0x4e3247
mov eax, dword [ebp - 0x1e4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea edx, [ebp - 0x4d0]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x4d0]
mov eax, 0x4e6b80
call fcn.00406d3c
test eax, eax
jle 0x4e32be
lea eax, [ebp - 0x28]
mov ecx, 4
mov edx, 1
call fcn.00406af4
lea edx, [ebp - 0x4d4]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x4d4]
mov eax, 0x4e6b98
call fcn.00406d3c
test eax, eax
jle 0x4e33b8
lea eax, [ebp - 0x28]
mov ecx, 5
mov edx, 1
call fcn.00406af4
mov eax, dword [ebp - 0x28]
push eax
push 0
movzx eax, byte [ebp + 0x84]
xor al, 1
push eax
mov eax, dword [ebp + 0x94]
movzx eax, byte [eax + 0x64]
push eax
mov eax, dword [ebp + 0x94]
push dword [eax + 0x4c]
push dword [eax + 0x48]
lea eax, [ebp - 0x4c8]
push eax
mov ecx, dword [ebp - 0x424]
mov edx, dword [ebp - 0x428]
mov eax, dword [ebp - 0x38]
call fcn.004de8c0
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x4c8]
mov dword [eax - 0x98], edx
mov edx, dword [ebp - 0x4c4]
mov dword [eax - 0x94], edx
push 0x60
push 0x58
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x98]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x98], eax
push 0x60
push 0x5a
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x94]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x94], eax
lea edx, [ebp - 0x4d8]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x4d8]
mov eax, 0x4e6bb0
call fcn.00406d3c
test eax, eax
jle 0x4e34b2
lea eax, [ebp - 0x28]
mov ecx, 5
mov edx, 1
call fcn.00406af4
mov eax, dword [ebp - 0x28]
push eax
push 1
movzx eax, byte [ebp + 0x84]
xor al, 1
push eax
mov eax, dword [ebp + 0x94]
movzx eax, byte [eax + 0x64]
push eax
mov eax, dword [ebp + 0x94]
push dword [eax + 0x4c]
push dword [eax + 0x48]
lea eax, [ebp - 0x4c8]
push eax
mov ecx, dword [ebp - 0x424]
mov edx, dword [ebp - 0x428]
mov eax, dword [ebp - 0x38]
call fcn.004de8c0
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x4c8]
mov dword [eax - 0x98], edx
mov edx, dword [ebp - 0x4c4]
mov dword [eax - 0x94], edx
push 0x60
push 0x58
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x98]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x98], eax
push 0x60
push 0x5a
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x94]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x94], eax
xor eax, eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x4e361a
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x4e361a
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x30]
test eax, eax
jle 0x4e361a
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x24]
test eax, eax
jle 0x4e361a
xor eax, eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax]
push eax
call sub.gdi32.dll_CreateRectRgn
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x9c], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x9c]
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_SelectClipRgn
jmp 0x4e35d1
xor eax, eax
mov dword [ebp - 0x60], eax
jmp 0x4e35a4
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [ebp + 0x94]
mov ecx, dword [eax + 0x8c]
mov ecx, dword [ecx + 4]
add ecx, dword [ebp - 0x64]
mov eax, dword [ebp + 0x94]
mov edx, dword [eax + 0x8c]
mov edx, dword [edx]
add edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x38]
call fcn.0043b8cc
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x30]
add dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 8]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x8c]
sub eax, dword [edx]
cmp eax, dword [ebp - 0x60]
jg 0x4e356a
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x24]
add dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x8c]
sub eax, dword [edx + 4]
cmp eax, dword [ebp - 0x64]
jg 0x4e3563
push 0
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_SelectClipRgn
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x9c]
push eax
call sub.gdi32.dll_DeleteObject
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6bf8
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1e8], eax
cmp dword [ebp - 0x1e8], 0
jle 0x4e3957
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1ec], eax
cmp dword [ebp - 0x1ec], 0
je 0x4e3672
mov eax, dword [ebp - 0x1ec]
sub eax, 0xa
cmp word [eax], 2
je 0x4e3672
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x1f0], eax
cmp dword [ebp - 0x1f0], 0
je 0x4e3698
mov eax, dword [ebp - 0x1f0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1f0], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 0xa
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1f4], eax
cmp dword [ebp - 0x1f4], 0
je 0x4e36e2
mov eax, dword [ebp - 0x1f4]
sub eax, 0xa
cmp word [eax], 2
je 0x4e36e2
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
call fcn.00405658
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
je 0x4e3708
mov eax, dword [ebp - 0x1f8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1f8], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea edx, [ebp - 0x4dc]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x4dc]
mov eax, 0x4e6b80
call fcn.00406d3c
test eax, eax
jle 0x4e377f
lea eax, [ebp - 0x28]
mov ecx, 4
mov edx, 1
call fcn.00406af4
lea edx, [ebp - 0x4e0]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x4e0]
mov eax, 0x4e6b98
call fcn.00406d3c
test eax, eax
jle 0x4e37b3
lea eax, [ebp - 0x28]
mov ecx, 5
mov edx, 1
call fcn.00406af4
lea edx, [ebp - 0x4e4]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x4e4]
mov eax, 0x4e6bb0
call fcn.00406d3c
test eax, eax
jle 0x4e37e7
lea eax, [ebp - 0x28]
mov ecx, 5
mov edx, 1
call fcn.00406af4
xor eax, eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x4e3957
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x4e3957
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x30]
test eax, eax
jle 0x4e3957
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x24]
test eax, eax
jle 0x4e3957
xor eax, eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax]
push eax
call sub.gdi32.dll_CreateRectRgn
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x9c], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x9c]
push eax
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_SelectClipRgn
jmp 0x4e390e
xor eax, eax
mov dword [ebp - 0x60], eax
jmp 0x4e38e1
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x30]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x8c]
mov edx, dword [edx + 8]
sub edx, eax
mov eax, dword [ebp + 0x94]
mov ecx, dword [eax + 0x8c]
mov ecx, dword [ecx + 4]
add ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x38]
call fcn.0043b8cc
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x30]
add dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 8]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x8c]
sub eax, dword [edx]
cmp eax, dword [ebp - 0x60]
jg 0x4e389f
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
call dword [edx + 0x24]
add dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x8c]
sub eax, dword [edx + 4]
cmp eax, dword [ebp - 0x64]
jg 0x4e3898
push 0
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_SelectClipRgn
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x9c]
push eax
call sub.gdi32.dll_DeleteObject
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6c1c
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0
jle case.0x4e22cc.67
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0
je 0x4e39af
mov eax, dword [ebp - 0x200]
sub eax, 0xa
cmp word [eax], 2
je 0x4e39af
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0
je 0x4e39d5
mov eax, dword [ebp - 0x204]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x204], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 7
mov ecx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov edx, 0x1fffffff
mov eax, dword [ebp - 0x28]
call fcn.004df144
mov dword [ebp - 0x88], eax
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6c38
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
jle 0x4e3c83
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0
je 0x4e3a58
mov eax, dword [ebp - 0x20c]
sub eax, 0xa
cmp word [eax], 2
je 0x4e3a58
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
je 0x4e3a7e
mov eax, dword [ebp - 0x210]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 9
mov ecx, dword [ebp - 0x210]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov edx, 0x1fffffff
mov eax, dword [ebp - 0x28]
call fcn.004df144
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x28]
mov edx, 0x4e6c58
call fcn.004062cc
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6c68
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
jle 0x4e3be7
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
je 0x4e3b0e
mov eax, dword [ebp - 0x218]
sub eax, 0xa
cmp word [eax], 2
je 0x4e3b0e
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
je 0x4e3b34
mov eax, dword [ebp - 0x21c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 3
mov ecx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
je 0x4e3b7e
mov eax, dword [ebp - 0x220]
sub eax, 0xa
cmp word [eax], 2
je 0x4e3b7e
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
call fcn.00405658
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0
je 0x4e3ba4
mov eax, dword [ebp - 0x224]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x28]
call fcn.00406a24
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x88]
call fcn.0043b1b8
push 0x1fffffff
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 0xc]
push eax
lea eax, [ebp - 0x490]
push eax
mov eax, dword [ebp + 0x94]
mov ecx, dword [eax + 0x8c]
mov ecx, dword [ecx + 8]
mov eax, dword [ebp + 0x94]
mov edx, dword [eax + 0x8c]
mov edx, dword [edx + 4]
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax]
call fcn.00408df8
lea eax, [ebp - 0x490]
push eax
mov eax, dword [ebp - 0x28]
mov edx, 0x4e6c58
call fcn.00406a1c
sete al
push eax
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x38]
call fcn.004deaf4
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b6c8
cmp al, 1
jne 0x4e3c9e
mov dword [ebp - 0x228], 0x1fffffff
jmp 0x4e3caf
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b568
mov dword [ebp - 0x228], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x228]
mov dword [eax - 0x7c], edx
cmp dword [ebp - 0x88], 0x1fffffff
jne 0x4e3cd9
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp 0x4e3cea
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x88]
call fcn.0043b570
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
call fcn.0043b1b0
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x88]
call fcn.0043b1b8
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp + 0x94]
mov ecx, dword [eax + 0x8c]
mov ecx, dword [ecx + 4]
mov eax, dword [ebp + 0x94]
mov edx, dword [eax + 0x8c]
mov edx, dword [edx]
sub edx, 2
mov eax, dword [ebp - 0x38]
call fcn.0043bb00
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xc0]
call fcn.0043b1b8
jmp case.0x4e22cc.67
cmp byte [ebp + 0x84], 0
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x41], 1
jmp case.0x4e22cc.67
mov eax, dword [edi]
movzx eax, word [eax + 4]
mov word [ebp - 0x22a], ax
movzx eax, word [ebp - 0x22a]
mov word [ebp - 0x22c], ax
movzx eax, word [ebp - 0x22a]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4e3dc3
movzx eax, word [ebp - 0x22a]
and ax, 0xffdf
mov word [ebp - 0x22c], ax
movzx eax, word [ebp - 0x22c]
sub ax, 0x49
je 0x4e3f3f
sub ax, 9
jne case.0x4e22cc.67
mov byte [ebp - 0x41], 1
cmp byte [ebp + 0x84], 0
jne case.0x4e22cc.67
lea eax, [ebp - 0x20]
push eax
mov edx, dword [edi]
mov eax, 0x4e6a04
call fcn.00406d3c
mov ecx, eax
dec ecx
mov eax, dword [edi]
mov edx, 4
call fcn.00406a24
xor eax, eax
mov dword [ebp - 0x88], eax
lea edx, [ebp - 0x4e8]
mov eax, dword [ebp - 0x20]
call fcn.0040c484
mov eax, dword [ebp - 0x4e8]
mov dword [ebp - 0x230], eax
mov edx, dword [ebp - 0x230]
mov eax, 0x4e6c7c
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0
jle 0x4e3edd
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0
je 0x4e3e8b
mov eax, dword [ebp - 0x238]
sub eax, 0xa
cmp word [eax], 2
je 0x4e3e8b
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0
je 0x4e3eb1
mov eax, dword [ebp - 0x23c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x23c], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 5
mov ecx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x28]
call fcn.004df144
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
call fcn.0043b1b0
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x88]
call fcn.0043b1b8
mov ecx, dword [ebp - 0x41c]
inc ecx
mov edx, dword [ebp - 0x418]
mov eax, dword [ebp - 0x38]
call fcn.0043ba98
mov ecx, dword [ebp - 0x41c]
inc ecx
mov edx, dword [ebp - 0x410]
mov eax, dword [ebp - 0x38]
call fcn.0043ba38
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xc0]
call fcn.0043b1b8
jmp case.0x4e22cc.67
cmp byte [ebp + 0x84], 0
jne case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x80], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b6c8
cmp al, 1
jne 0x4e3f79
mov dword [ebp - 0x240], 0x1fffffff
jmp 0x4e3f8a
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b568
mov dword [ebp - 0x240], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x240]
mov dword [eax - 0x84], edx
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, 0xff00000d
call fcn.0043b570
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, 0xff00000e
call fcn.0043aa44
jmp case.0x4e22cc.67
mov eax, dword [edi]
movzx eax, word [eax + 4]
mov word [ebp - 0x242], ax
movzx eax, word [ebp - 0x242]
mov word [ebp - 0x244], ax
movzx eax, word [ebp - 0x242]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4e3ffe
movzx eax, word [ebp - 0x242]
and ax, 0xffdf
mov word [ebp - 0x244], ax
movzx eax, word [ebp - 0x244]
mov word [ebp - 0xa2], ax
cmp word [ebp - 0xa2], 0x3e
jne 0x4e4039
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043adf4
mov edx, eax
or dl, byte [0x4e6ab0]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043ae00
jmp case.0x4e22cc.67
cmp word [ebp - 0xa2], 0x4e
jne 0x4e41c7
lea eax, [ebp - 0x20]
push eax
mov edx, dword [edi]
mov eax, 0x4e6a04
call fcn.00406d3c
mov ecx, eax
dec ecx
mov eax, dword [edi]
mov edx, 3
call fcn.00406a24
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x248], eax
cmp dword [ebp - 0x248], 0
je 0x4e4098
mov eax, dword [ebp - 0x248]
sub eax, 0xa
cmp word [eax], 2
je 0x4e4098
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
je 0x4e40be
mov eax, dword [ebp - 0x24c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6c94
call fcn.004ded54
mov edx, eax
add edx, 2
mov ecx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x250], eax
cmp dword [ebp - 0x250], 0
je 0x4e4114
mov eax, dword [ebp - 0x250]
sub eax, 0xa
cmp word [eax], 2
je 0x4e4114
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
call fcn.00405658
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x254], eax
cmp dword [ebp - 0x254], 0
je 0x4e413a
mov eax, dword [ebp - 0x254]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x254], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x28]
call fcn.00403714
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x5c], 0
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x58]
jge case.0x4e22cc.67
mov eax, dword [ebp + 0x7c]
mov edx, dword [ebp - 0x58]
mov dword [eax], edx
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax]
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x428], eax
jmp case.0x4e22cc.67
cmp word [ebp - 0xa2], 0x4d
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
inc dword [eax - 0xa0]
lea eax, [ebp - 0x20]
push eax
mov edx, dword [edi]
mov eax, 0x4e6a04
call fcn.00406d3c
mov ecx, eax
dec ecx
mov eax, dword [edi]
mov edx, 3
call fcn.00406a24
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 0
je 0x4e4232
mov eax, dword [ebp - 0x258]
sub eax, 0xa
cmp word [eax], 2
je 0x4e4232
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0
je 0x4e4258
mov eax, dword [ebp - 0x25c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x4ec]
mov eax, dword [ebp - 0x20]
call fcn.0040c484
mov edx, dword [ebp - 0x4ec]
mov eax, 0x4e6ca4
call fcn.00406d3c
mov edx, eax
add edx, 4
mov ecx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0
je 0x4e42bf
mov eax, dword [ebp - 0x260]
sub eax, 0xa
cmp word [eax], 2
je 0x4e42bf
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
call fcn.00405658
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0
je 0x4e42e5
mov eax, dword [ebp - 0x264]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea edx, [ebp - 0x4f0]
mov eax, dword [ebp - 0x20]
call fcn.0040c484
mov edx, dword [ebp - 0x4f0]
lea eax, [ebp - 0x20]
call fcn.004062cc
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6cb8
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0
jle 0x4e4493
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0xa4]
mov edx, dword [ebp + 0x94]
cmp eax, dword [edx - 0xa0]
jne 0x4e4493
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 0
je 0x4e43ba
mov eax, dword [ebp - 0x26c]
sub eax, 0xa
cmp word [eax], 2
je 0x4e43ba
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0
je 0x4e43e0
mov eax, dword [ebp - 0x270]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x270], eax
lea eax, [ebp - 0x2c]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
mov ecx, dword [ebp - 0x270]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0
je 0x4e442a
mov eax, dword [ebp - 0x274]
sub eax, 0xa
cmp word [eax], 2
je 0x4e442a
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
call fcn.00405658
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0
je 0x4e4450
mov eax, dword [ebp - 0x278]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x2c]
push eax
mov edx, dword [ebp - 0x2c]
mov eax, 0x4e6be8
call fcn.00406d3c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x278]
mov eax, dword [ebp - 0x2c]
call fcn.00406a24
lea eax, [ebp - 0x2c]
push eax
mov edx, dword [ebp - 0x2c]
mov eax, 0x4e6be8
call fcn.00406d3c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x2c]
call fcn.00406a24
xor eax, eax
mov dword [ebp - 0x90], eax
xor eax, eax
mov dword [ebp - 0x94], eax
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6ccc
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x27c], eax
cmp dword [ebp - 0x27c], 0
jle 0x4e4566
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 0
je 0x4e44fb
mov eax, dword [ebp - 0x280]
sub eax, 0xa
cmp word [eax], 2
je 0x4e44fb
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x4e4521
mov eax, dword [ebp - 0x284]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x2c]
push eax
mov edx, dword [ebp - 0x78]
add edx, 6
mov ecx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
lea edx, [ebp - 0x4f4]
mov eax, dword [ebp - 0x2c]
call fcn.004defd0
mov edx, dword [ebp - 0x4f4]
lea eax, [ebp - 0x2c]
call fcn.004062cc
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x2c]
call fcn.00403714
mov dword [ebp - 0x90], eax
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6ce4
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0
jle 0x4e4629
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28c], eax
cmp dword [ebp - 0x28c], 0
je 0x4e45be
mov eax, dword [ebp - 0x28c]
sub eax, 0xa
cmp word [eax], 2
je 0x4e45be
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x290], eax
cmp dword [ebp - 0x290], 0
je 0x4e45e4
mov eax, dword [ebp - 0x290]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x290], eax
lea eax, [ebp - 0x2c]
push eax
mov edx, dword [ebp - 0x78]
add edx, 7
mov ecx, dword [ebp - 0x290]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
lea edx, [ebp - 0x4f8]
mov eax, dword [ebp - 0x2c]
call fcn.004defd0
mov edx, dword [ebp - 0x4f8]
lea eax, [ebp - 0x2c]
call fcn.004062cc
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x2c]
call fcn.00403714
mov dword [ebp - 0x94], eax
mov eax, dword [ebp + 0x94]
xor edx, edx
mov dword [eax - 0x98], edx
mov eax, dword [ebp + 0x94]
xor edx, edx
mov dword [eax - 0x94], edx
lea edx, [ebp - 0x4fc]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x4fc]
mov eax, 0x4e6b80
call fcn.00406d3c
test eax, eax
jle 0x4e4679
lea eax, [ebp - 0x28]
mov ecx, 4
mov edx, 1
call fcn.00406af4
lea edx, [ebp - 0x500]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x500]
mov eax, 0x4e6b98
call fcn.00406d3c
test eax, eax
jle 0x4e4773
lea eax, [ebp - 0x28]
mov ecx, 5
mov edx, 1
call fcn.00406af4
mov eax, dword [ebp - 0x28]
push eax
push 0
movzx eax, byte [ebp + 0x84]
xor al, 1
push eax
mov eax, dword [ebp + 0x94]
movzx eax, byte [eax + 0x64]
push eax
mov eax, dword [ebp + 0x94]
push dword [eax + 0x4c]
push dword [eax + 0x48]
lea eax, [ebp - 0x4c8]
push eax
mov ecx, dword [ebp - 0x424]
mov edx, dword [ebp - 0x428]
mov eax, dword [ebp - 0x38]
call fcn.004de8c0
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x4c8]
mov dword [eax - 0x98], edx
mov edx, dword [ebp - 0x4c4]
mov dword [eax - 0x94], edx
push 0x60
push 0x58
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x98]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x98], eax
push 0x60
push 0x5a
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x94]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x94], eax
lea edx, [ebp - 0x504]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x504]
mov eax, 0x4e6bb0
call fcn.00406d3c
test eax, eax
jle 0x4e486d
lea eax, [ebp - 0x28]
mov ecx, 5
mov edx, 1
call fcn.00406af4
mov eax, dword [ebp - 0x28]
push eax
push 1
movzx eax, byte [ebp + 0x84]
xor al, 1
push eax
mov eax, dword [ebp + 0x94]
movzx eax, byte [eax + 0x64]
push eax
mov eax, dword [ebp + 0x94]
push dword [eax + 0x4c]
push dword [eax + 0x48]
lea eax, [ebp - 0x4c8]
push eax
mov ecx, dword [ebp - 0x424]
mov edx, dword [ebp - 0x428]
mov eax, dword [ebp - 0x38]
call fcn.004de8c0
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x4c8]
mov dword [eax - 0x98], edx
mov edx, dword [ebp - 0x4c4]
mov dword [eax - 0x94], edx
push 0x60
push 0x58
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x98]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x98], eax
push 0x60
push 0x5a
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x94]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x94], eax
mov eax, dword [ebp + 0x38]
sub eax, dword [ebp - 0x418]
mov edx, dword [ebp + 0x7c]
cmp eax, dword [edx]
jle 0x4e4925
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x94]
add eax, dword [edx - 0x98]
mov edx, dword [ebp + 0x38]
sub edx, dword [ebp - 0x418]
cmp eax, edx
jle 0x4e4925
mov eax, dword [ebp + 0x34]
cmp eax, dword [ebp - 0x424]
jl 0x4e4925
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x94]
add eax, dword [ebp - 0x424]
cmp eax, dword [ebp + 0x34]
jle 0x4e4925
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4e4925
mov eax, dword [ebp + 0x1c]
mov byte [eax], 1
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx - 0x40]
call fcn.00406278
mov eax, dword [ebp + 0x94]
cmp dword [eax - 0x28], 0
je 0x4e490d
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx - 0x28]
call fcn.00406278
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0xa0]
mov edx, dword [ebp + 0x94]
mov dword [edx - 0xa4], eax
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x64], 0
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x94]
add eax, dword [edx - 0x98]
mov edx, dword [ebp - 0x410]
sub edx, dword [ebp - 0x418]
cmp eax, edx
jle 0x4e4970
mov eax, dword [ebp - 0x410]
sub eax, dword [ebp - 0x418]
mov edx, dword [ebp + 0x94]
cmp eax, dword [edx - 0x98]
jle 0x4e4970
mov byte [ebp - 0x42], 1
jmp 0x4e49b7
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x98]
mov edx, dword [ebp + 0x7c]
add dword [edx], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x98]
add dword [ebp - 0x428], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x94]
mov edx, dword [ebp + 0x78]
cmp eax, dword [edx]
jle 0x4e49b7
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x94]
mov edx, dword [ebp + 0x78]
mov dword [edx], eax
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6d00
call fcn.00406d3c
test eax, eax
jle 0x4e4a16
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6d18
call fcn.00406d3c
test eax, eax
jle 0x4e49ef
mov eax, dword [ebp - 0x38]
call fcn.004df520
mov edx, dword [ebp + 0x78]
mov edx, dword [edx]
sub edx, eax
mov eax, dword [ebp + 0x60]
mov dword [eax], edx
jmp 0x4e4a16
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6d30
call fcn.00406d3c
test eax, eax
jle 0x4e4a16
mov eax, dword [ebp - 0x38]
call fcn.004df520
mov edx, dword [ebp + 0x78]
mov edx, dword [edx]
sub edx, eax
shr edx, 1
mov eax, dword [ebp + 0x60]
mov dword [eax], edx
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6d4c
call fcn.00406d3c
test eax, eax
jle case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
call fcn.004df520
mov edx, dword [ebp + 0x78]
mov dword [edx], eax
mov eax, dword [ebp + 0x60]
xor edx, edx
mov dword [eax], edx
jmp case.0x4e22cc.67
mov eax, dword [edi]
movzx eax, word [eax + 4]
mov word [ebp - 0x292], ax
movzx eax, word [ebp - 0x292]
mov word [ebp - 0x294], ax
movzx eax, word [ebp - 0x292]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4e4a81
movzx eax, word [ebp - 0x292]
and ax, 0xffdf
mov word [ebp - 0x294], ax
movzx eax, word [ebp - 0x294]
sub ax, 0x49
jne 0x4e4bb0
mov eax, dword [edi]
mov dword [ebp - 0x298], eax
mov edx, dword [ebp - 0x298]
mov eax, 0x4e6a04
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x29c], eax
cmp dword [ebp - 0x29c], 0
jle case.0x4e22cc.67
lea eax, [ebp - 0x508]
push eax
mov ecx, dword [ebp - 0x78]
sub ecx, 2
mov eax, dword [edi]
mov edx, 2
call fcn.00406a24
mov eax, dword [ebp - 0x508]
lea edx, [ebp - 0x20]
call fcn.0040c484
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6b3c
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2a0], eax
cmp dword [ebp - 0x2a0], 0
jle case.0x4e22cc.67
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2a4], eax
cmp dword [ebp - 0x2a4], 0
je 0x4e4b42
mov eax, dword [ebp - 0x2a4]
sub eax, 0xa
cmp word [eax], 2
je 0x4e4b42
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x2a8], eax
cmp dword [ebp - 0x2a8], 0
je 0x4e4b68
mov eax, dword [ebp - 0x2a8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x2a8], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 9
mov ecx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
lea edx, [ebp - 0x50c]
mov eax, dword [ebp - 0x28]
call fcn.004defd0
mov edx, dword [ebp - 0x50c]
lea eax, [ebp - 0x28]
call fcn.004062cc
xor edx, edx
mov eax, dword [ebp - 0x28]
call fcn.0040d154
mov edx, dword [ebp + 0x6c]
mov dword [edx], eax
jmp case.0x4e22cc.67
mov dword [ebp - 0x88], 0x1fffffff
mov eax, dword [ebp + 0x94]
add eax, 0xffffff58
xor edx, edx
call fcn.004062cc
mov eax, dword [edi]
mov dword [ebp - 0x2ac], eax
mov edx, dword [ebp - 0x2ac]
mov eax, 0x4e6a04
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0
jle 0x4e4e10
lea eax, [ebp - 0x510]
push eax
mov ecx, dword [ebp - 0x78]
dec ecx
mov eax, dword [edi]
mov edx, 3
call fcn.00406a24
mov eax, dword [ebp - 0x510]
lea edx, [ebp - 0x20]
call fcn.0040c484
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6d64
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0
jle 0x4e4d66
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2b8], eax
cmp dword [ebp - 0x2b8], 0
je 0x4e4c7a
mov eax, dword [ebp - 0x2b8]
sub eax, 0xa
cmp word [eax], 2
je 0x4e4c7a
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x2bc], eax
cmp dword [ebp - 0x2bc], 0
je 0x4e4ca0
mov eax, dword [ebp - 0x2bc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x2bc], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c0], eax
cmp dword [ebp - 0x2c0], 0
je 0x4e4cea
mov eax, dword [ebp - 0x2c0]
sub eax, 0xa
cmp word [eax], 2
je 0x4e4cea
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
call fcn.00405658
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
je 0x4e4d10
mov eax, dword [ebp - 0x2c4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x2c4], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x28]
call fcn.00406a24
mov eax, dword [ebp + 0x94]
add eax, 0xffffff58
mov edx, dword [ebp - 0x28]
call fcn.004062cc
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6c7c
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x2c8], 0
jle 0x4e4e10
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2cc], eax
cmp dword [ebp - 0x2cc], 0
je 0x4e4dbe
mov eax, dword [ebp - 0x2cc]
sub eax, 0xa
cmp word [eax], 2
je 0x4e4dbe
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x2d0], eax
cmp dword [ebp - 0x2d0], 0
je 0x4e4de4
mov eax, dword [ebp - 0x2d0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x2d0], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 5
mov ecx, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x28]
call fcn.004df144
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 0x50]
mov eax, dword [eax]
add eax, eax
add eax, eax
lea eax, [eax + eax*2]
mov edx, dword [ebp + 0x7c]
add dword [edx], eax
cmp byte [ebp - 0x43], 0
je 0x4e4e2d
mov byte [ebp - 0x42], 1
jmp 0x4e4e31
mov byte [ebp - 0x43], 1
mov eax, dword [ebp + 0x50]
mov eax, dword [eax]
dec eax
add eax, eax
add eax, eax
lea eax, [eax + eax*2]
add dword [ebp - 0x428], eax
cmp byte [ebp + 0x84], 0
jne 0x4e52ff
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x37], 0
jne 0x4e52ff
mov eax, dword [ebp + 0x94]
cmp dword [eax - 0xa8], 0
jne 0x4e508a
cmp dword [ebp - 0x88], 0x1fffffff
je 0x4e4ea6
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x94]
mov dword [edx - 0xac], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x88]
call fcn.0043aa44
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043ad08
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, 0x4e6d7c
call fcn.0043ad5c
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x85], 0
jne 0x4e4f51
mov eax, dword [ebp + 0x50]
test byte [eax], 1
je 0x4e4f16
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
mov dword [ebp - 0x2d4], eax
push 0
lea eax, [ebp - 0x428]
push eax
push 1
mov eax, 0x4e6d98
call fcn.00406304
push eax
mov eax, dword [ebp - 0x2d4]
push eax
call sub.user32.dll_DrawTextW
mov dword [ebp - 0x2d8], eax
jmp 0x4e5050
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
mov dword [ebp - 0x2dc], eax
push 0
lea eax, [ebp - 0x428]
push eax
push 1
mov eax, 0x4e6da8
call fcn.00406304
push eax
mov eax, dword [ebp - 0x2dc]
push eax
call sub.user32.dll_DrawTextW
mov dword [ebp - 0x2e0], eax
jmp 0x4e5050
lea edx, [ebp - 0x514]
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0xb0]
call fcn.0040ce8c
mov edx, dword [ebp - 0x514]
mov eax, dword [ebp + 0x94]
add eax, 0xffffffe0
mov ecx, 0x4e6db8
call fcn.0040674c
mov eax, dword [ebp + 0x94]
inc dword [eax - 0xb0]
mov eax, dword [ebp - 0x38]
call fcn.0043bf30
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x20]
mov dword [ebp - 0x2e4], eax
cmp dword [ebp - 0x2e4], 0
je 0x4e4fdf
mov eax, dword [ebp - 0x2e4]
sub eax, 0xa
cmp word [eax], 2
je 0x4e4fdf
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0x20]
mov eax, dword [ebp + 0x94]
add eax, 0xffffffe0
call fcn.00405658
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2e8], eax
cmp dword [ebp - 0x2e8], 0
je 0x4e5005
mov eax, dword [ebp - 0x2e8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x2e8], eax
push 0
lea eax, [ebp - 0x428]
push eax
mov eax, dword [ebp - 0x2e8]
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x20]
call fcn.00406304
push eax
mov eax, dword [ebp - 0x2ec]
push eax
call sub.user32.dll_DrawTextW
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0x20]
mov eax, dword [ebp - 0x38]
call fcn.0043bd64
add eax, dword [ebp - 0x428]
sub eax, 0xc
mov dword [ebp - 0x428], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x28]
call fcn.0043ad5c
cmp dword [ebp - 0x88], 0x1fffffff
je 0x4e52ff
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0xac]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043aa44
jmp 0x4e52ff
mov eax, dword [ebp + 0x94]
mov dword [eax - 0xb4], 0x1fffffff
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0xa8]
mov edx, 0x4e6dcc
call fcn.00406a1c
jne 0x4e51c6
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b6c8
cmp al, 1
jne 0x4e50d1
mov dword [ebp - 0x2f0], 0x1fffffff
jmp 0x4e50e2
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b568
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x2f0]
mov dword [eax - 0xb4], edx
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x88]
call fcn.0043b1b8
cmp dword [ebp - 0x88], 0x1fffffff
jne 0x4e5120
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp 0x4e5131
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x88]
call fcn.0043b570
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.0043b6d0
mov eax, dword [ebp - 0x428]
add eax, 8
push eax
mov eax, dword [ebp - 0x424]
add eax, 0xa
push eax
mov ecx, dword [ebp - 0x424]
add ecx, 2
mov edx, dword [ebp - 0x428]
mov eax, dword [ebp - 0x38]
call fcn.0043bb00
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0xb4]
mov dword [ebp - 0x2f4], eax
cmp dword [ebp - 0x2f4], 0x1fffffff
jne 0x4e5196
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp 0x4e51a7
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x2f4]
call fcn.0043b570
mov eax, dword [ebp + 0x94]
cmp dword [eax - 0xb4], 0x1fffffff
jne 0x4e51c6
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0xa8]
mov edx, 0x4e6de8
call fcn.00406a1c
jne 0x4e52f2
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b6c8
cmp al, 1
jne 0x4e51fd
mov dword [ebp - 0x2f8], 0x1fffffff
jmp 0x4e520e
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b568
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x2f8]
mov dword [eax - 0xb4], edx
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x88]
call fcn.0043b1b8
cmp dword [ebp - 0x88], 0x1fffffff
jne 0x4e524c
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp 0x4e525d
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x88]
call fcn.0043b570
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.0043b6d0
mov eax, dword [ebp - 0x428]
add eax, 8
push eax
mov eax, dword [ebp - 0x424]
add eax, 0xa
push eax
mov ecx, dword [ebp - 0x424]
add ecx, 2
mov edx, dword [ebp - 0x428]
mov eax, dword [ebp - 0x38]
call fcn.0043b9ac
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0xb4]
mov dword [ebp - 0x2fc], eax
cmp dword [ebp - 0x2fc], 0x1fffffff
jne 0x4e52c2
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp 0x4e52d3
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x2fc]
call fcn.0043b570
mov eax, dword [ebp + 0x94]
cmp dword [eax - 0xb4], 0x1fffffff
jne 0x4e52f2
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
add dword [ebp - 0x428], 0xc
jmp case.0x4e22cc.67
mov eax, dword [edi]
cmp word [eax + 4], 0x3e
je 0x4e5337
mov eax, dword [ebp + 0x50]
inc dword [eax]
mov eax, dword [ebp + 0x7c]
cmp dword [eax], 0
jle 0x4e5325
mov byte [ebp - 0x41], 1
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x85], 0
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043adf4
mov edx, eax
or dl, byte [0x4e6ac8]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043ae00
jmp case.0x4e22cc.67
mov eax, dword [edi]
movzx eax, word [eax + 4]
mov word [ebp - 0x2fe], ax
movzx eax, word [ebp - 0x2fe]
mov word [ebp - 0x300], ax
movzx eax, word [ebp - 0x2fe]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4e5397
movzx eax, word [ebp - 0x2fe]
and ax, 0xffdf
mov word [ebp - 0x300], ax
movzx eax, word [ebp - 0x300]
mov word [ebp - 0xa2], ax
cmp word [ebp - 0xa2], 0x4c
jne 0x4e53dd
mov eax, dword [ebp + 0x50]
inc dword [eax]
mov eax, dword [ebp + 0x7c]
cmp dword [eax], 0
jle 0x4e53c0
mov byte [ebp - 0x41], 1
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x85], 1
mov eax, dword [ebp + 0x94]
mov dword [eax - 0xb0], 1
cmp word [ebp - 0xa2], 0x46
jne case.0x4e22cc.67
lea eax, [ebp - 0x20]
push eax
mov edx, dword [edi]
mov eax, 0x4e6a04
call fcn.00406d3c
mov ecx, eax
dec ecx
mov eax, dword [edi]
mov edx, 3
call fcn.00406a24
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x304], eax
cmp dword [ebp - 0x304], 0
je 0x4e543c
mov eax, dword [ebp - 0x304]
sub eax, 0xa
cmp word [eax], 2
je 0x4e543c
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x308], eax
cmp dword [ebp - 0x308], 0
je 0x4e5462
mov eax, dword [ebp - 0x308]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x308], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6c94
call fcn.004ded54
mov edx, eax
add edx, 2
mov ecx, dword [ebp - 0x308]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30c], eax
cmp dword [ebp - 0x30c], 0
je 0x4e54b8
mov eax, dword [ebp - 0x30c]
sub eax, 0xa
cmp word [eax], 2
je 0x4e54b8
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
call fcn.00405658
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x310], eax
cmp dword [ebp - 0x310], 0
je 0x4e54de
mov eax, dword [ebp - 0x310]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x310], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x310]
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x28]
call fcn.00403714
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax]
mov edx, dword [ebp + 0xc]
add eax, dword [edx]
mov dword [ebp - 0x428], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov edx, dword [ebp + 0x7c]
mov dword [edx], eax
jmp case.0x4e22cc.67
mov eax, dword [edi]
mov dword [ebp - 0x314], eax
mov edx, dword [ebp - 0x314]
mov eax, 0x4e6a04
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0
jle case.0x4e22cc.67
lea eax, [ebp - 0x518]
push eax
mov ecx, dword [ebp - 0x78]
dec ecx
mov eax, dword [edi]
mov edx, 3
call fcn.00406a24
mov eax, dword [ebp - 0x518]
lea edx, [ebp - 0x20]
call fcn.0040c484
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6d00
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x31c], eax
cmp dword [ebp - 0x31c], 0
jle 0x4e56aa
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x320], eax
cmp dword [ebp - 0x320], 0
je 0x4e5607
mov eax, dword [ebp - 0x320]
sub eax, 0xa
cmp word [eax], 2
je 0x4e5607
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x324], eax
cmp dword [ebp - 0x324], 0
je 0x4e562d
mov eax, dword [ebp - 0x324]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x324], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 5
mov ecx, dword [ebp - 0x324]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
lea edx, [ebp - 0x51c]
mov eax, dword [ebp - 0x28]
call fcn.004defd0
mov edx, dword [ebp - 0x51c]
lea eax, [ebp - 0x28]
call fcn.004062cc
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6e04
call fcn.00406d3c
test eax, eax
jle 0x4e567a
mov eax, dword [ebp + 0x40]
mov byte [eax], 1
jmp 0x4e56aa
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6e1c
call fcn.00406d3c
test eax, eax
jle 0x4e5693
mov eax, dword [ebp + 0x40]
mov byte [eax], 0
jmp 0x4e56aa
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6e34
call fcn.00406d3c
test eax, eax
jle 0x4e56aa
mov eax, dword [ebp + 0x40]
mov byte [eax], 2
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
cmp dword [eax], 0
je 0x4e56da
mov byte [ebp - 0x41], 1
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
mov edx, 0x4e6ac0
call fcn.0040668c
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
jmp 0x4e56ec
mov eax, dword [ebp + 0x40]
movzx eax, byte [eax]
mov edx, dword [ebp + 0x94]
mov byte [edx - 0xb5], al
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6e50
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x328], eax
cmp dword [ebp - 0x328], 0
jle 0x4e582a
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x32c], eax
cmp dword [ebp - 0x32c], 0
je 0x4e5744
mov eax, dword [ebp - 0x32c]
sub eax, 0xa
cmp word [eax], 2
je 0x4e5744
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x330], eax
cmp dword [ebp - 0x330], 0
je 0x4e576a
mov eax, dword [ebp - 0x330]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x330], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 6
mov ecx, dword [ebp - 0x330]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x334], eax
cmp dword [ebp - 0x334], 0
je 0x4e57b4
mov eax, dword [ebp - 0x334]
sub eax, 0xa
cmp word [eax], 2
je 0x4e57b4
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
call fcn.00405658
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x338], eax
cmp dword [ebp - 0x338], 0
je 0x4e57da
mov eax, dword [ebp - 0x338]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x338], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x338]
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x28]
call fcn.00406a24
mov eax, dword [ebp - 0x28]
call fcn.004deda8
mov edx, dword [ebp + 0x3c]
mov dword [edx], eax
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6c1c
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x33c], eax
cmp dword [ebp - 0x33c], 0
jle case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne case.0x4e22cc.67
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x340], eax
cmp dword [ebp - 0x340], 0
je 0x4e5892
mov eax, dword [ebp - 0x340]
sub eax, 0xa
cmp word [eax], 2
je 0x4e5892
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x344], eax
cmp dword [ebp - 0x344], 0
je 0x4e58b8
mov eax, dword [ebp - 0x344]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x344], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 7
mov ecx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov edx, 0x1fffffff
mov eax, dword [ebp - 0x28]
call fcn.004df144
mov dword [ebp - 0x88], eax
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6c38
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x348], eax
cmp dword [ebp - 0x348], 0
jle 0x4e5919
mov eax, dword [ebp + 0x94]
movzx eax, byte [eax + 0x60]
xor al, 1
mov byte [ebp - 0x349], al
jmp 0x4e5920
mov byte [ebp - 0x349], 0
cmp byte [ebp - 0x349], 0
je 0x4e5a45
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
je 0x4e595f
mov eax, dword [ebp - 0x350]
sub eax, 0xa
cmp word [eax], 2
je 0x4e595f
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x354], eax
cmp dword [ebp - 0x354], 0
je 0x4e5985
mov eax, dword [ebp - 0x354]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x354], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 9
mov ecx, dword [ebp - 0x354]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov edx, 0x1fffffff
mov eax, dword [ebp - 0x28]
call fcn.004df144
mov dword [ebp - 0x8c], eax
cmp byte [ebp + 0x84], 0
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x29], 1
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x88]
call fcn.0043b1b8
push 0x1fffffff
mov eax, dword [ebp - 0x40c]
add eax, 2
push eax
lea eax, [ebp - 0x490]
push eax
mov eax, dword [ebp + 0x94]
mov ecx, dword [eax + 0x8c]
mov ecx, dword [ecx + 8]
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x414]
call fcn.00408df8
lea eax, [ebp - 0x490]
push eax
push 1
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x38]
call fcn.004deaf4
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp case.0x4e22cc.67
cmp byte [ebp + 0x84], 0
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x29], 1
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b6c8
cmp al, 1
jne 0x4e5a77
mov dword [ebp - 0x358], 0x1fffffff
jmp 0x4e5a88
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b568
mov dword [ebp - 0x358], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x358]
mov dword [eax - 0x8c], edx
cmp dword [ebp - 0x88], 0x1fffffff
jne 0x4e5ab5
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp 0x4e5ac6
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x88]
call fcn.0043b570
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
call fcn.0043b1b0
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x88]
call fcn.0043b1b8
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 0x40c]
push eax
mov eax, dword [ebp + 0x94]
mov edx, dword [eax + 0x8c]
mov edx, dword [edx]
mov ecx, dword [ebp - 0x414]
mov eax, dword [ebp - 0x38]
call fcn.0043bb00
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xc0]
call fcn.0043b1b8
jmp case.0x4e22cc.67
mov eax, dword [edi]
mov dword [ebp - 0x35c], eax
mov edx, dword [ebp - 0x35c]
mov eax, 0x4e6a04
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x360], eax
cmp dword [ebp - 0x360], 0
jle case.0x4e22cc.67
cmp byte [ebp + 0x84], 0
jne 0x4e5ba6
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b6c8
cmp al, 1
jne 0x4e5b86
mov dword [ebp - 0x364], 0x1fffffff
jmp 0x4e5b97
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b568
mov dword [ebp - 0x364], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x364]
mov dword [eax - 0x7c], edx
lea eax, [ebp - 0x520]
push eax
mov ecx, dword [ebp - 0x78]
sub ecx, 6
mov eax, dword [edi]
mov edx, 6
call fcn.00406a24
mov eax, dword [ebp - 0x520]
lea edx, [ebp - 0x20]
call fcn.0040c484
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6e6c
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x368], eax
cmp dword [ebp - 0x368], 0
jle 0x4e5c8d
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x36c], eax
cmp dword [ebp - 0x36c], 0
je 0x4e5c25
mov eax, dword [ebp - 0x36c]
sub eax, 0xa
cmp word [eax], 2
je 0x4e5c25
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x36c], eax
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x370], eax
cmp dword [ebp - 0x370], 0
je 0x4e5c4b
mov eax, dword [ebp - 0x370]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x370], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
mov ecx, dword [ebp - 0x370]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
lea edx, [ebp - 0x524]
mov eax, dword [ebp - 0x28]
call fcn.004defd0
mov edx, dword [ebp - 0x524]
lea eax, [ebp - 0x28]
call fcn.004062cc
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x28]
call fcn.0043ad5c
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6e84
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0
jle 0x4e5d75
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne 0x4e5d75
cmp byte [ebp + 0x84], 0
jne 0x4e5d75
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x378], eax
cmp dword [ebp - 0x378], 0
je 0x4e5d02
mov eax, dword [ebp - 0x378]
sub eax, 0xa
cmp word [eax], 2
je 0x4e5d02
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x378]
mov dword [ebp - 0x37c], eax
cmp dword [ebp - 0x37c], 0
je 0x4e5d28
mov eax, dword [ebp - 0x37c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x37c], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 6
mov ecx, dword [ebp - 0x37c]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x54]
call fcn.0043aa44
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0x28]
call fcn.004df144
mov edx, eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043aa44
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6c1c
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x380], eax
cmp dword [ebp - 0x380], 0
jle 0x4e5da8
movzx eax, byte [ebp + 0x84]
xor al, 1
mov byte [ebp - 0x381], al
jmp 0x4e5daf
mov byte [ebp - 0x381], 0
cmp byte [ebp - 0x381], 0
je 0x4e5eb5
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne 0x4e5eb5
cmp byte [ebp + 0x84], 0
jne 0x4e5eb5
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x388], eax
cmp dword [ebp - 0x388], 0
je 0x4e5e0b
mov eax, dword [ebp - 0x388]
sub eax, 0xa
cmp word [eax], 2
je 0x4e5e0b
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x388]
mov dword [ebp - 0x38c], eax
cmp dword [ebp - 0x38c], 0
je 0x4e5e31
mov eax, dword [ebp - 0x38c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x38c], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 7
mov ecx, dword [ebp - 0x38c]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b6c8
cmp al, 1
jne 0x4e5e64
mov dword [ebp - 0x390], 0x1fffffff
jmp 0x4e5e75
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b568
mov dword [ebp - 0x390], eax
mov edx, dword [ebp - 0x390]
mov eax, dword [ebp - 0x28]
call fcn.004df144
mov dword [ebp - 0x394], eax
cmp dword [ebp - 0x394], 0x1fffffff
jne 0x4e5ea4
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp 0x4e5eb5
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x394]
call fcn.0043b570
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6ea0
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x398], eax
cmp dword [ebp - 0x398], 0
jle 0x4e610b
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x39c], eax
cmp dword [ebp - 0x39c], 0
je 0x4e5f0d
mov eax, dword [ebp - 0x39c]
sub eax, 0xa
cmp word [eax], 2
je 0x4e5f0d
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x3a0], eax
cmp dword [ebp - 0x3a0], 0
je 0x4e5f33
mov eax, dword [ebp - 0x3a0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 5
mov ecx, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3a4], eax
cmp dword [ebp - 0x3a4], 0
je 0x4e5f7d
mov eax, dword [ebp - 0x3a4]
sub eax, 0xa
cmp word [eax], 2
je 0x4e5f7d
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
call fcn.00405658
mov dword [ebp - 0x3a4], eax
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x3a8], eax
cmp dword [ebp - 0x3a8], 0
je 0x4e5fa3
mov eax, dword [ebp - 0x3a8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3a8], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6eb8
call fcn.00406d3c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x3a8]
mov eax, dword [ebp - 0x28]
call fcn.00406a24
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3ac], eax
cmp dword [ebp - 0x3ac], 0
je 0x4e5ff7
mov eax, dword [ebp - 0x3ac]
sub eax, 0xa
cmp word [eax], 2
je 0x4e5ff7
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
call fcn.00405658
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp - 0x3ac]
mov dword [ebp - 0x3b0], eax
cmp dword [ebp - 0x3b0], 0
je 0x4e601d
mov eax, dword [ebp - 0x3b0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3b0], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x3b0]
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea edx, [ebp - 0x528]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x528]
mov eax, 0x4e6ec8
call fcn.00406d3c
test eax, eax
jle case.0x4e22cc.67
lea eax, [ebp - 0x28]
mov ecx, 0xa
mov edx, 1
call fcn.00406af4
lea edx, [ebp - 0x52c]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x52c]
mov eax, 0x4e6eec
call fcn.00406d3c
test eax, eax
jle case.0x4e22cc.67
lea eax, [ebp - 0x534]
push eax
lea edx, [ebp - 0x538]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x538]
mov eax, 0x4e6eec
call fcn.00406d3c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x28]
call fcn.00406a24
mov eax, dword [ebp - 0x534]
lea edx, [ebp - 0x530]
call fcn.0040ca38
mov edx, dword [ebp - 0x530]
lea eax, [ebp - 0x28]
call fcn.004062cc
mov eax, dword [ebp - 0x28]
call fcn.004deda8
mov edx, eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043add4
jmp case.0x4e22cc.67
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6f00
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x3b4], eax
cmp dword [ebp - 0x3b4], 0
jle case.0x4e22cc.67
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3b8], eax
cmp dword [ebp - 0x3b8], 0
je 0x4e6163
mov eax, dword [ebp - 0x3b8]
sub eax, 0xa
cmp word [eax], 2
je 0x4e6163
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp - 0x3b8]
mov dword [ebp - 0x3bc], eax
cmp dword [ebp - 0x3bc], 0
je 0x4e6189
mov eax, dword [ebp - 0x3bc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3bc], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
mov ecx, dword [ebp - 0x3bc]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
lea edx, [ebp - 0x53c]
mov eax, dword [ebp - 0x28]
call fcn.004defd0
mov edx, dword [ebp - 0x53c]
lea eax, [ebp - 0x28]
call fcn.004062cc
mov eax, dword [ebp - 0x28]
call fcn.004deda8
cmp eax, 5
ja case.0x4e61ce.0
jmp dword [eax*4 + 0x4e61d5]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, 8
call fcn.0043add4
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, 0xa
call fcn.0043add4
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, 0xc
call fcn.0043add4
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, 0xe
call fcn.0043add4
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, 0x10
call fcn.0043add4
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x28]
call fcn.004deda8
mov edx, eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043add4
jmp case.0x4e22cc.67
mov eax, dword [edi]
movzx eax, word [eax + 4]
mov word [ebp - 0x3be], ax
movzx eax, word [ebp - 0x3be]
mov word [ebp - 0x3c0], ax
movzx eax, word [ebp - 0x3be]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4e62ad
movzx eax, word [ebp - 0x3be]
and ax, 0xffdf
mov word [ebp - 0x3c0], ax
movzx eax, word [ebp - 0x3c0]
mov word [ebp - 0xa2], ax
cmp word [ebp - 0xa2], 0x3e
jne 0x4e62e8
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043adf4
mov edx, eax
or dl, byte [0x4e6aac]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043ae00
jmp case.0x4e22cc.67
cmp word [ebp - 0xa2], 0x54
jne 0x4e6315
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043adf4
mov edx, eax
or dl, byte [0x4e6aac]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
call fcn.0043ae00
jmp case.0x4e22cc.67
cmp word [ebp - 0xa2], 0x48
jne 0x4e632e
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x39], 1
jmp case.0x4e22cc.67
cmp word [ebp - 0xa2], 0x50
jne 0x4e65fa
mov eax, dword [edi]
mov dword [ebp - 0x3c4], eax
mov edx, dword [ebp - 0x3c4]
mov eax, 0x4e6a04
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
jle case.0x4e22cc.67
lea eax, [ebp - 0x540]
push eax
mov ecx, dword [ebp - 0x78]
sub ecx, 6
mov eax, dword [edi]
mov edx, 6
call fcn.00406a24
mov eax, dword [ebp - 0x540]
lea edx, [ebp - 0x20]
call fcn.0040c484
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6ea0
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x3cc], eax
cmp dword [ebp - 0x3cc], 0
jle case.0x4e22cc.67
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3d0], eax
cmp dword [ebp - 0x3d0], 0
je 0x4e63ec
mov eax, dword [ebp - 0x3d0]
sub eax, 0xa
cmp word [eax], 2
je 0x4e63ec
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x3d4], eax
cmp dword [ebp - 0x3d4], 0
je 0x4e6412
mov eax, dword [ebp - 0x3d4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3d4], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x78]
add edx, 5
mov ecx, dword [ebp - 0x3d4]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3d8], eax
cmp dword [ebp - 0x3d8], 0
je 0x4e645c
mov eax, dword [ebp - 0x3d8]
sub eax, 0xa
cmp word [eax], 2
je 0x4e645c
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
call fcn.00405658
mov dword [ebp - 0x3d8], eax
mov eax, dword [ebp - 0x3d8]
mov dword [ebp - 0x3dc], eax
cmp dword [ebp - 0x3dc], 0
je 0x4e6482
mov eax, dword [ebp - 0x3dc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3dc], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6eb8
call fcn.00406d3c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x3dc]
mov eax, dword [ebp - 0x28]
call fcn.00406a24
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3e0], eax
cmp dword [ebp - 0x3e0], 0
je 0x4e64d6
mov eax, dword [ebp - 0x3e0]
sub eax, 0xa
cmp word [eax], 2
je 0x4e64d6
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
call fcn.00405658
mov dword [ebp - 0x3e0], eax
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0
je 0x4e64fc
mov eax, dword [ebp - 0x3e4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3e4], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x28]
mov eax, 0x4e6be8
call fcn.00406d3c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x3e4]
mov eax, dword [ebp - 0x28]
call fcn.00406a24
lea edx, [ebp - 0x544]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x544]
mov eax, 0x4e6f18
call fcn.00406d3c
test eax, eax
jle case.0x4e22cc.67
lea eax, [ebp - 0x28]
mov ecx, 0x11
mov edx, 1
call fcn.00406af4
lea edx, [ebp - 0x548]
mov eax, dword [ebp - 0x28]
call fcn.0040c484
mov edx, dword [ebp - 0x548]
mov eax, 0x4e6f48
call fcn.00406d3c
dec eax
jne case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b6c8
cmp al, 1
jne 0x4e6596
mov dword [ebp - 0x3e8], 0x1fffffff
jmp 0x4e65a7
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
call fcn.0043b568
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x3e8]
mov dword [eax - 0x7c], edx
xor edx, edx
mov eax, dword [ebp - 0x28]
call fcn.004dec9c
mov dword [ebp - 0x3ec], eax
cmp dword [ebp - 0x3ec], 0x1fffffff
jne 0x4e65e4
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.0043b6d0
jmp case.0x4e22cc.67
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x3ec]
call fcn.0043b570
jmp case.0x4e22cc.67
mov edx, dword [edi]
mov eax, 0x4e6f58
call fcn.004ded54
dec eax
jne 0x4e6618
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x35], 1
jmp case.0x4e22cc.67
mov edx, dword [edi]
mov eax, 0x4e6f70
call fcn.004ded54
dec eax
jne case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x36], 1
jmp case.0x4e22cc.67
lea eax, [ebp - 0x20]
push eax
mov edx, dword [edi]
mov eax, 0x4e6a04
call fcn.00406d3c
mov ecx, eax
dec ecx
mov eax, dword [edi]
mov edx, 3
call fcn.00406a24
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3f0], eax
cmp dword [ebp - 0x3f0], 0
je 0x4e668b
mov eax, dword [ebp - 0x3f0]
sub eax, 0xa
cmp word [eax], 2
je 0x4e668b
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x3f4], eax
cmp dword [ebp - 0x3f4], 0
je 0x4e66b1
mov eax, dword [ebp - 0x3f4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3f4], eax
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x20]
mov eax, 0x4e6f88
call fcn.004ded54
mov edx, eax
add edx, 2
mov ecx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x20]
call fcn.00406a24
lea edx, [ebp - 0x54c]
mov eax, dword [ebp - 0x28]
call fcn.004defd0
mov edx, dword [ebp - 0x54c]
lea eax, [ebp - 0x28]
call fcn.004062cc
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x28]
call fcn.00403714
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x94]
push eax
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x38]
call fcn.004df5ac
pop ecx
jmp case.0x4e22cc.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x37], 1
cmp dword [ebp - 0x10], 0
je 0x4e6739
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x14]
call fcn.004062cc
lea eax, [ebp - 0x1c]
xor edx, edx
call fcn.004062cc
mov eax, dword [edi]
mov dword [ebp - 0x3f8], eax
mov edx, dword [ebp - 0x3f8]
mov eax, 0x4e6a04
call fcn.00406d3c
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x3fc], eax
cmp dword [ebp - 0x3fc], 0
jle 0x4e6774
movzx eax, byte [ebp - 0x42]
xor al, 1
mov byte [ebp - 0x3fd], al
jmp 0x4e677b
mov byte [ebp - 0x3fd], 0
cmp byte [ebp - 0x3fd], 0
je 0x4e67dd
lea eax, [ebp - 0x550]
push eax
mov eax, dword [edi]
mov ecx, dword [ebp - 0x78]
mov edx, 1
call fcn.00406a24
mov edx, dword [ebp - 0x550]
lea eax, [ebp - 0x1c]
call fcn.0040668c
lea eax, [ebp - 0x554]
push eax
mov eax, dword [edi]
mov ecx, dword [ebp - 0x78]
mov edx, 1
call fcn.00406a24
mov edx, dword [ebp - 0x554]
lea eax, [ebp - 0x14]
call fcn.0040668c
mov eax, edi
mov ecx, dword [ebp - 0x78]
mov edx, 1
call fcn.00406af4
jmp 0x4e684a
cmp byte [ebp - 0x42], 0
jne 0x4e684a
mov eax, dword [edi]
mov dword [ebp - 0x404], eax
cmp dword [ebp - 0x404], 0
je 0x4e6812
mov eax, dword [ebp - 0x404]
sub eax, 0xa
cmp word [eax], 2
je 0x4e6812
mov edx, dword [edi]
mov eax, edi
call fcn.00405658
mov dword [ebp - 0x404], eax
mov eax, dword [ebp - 0x404]
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0
je 0x4e6838
mov eax, dword [ebp - 0x408]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x408], eax
mov eax, edi
mov ecx, dword [ebp - 0x408]
mov edx, 1
call fcn.00406af4
mov eax, edi
call fcn.00405668
call fcn.004065e8
test eax, eax
jle 0x4e686a
cmp byte [ebp - 0x41], 0
jne 0x4e686a
cmp byte [ebp - 0x42], 0
je 0x4df90c
mov eax, dword [ebp + 0x48]
cmp dword [eax], 0xfffffffe
jne 0x4e688f
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 0
jle 0x4e688f
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
mov dword [edx], eax
mov eax, dword [ebp + 0x18]
mov byte [eax], 1
jmp 0x4e6980
mov eax, dword [ebp + 0x6c]
mov edx, dword [ebp - 0xc8]
mov dword [eax], edx
movzx eax, byte [ebp - 0xa9]
xor al, 1
and al, byte [ebp - 0x41]
je 0x4e68dd
cmp byte [ebp + 0x80], 0
je 0x4e68dd
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0xb0]
jle 0x4e68c7
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp - 0xb0]
mov dword [eax], edx
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0xb4]
jle 0x4e68dd
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp - 0xb4]
mov dword [eax], edx
mov eax, dword [ebp + 0x7c]
mov edx, dword [ebp - 0x54]
sub dword [eax], edx
mov eax, dword [ebp + 0x7c]
cmp dword [eax], 0
jge 0x4e68f4
mov eax, dword [ebp + 0x7c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x78], 0
jl 0x4e6975
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x78]
mov edx, dword [ebp + 0x58]
mov edx, dword [edx]
dec edx
cmp eax, edx
jne 0x4e6975
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4e6975
cmp byte [ebp + 0x84], 0
jne 0x4e6975
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x428]
mov dword [eax - 0x6c], edx
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x41c]
mov dword [eax - 0x68], edx
mov eax, dword [ebp + 0x94]
lea edx, [eax - 0x74]
mov eax, dword [ebp - 0x38]
call fcn.0043b978
mov eax, dword [ebp - 0x418]
inc eax
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x74], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x68]
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x70], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
call fcn.00406278
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e69dd
lea eax, [ebp - 0x554]
mov edx, 0x23
call fcn.00406270
lea eax, [ebp - 0x4c0]
mov edx, 0xb
call fcn.00406270
lea eax, [ebp - 0x494]
call fcn.00406268
lea eax, [ebp - 0x480]
mov edx, 3
call fcn.00406270
lea eax, [ebp - 0x34]
mov edx, 0xd
call fcn.00406270
ret