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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0xac
push 0
push 0
dec ecx
jne 0x4d7065
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov esi, dword [ebp + 0x90]
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]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4de55f
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0xe4], 0xffffffff
mov eax, dword [ebp + 0x68]
mov eax, dword [eax]
sub dword [ebp - 0x41c], eax
lea esi, [ebp - 0x428]
lea edi, [ebp - 0x458]
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 eax, dword [ebp + 0x44]
cmp dword [eax], 0
jl 0x4d710c
mov eax, dword [ebp + 0x8c]
mov eax, dword [eax]
add dword [ebp - 0x428], eax
mov eax, dword [ebp + 0x8c]
mov eax, dword [eax + 4]
add dword [ebp - 0x424], eax
mov eax, dword [ebp + 0x8c]
mov eax, dword [eax + 8]
sub dword [ebp - 0x420], eax
mov eax, dword [ebp + 0x8c]
mov eax, dword [eax + 0xc]
sub dword [ebp - 0x41c], eax
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp + 8]
xor edx, edx
call fcn.004061ec
lea eax, [ebp - 0x40]
xor edx, edx
call fcn.00406240
xor eax, eax
mov dword [ebp - 0xb0], eax
mov byte [ebp - 0xd5], 0
mov eax, dword [ebp + 0x18]
mov al, byte [eax]
mov byte [ebp - 0xdd], 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 - 0x46c]
xor ecx, ecx
mov edx, 0x14
call fcn.00403678
mov dword [ebp - 0x46c], 0x14
mov dword [ebp - 0x70], 0xffffffff
mov byte [ebp - 0x41], 0
mov byte [ebp - 0x42], 0
mov byte [ebp - 0xb1], 1
mov byte [ebp - 0xb2], 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.00406240
mov eax, dword [ebp + 0x4c]
xor edx, edx
mov dword [eax], edx
mov byte [ebp - 0xc0], 0
mov al, byte [ebp + 0x80]
mov byte [ebp - 0xc1], al
mov eax, dword [ebp + 0x2c]
mov byte [eax], 0
mov eax, dword [ebp + 0x2c]
cmp byte [eax], 0
jne 0x4d71e1
mov eax, dword [ebp + 0x5c]
mov eax, dword [eax]
sub eax, 2
jae 0x4d71e1
mov byte [ebp - 0xc0], 1
mov byte [ebp + 0x80], 0
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]
lea eax, [ebp - 0x24]
xor edx, edx
call fcn.00406240
lea eax, [ebp - 0x28]
xor edx, edx
call fcn.00406240
lea eax, [ebp - 0x2c]
xor edx, edx
call fcn.00406240
mov eax, dword [ebp + 0x78]
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp + 0x74]
mov eax, dword [eax]
mov dword [ebp - 0xbc], 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 0x4d724e
mov eax, dword [ebp + 0x10]
add dword [ebp - 0x438], eax
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x29], 0
je 0x4d7302
cmp byte [ebp + 0x84], 0
jne 0x4d7302
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.004384b0
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.004389c8
cmp al, 1
jne 0x4d7297
mov dword [ebp - 0xe8], 0x1fffffff
jmp 0x4d72a8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.00438868
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xe8]
call fcn.004384b8
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 - 0x424]
push eax
mov eax, dword [ebp + 0x94]
mov edx, dword [eax + 0x8c]
mov edx, dword [edx]
mov ecx, dword [ebp - 0x424]
mov eax, dword [ebp - 4]
call fcn.00438e00
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xc8]
call fcn.004384b8
mov byte [ebp - 0xbf], 1
mov eax, dword [ebp + 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp + 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
jmp 0x4de3c8
mov eax, dword [ebp + 0x94]
mov al, byte [eax + 0xc]
mov byte [ebp - 0xc2], al
mov eax, dword [ebp + 0x4c]
inc dword [eax]
mov eax, dword [ebp - 4]
call fcn.004d6f08
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 4]
call fcn.004d6f54
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4de57c
call fcn.00406cb0
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jle 0x4d73f2
mov ecx, dword [ebp - 0x78]
inc ecx
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4de57c
call fcn.0040ac60
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x78]
inc ecx
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4de58c
call fcn.0040ac60
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
jle 0x4d73b8
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x80]
jl 0x4d73f2
cmp dword [ebp - 0x80], 0
jne 0x4d73c7
cmp dword [ebp - 0x84], 0
jg 0x4d73f2
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x80]
jle 0x4d73de
cmp dword [ebp - 0x80], 0
jle 0x4d73de
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x84], 0
jne 0x4d73ec
xor eax, eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jg 0x4d7375
cmp dword [ebp - 0x78], 0
jle 0x4d7411
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x78]
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 1
call fcn.00406998
jmp 0x4d741e
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 8]
mov edx, dword [edx]
call fcn.00406240
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
je 0x4d7450
mov eax, dword [ebp - 0xec]
sub eax, 0xa
cmp word [eax], 2
je 0x4d7450
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je 0x4d7476
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 - 0xa0], eax
cmp dword [ebp - 0xa0], 0
jle 0x4d7661
push 2
lea eax, [ebp - 0x20]
push eax
mov eax, 0x4de59c
mov dword [ebp - 0x478], eax
mov eax, 0x4de57c
mov dword [ebp - 0x474], eax
mov eax, 0x4de58c
mov dword [ebp - 0x470], eax
lea eax, [ebp - 0x478]
push eax
mov eax, 0x4de5ac
mov dword [ebp - 0x484], eax
mov eax, 0x4de5c8
mov dword [ebp - 0x480], eax
mov eax, 0x4de5e0
mov dword [ebp - 0x47c], eax
lea eax, [ebp - 0x484]
mov edx, 2
pop ecx
call fcn.004d6bec
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0
je 0x4d7521
mov eax, dword [ebp - 0xf4]
sub eax, 0xa
cmp word [eax], 2
je 0x4d7521
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0
je 0x4d7547
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 - 0xa0], eax
cmp dword [ebp - 0xe4], 0
jl 0x4d758a
cmp dword [ebp - 0xa0], 0
jle 0x4d758a
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xe4]
jne 0x4d758a
mov eax, dword [ebp - 0x450]
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x430], eax
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4d75d2
cmp dword [ebp - 0xb0], 0
jne 0x4d75d2
mov eax, dword [ebp + 0x58]
cmp dword [eax], 0
jle 0x4d75d2
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x30]
call fcn.004248ec
mov edx, dword [ebp + 0x58]
cmp eax, dword [edx]
jl 0x4d75d2
mov edx, dword [ebp + 0x58]
mov edx, dword [edx]
dec edx
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x30]
call fcn.004e263c
mov dword [ebp - 0xb0], eax
cmp byte [ebp + 0x84], 0
jne 0x4d760e
lea esi, [ebp - 0x438]
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]
cmp byte [ebp - 0xbf], 0
jne 0x4d7647
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x448], eax
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x440], eax
jmp 0x4d7647
lea esi, [ebp - 0x428]
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]
cmp byte [ebp - 0xbf], 0
jne 0x4d7647
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x428]
add eax, dword [ebp + 0x10]
mov dword [ebp - 0x448], eax
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x440], eax
add dword [ebp - 0x444], 0x2710
mov eax, dword [ebp - 0x444]
add eax, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x43c], eax
cmp byte [ebp + 0x88], 0
jne 0x4d7688
cmp dword [ebp - 0xe4], 0
jl 0x4d7680
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xe4]
jle 0x4d7688
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 1
jne 0x4d769f
cmp dword [ebp - 0xa0], 0
jle 0x4d769f
xor eax, eax
mov dword [ebp - 0x7c], eax
mov byte [ebp - 0x41], 0
jmp 0x4d7838
mov eax, dword [ebp + 0x48]
cmp dword [eax], 0
jl 0x4d76ec
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
mov edx, dword [edx]
inc edx
cmp eax, edx
jl 0x4d76ec
xor eax, eax
mov dword [ebp - 0x7c], eax
cmp byte [ebp + 0x88], 0
jne 0x4d76de
cmp dword [ebp - 0xa0], 0
jle 0x4d76de
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
je 0x4d76de
cmp byte [ebp - 0xc1], 0
jne 0x4d76e2
xor eax, eax
jmp 0x4d76e4
mov al, 1
mov byte [ebp - 0x41], al
jmp 0x4d7838
cmp byte [ebp + 0x80], 0
je 0x4d7833
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
setne al
or al, byte [ebp + 0x84]
je 0x4d7833
cmp dword [ebp - 0xa0], 0
jle 0x4d7796
xor eax, eax
mov dword [ebp - 0x45c], eax
lea eax, [ebp - 0x46c]
push eax
mov eax, dword [ebp + 0x94]
mov al, byte [eax + 0x50]
and al, byte [ebp + 0x80]
and eax, 0x7f
mov eax, dword [eax*4 + 0x5647a8]
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 - 0x448]
push eax
mov eax, dword [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0x20]
call fcn.00406278
push eax
mov eax, dword [ebp - 4]
call fcn.00439230
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
jne 0x4d77bb
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x7c], eax
jmp 0x4d77bb
xor eax, eax
mov dword [ebp - 0x7c], eax
cmp byte [ebp - 0xbf], 0
je 0x4d77bb
mov eax, dword [ebp + 0x78]
xor edx, edx
mov dword [eax], edx
cmp byte [ebp + 0x88], 0
jne 0x4d77bb
mov eax, dword [ebp + 0x74]
xor edx, edx
mov dword [eax], edx
cmp dword [ebp - 0xa0], 0
jle 0x4d77cf
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0xa0]
jl 0x4d77d3
xor eax, eax
jmp 0x4d77d5
mov al, 1
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x4d7838
mov eax, dword [ebp + 0x2c]
cmp byte [eax], 0
je 0x4d7838
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 1
jne 0x4d7838
cmp byte [ebp + 0x80], 0
je 0x4d7838
cmp byte [ebp - 0xd5], 0
jne 0x4d7838
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jle 0x4d7838
mov byte [ebp - 0xb1], 1
mov eax, dword [ebp + 0x4c]
dec dword [eax]
mov eax, dword [ebp + 0x6c]
mov edx, dword [ebp - 0xd0]
mov dword [eax], edx
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0xd4]
mov dword [eax + 0x18], edx
jmp 0x4de3e9
xor eax, eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x78], 0
jle 0x4d7865
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x78]
jg 0x4d784c
cmp dword [ebp - 0x7c], 0
jne 0x4d7865
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x78]
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 1
call fcn.00406998
jmp 0x4d7890
cmp dword [ebp - 0x7c], 0
jle 0x4d7883
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x7c]
mov edx, 1
call fcn.00406998
jmp 0x4d7890
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 8]
mov edx, dword [edx]
call fcn.00406240
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
je 0x4d78c2
mov eax, dword [ebp - 0xfc]
sub eax, 0xa
cmp word [eax], 2
je 0x4d78c2
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je 0x4d78e8
mov eax, dword [ebp - 0x100]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
jle 0x4d795d
push 2
lea eax, [ebp - 0x20]
push eax
mov eax, 0x4de59c
mov dword [ebp - 0x478], eax
mov eax, 0x4de57c
mov dword [ebp - 0x474], eax
mov eax, 0x4de58c
mov dword [ebp - 0x470], eax
lea eax, [ebp - 0x478]
push eax
mov eax, 0x4de5ac
mov dword [ebp - 0x484], eax
mov eax, 0x4de5c8
mov dword [ebp - 0x480], eax
mov eax, 0x4de5e0
mov dword [ebp - 0x47c], eax
lea eax, [ebp - 0x484]
mov edx, 2
pop ecx
call fcn.004d6bec
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0
je 0x4d798f
mov eax, dword [ebp - 0x104]
sub eax, 0xa
cmp word [eax], 2
je 0x4d798f
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x4d79b5
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 - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jne 0x4d79cf
mov eax, dword [ebp + 0x4c]
dec dword [eax]
mov eax, dword [ebp - 0x20]
mov edx, 0x4de5f8
call fcn.00406990
jne 0x4d7a0a
lea eax, [ebp - 0x20]
xor edx, edx
call fcn.00406240
mov eax, dword [ebp - 8]
mov ecx, 1
mov edx, 1
call fcn.00406a68
xor eax, eax
mov dword [ebp - 0xa4], eax
xor eax, eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
jle 0x4d7b14
mov eax, dword [ebp + 0x48]
cmp dword [eax], 0
jl 0x4d7b14
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
mov edx, dword [edx]
inc edx
cmp eax, edx
jl 0x4d7b14
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
mov edx, dword [edx]
inc edx
cmp eax, edx
je 0x4d7a5a
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
je 0x4d7a5a
cmp byte [ebp - 0xc1], 0
jne 0x4d7ae3
cmp dword [ebp - 0xb0], 0
je 0x4d7a6f
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x3c], 0
jne 0x4d7ae3
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xa0]
mov edx, 1
call fcn.00406a68
lea eax, [ebp - 0x24]
mov edx, 0x4de5f8
call fcn.00406600
xor eax, eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xb0], 0
je 0x4d7aaa
mov eax, dword [ebp - 0xb0]
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 0x4d7ae3
mov al, byte [ebp - 0xc1]
xor al, 1
and al, byte [ebp - 0xd5]
je 0x4d7ae3
cmp dword [ebp - 0xe4], 0
jl 0x4d7ae3
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xe4]
jle 0x4d7ae3
mov byte [ebp - 0x41], 1
cmp byte [ebp - 0x41], 0
je 0x4d7b14
mov byte [ebp - 0xb1], 1
mov eax, dword [ebp + 0x4c]
dec dword [eax]
mov eax, dword [ebp + 0x6c]
mov edx, dword [ebp - 0xd0]
mov dword [eax], edx
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0xd4]
mov dword [eax + 0x18], edx
jmp 0x4de3e9
cmp dword [ebp - 0xa0], 0
jle 0x4d93f0
mov byte [ebp - 0xbf], 0
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x35], 0
je 0x4d7b4e
mov eax, dword [ebp + 0x68]
mov eax, dword [eax]
mov edx, dword [ebp - 0x50]
shr edx, 2
cmp eax, edx
jge 0x4d7b4e
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 0x4d7b74
mov eax, dword [ebp + 0x64]
mov eax, dword [eax]
mov edx, dword [ebp - 0x50]
shr edx, 2
cmp eax, edx
jge 0x4d7b74
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 - 0xb8], eax
mov eax, dword [ebp + 0x78]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x50]
jge 0x4d7b91
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 - 0xbc], eax
mov eax, dword [ebp + 0x74]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x4c]
jge 0x4d7bae
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp - 0x4c]
mov dword [eax], edx
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4d7bd4
lea eax, [ebp - 0xdc]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
call fcn.00406240
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x20]
call fcn.00406600
mov eax, dword [ebp - 0xc]
lea eax, [ebp - 0x14]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x34]
mov edx, dword [edx]
call fcn.00406240
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
mov edx, dword [ebp - 0x20]
call fcn.00406600
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
lea eax, [ebp - 0x18]
xor edx, edx
call fcn.00406240
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x37], 0
je 0x4d7c2a
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xa0]
mov edx, 1
call fcn.00406a68
mov byte [ebp - 0xb1], 1
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x37], 0
jne 0x4d93f0
cmp byte [ebp + 0x84], 0
jne 0x4d844b
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x36], 0
je 0x4d7c65
mov eax, dword [ebp + 0x64]
mov eax, dword [eax]
sub dword [ebp - 0x42c], eax
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x35], 0
je 0x4d7c7c
mov eax, dword [ebp + 0x68]
mov eax, dword [eax]
add dword [ebp - 0x42c], eax
mov eax, dword [ebp + 0x60]
mov eax, dword [eax]
sub dword [ebp - 0x42c], eax
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp - 0x42c]
sub edx, dword [eax]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp + 0x94]
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]
lea esi, [ebp - 0x438]
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]
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0xbe], 1
mov byte [ebp - 0xbd], 0
push 0
mov eax, dword [ebp + 0x94]
mov al, byte [eax + 0x50]
and al, byte [ebp + 0x80]
and eax, 0x7f
mov eax, dword [eax*4 + 0x5647a8]
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 - 0xa4]
push eax
mov eax, dword [ebp - 0x20]
call fcn.00406278
push eax
mov eax, dword [ebp - 4]
call fcn.00439230
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 0x4d7d87
mov byte [ebp - 0xbe], 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 8]
cmp eax, dword [ebp - 0x430]
jg 0x4d7d76
mov byte [ebp - 0xc2], 0
jmp 0x4d7d87
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x38], 1
mov byte [ebp - 0xbd], 1
mov eax, dword [ebp + 0x94]
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]
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
call fcn.00406240
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
or eax, 0x400
push eax
lea eax, [ebp - 0x438]
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x20]
call fcn.00406278
push eax
mov eax, dword [ebp - 4]
call fcn.00439230
push eax
call sub.user32.dll_DrawTextExW
cmp byte [ebp - 0xbe], 0
je 0x4d7e0c
cmp byte [ebp + 0x80], 0
jne 0x4d7e0c
mov eax, dword [ebp - 0x430]
cmp eax, dword [ebp - 0x440]
jle 0x4d7e0c
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x38], 1
mov byte [ebp - 0xbd], 1
mov eax, dword [ebp - 0x430]
sub eax, dword [ebp - 0x438]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x438]
cmp eax, dword [ebp - 0x420]
jge 0x4d82ad
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x39], 0
je 0x4d7f7a
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.00408e78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00437d44
cmp byte [ebp - 0xc2], 0
jne 0x4d7ea1
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0xc], 0
sete al
and al, byte [ebp - 0xbd]
je 0x4d7f09
cmp dword [ebp - 0xe4], 0
jl 0x4d7f09
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0xe4]
dec edx
cmp eax, edx
jg 0x4d7f09
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0xfffffdff
and eax, 0xfffffeff
xor edx, edx
mov dl, byte [ebp - 0xc2]
or eax, dword [edx*4 + 0x5647b0]
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00406278
push eax
mov eax, dword [ebp - 4]
call fcn.00439230
push eax
call sub.user32.dll_DrawTextExW
jmp 0x4d7f56
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0xfffffdff
xor edx, edx
mov dl, byte [ebp - 0xc2]
or eax, dword [edx*4 + 0x5647b0]
or eax, 0x100
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00406278
push eax
mov eax, dword [ebp - 4]
call fcn.00439230
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp + 0x94]
lea edi, [eax - 0x10]
lea esi, [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]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x90]
call fcn.00437d44
cmp dword [ebp - 0xe4], 0
jl 0x4d825e
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0xe4]
dec edx
cmp eax, edx
jg 0x4d825e
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 8]
mov edx, dword [ebp + 0x94]
cmp eax, dword [edx - 0x10]
jge 0x4d7fc1
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x10]
mov edx, dword [ebp + 0x94]
mov dword [edx - 8], eax
cmp byte [ebp - 0xc2], 0
jne 0x4d80b0
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0xfffffdff
xor edx, edx
mov dl, byte [ebp - 0xc2]
or eax, dword [edx*4 + 0x5647b0]
mov dl, byte [ebp - 0xbd]
xor dl, 1
and edx, 0x7f
or eax, dword [edx*4 + 0x5647a0]
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00406278
push eax
mov eax, dword [ebp - 4]
call fcn.00439230
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 - 0xa8]
jge 0x4d804d
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 - 0x10c], eax
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x10c]
jge 0x4d8081
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x110], eax
jmp 0x4d808d
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x438]
add eax, dword [ebp - 0xa8]
mov dword [ebp - 0x430], eax
jmp 0x4d82da
lea eax, [ebp - 0x1c]
mov edx, 0x4de608
call fcn.00406600
mov eax, dword [ebp - 0x1c]
call fcn.00406278
mov dword [ebp - 0x10], eax
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0xfffffdff
and eax, 0xfffffeff
or eax, 0x10000
xor edx, edx
mov dl, byte [ebp - 0xc2]
or eax, dword [edx*4 + 0x5647b0]
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 4]
call fcn.00439230
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp - 0x20]
call fcn.00406278
mov edx, dword [ebp - 0x10]
call fcn.0040e094
test eax, eax
je 0x4d82da
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x38], 1
mov byte [ebp - 0xbd], 1
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
call fcn.00406398
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
je 0x4d817b
mov eax, dword [ebp - 0x114]
sub eax, 0xa
cmp word [eax], 2
je 0x4d817b
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
call fcn.00405658
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
je 0x4d81a1
mov eax, dword [ebp - 0x118]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 8]
mov edx, dword [ebp + 0x94]
sub eax, dword [edx - 0x10]
mov dword [ebp - 0xa8], 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 - 0xa4]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00406278
push eax
mov eax, dword [ebp - 4]
call fcn.00439230
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 - 0x11c], eax
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x11c]
jge 0x4d8232
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x120], eax
jmp 0x4d823e
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x438]
add eax, dword [ebp - 0xa8]
mov dword [ebp - 0x430], eax
jmp 0x4d82da
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0xfffffdff
xor edx, edx
mov dl, byte [ebp - 0xc2]
or eax, dword [edx*4 + 0x5647b0]
or eax, 0x100
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00406278
push eax
mov eax, dword [ebp - 4]
call fcn.00439230
push eax
call sub.user32.dll_DrawTextExW
jmp 0x4d82da
cmp dword [ebp - 0xe4], 0
jl 0x4d82da
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0xe4]
dec edx
cmp eax, edx
jg 0x4d82da
xor eax, eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x430], eax
mov eax, dword [ebp + 0x7c]
mov edx, dword [ebp - 0xa8]
add dword [eax], edx
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4d8323
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x78], 0
jl 0x4d8323
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 0x4d8323
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx - 0x40]
call fcn.004061ec
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x41], 0
je 0x4d83ea
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, 0xff
call fcn.004384b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, 1
call fcn.004385f8
mov eax, dword [ebp - 0x438]
sar eax, 1
jns 0x4d8360
adc eax, 0
add eax, eax
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
and eax, 0x80000003
jns 0x4d837a
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x4d8387
mov dword [ebp - 0x80], 2
jmp 0x4d838c
xor eax, eax
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x41c]
add ecx, dword [ebp - 0x80]
dec ecx
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 4]
call fcn.00438d98
jmp 0x4d83dc
cmp dword [ebp - 0x80], 2
jne 0x4d83b3
xor eax, eax
mov dword [ebp - 0x80], eax
jmp 0x4d83ba
mov dword [ebp - 0x80], 2
mov ecx, dword [ebp - 0x41c]
add ecx, dword [ebp - 0x80]
dec ecx
mov edx, dword [ebp - 0x84]
add edx, 2
mov eax, dword [ebp - 4]
call fcn.00438d38
add dword [ebp - 0x84], 2
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x430]
jl 0x4d83a6
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0x20000
cmp eax, 0x20000
je 0x4d8419
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x430], eax
jmp 0x4d842e
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x430]
add eax, dword [ebp - 0x438]
mov dword [ebp - 0x430], eax
mov eax, dword [ebp - 0x41c]
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x424]
mov dword [ebp - 0x434], eax
jmp 0x4d921a
cmp byte [ebp + 0x88], 0
jne 0x4d84f2
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x14]
cmp byte [eax], 0
jne 0x4d8472
mov eax, dword [ebp + 0x48]
cmp dword [eax], 0
jl 0x4d84f2
mov eax, dword [ebp + 0x48]
cmp dword [eax], 0
jle 0x4d84f2
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
cmp eax, dword [edx]
jne 0x4d84f2
cmp dword [ebp - 0xb0], 0
je 0x4d84b9
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x3c], 0
je 0x4d84b9
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jle 0x4d84b9
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 0x4de4fe
lea eax, [ebp - 0x18]
mov edx, 0x4de628
call fcn.00406240
cmp byte [ebp - 0xc2], 1
je 0x4d84e1
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x18]
call fcn.00406600
add dword [ebp - 0xa4], 3
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x14]
mov al, byte [eax]
mov byte [ebp - 0xd5], al
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]
mov eax, dword [ebp - 0x430]
cmp eax, dword [ebp - 0x438]
jge 0x4d851c
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x430], eax
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
or eax, 0x400
push eax
lea eax, [ebp - 0x438]
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x20]
call fcn.00406278
push eax
mov eax, dword [ebp - 4]
call fcn.00439230
push eax
call sub.user32.dll_DrawTextExW
xor eax, eax
mov dword [ebp - 0x48], eax
cmp byte [ebp + 0x88], 0
je 0x4d861c
cmp dword [ebp - 0x20], 0
je 0x4d861c
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
je 0x4d85a0
mov eax, dword [ebp - 0x124]
sub eax, 0xa
cmp word [eax], 2
je 0x4d85a0
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x4d85d2
mov eax, dword [ebp - 0x128]
sub eax, 0xa
cmp word [eax], 2
je 0x4d85d2
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x20]
call fcn.00405658
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0x4d85f8
mov eax, dword [ebp - 0x12c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x124]
mov edx, dword [ebp - 0x12c]
cmp word [eax + edx*2 - 2], 0x20
jne 0x4d861c
mov edx, 0x4de59c
mov eax, dword [ebp - 4]
call fcn.00439064
mov dword [ebp - 0x48], eax
cmp byte [ebp + 0x88], 0
je 0x4d882f
mov eax, dword [ebp - 0x430]
sub eax, dword [ebp - 0x438]
sub eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x440]
sub edx, dword [ebp - 0x448]
cmp eax, edx
jle 0x4d882f
cmp byte [ebp - 0xc2], 0
jne 0x4d867e
mov eax, dword [ebp - 0x440]
sub eax, dword [ebp - 0x448]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x438]
add eax, dword [ebp - 0xa8]
mov dword [ebp - 0x430], eax
jmp 0x4d882f
lea eax, [ebp - 0x1c]
mov ecx, 0x4de608
mov edx, dword [ebp - 0x20]
call fcn.004066c0
mov eax, dword [ebp - 0x1c]
call fcn.00406278
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x94]
lea edi, [eax - 0x10]
lea esi, [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]
push 0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0xfffffdff
and eax, 0xfffffeff
or eax, 0x10000
xor edx, edx
mov dl, byte [ebp - 0xc2]
or eax, dword [edx*4 + 0x5647b0]
push eax
mov eax, dword [ebp + 0x94]
add eax, 0xfffffff0
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 4]
call fcn.00439230
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp - 0x20]
call fcn.00406278
mov edx, dword [ebp - 0x10]
call fcn.0040e094
test eax, eax
je 0x4d882f
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
call fcn.00406398
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 8]
mov edx, dword [ebp + 0x94]
sub eax, dword [edx - 0x10]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 4]
call fcn.00439230
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x4d8774
mov eax, dword [ebp - 0x130]
sub eax, 0xa
cmp word [eax], 2
je 0x4d8774
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
call fcn.00405658
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
je 0x4d879a
mov eax, dword [ebp - 0x134]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x134], 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 - 0x134]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00406278
push eax
mov eax, dword [ebp - 0x138]
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 - 0x13c], eax
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x13c]
jge 0x4d8805
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x140], eax
jmp 0x4d8811
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x438]
add eax, dword [ebp - 0xa8]
mov dword [ebp - 0x430], eax
mov eax, dword [ebp + 0x34]
cmp eax, dword [ebp - 0x434]
jl 0x4d88c4
mov eax, dword [ebp + 0x34]
cmp eax, dword [ebp - 0x42c]
jge 0x4d88c4
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
cmp eax, dword [ebp + 0x38]
jge 0x4d88c4
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 - 0xa4]
push eax
mov eax, dword [ebp - 0x20]
call fcn.00406278
push eax
mov eax, dword [ebp - 4]
call fcn.00439230
push eax
call sub.gdi32.dll_GetTextExtentExPointW
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x14]
cmp eax, dword [ebp - 0xa0]
jne 0x4d88b2
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0xa0]
add dword [eax - 0x48], edx
jmp 0x4d88c4
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x14]
mov edx, dword [ebp + 0x94]
add dword [edx - 0x48], eax
mov eax, dword [ebp - 0x430]
sub eax, dword [ebp - 0x438]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jge 0x4d88e7
xor eax, eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0x7c]
mov edx, dword [ebp - 0xa8]
add dword [eax], edx
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x34]
and eax, 0x20000
cmp eax, 0x20000
jne 0x4d891b
mov eax, dword [ebp - 0x420]
sub eax, dword [ebp + 0x38]
sub eax, dword [ebp - 0x438]
mov dword [ebp - 0x5c], eax
jmp 0x4d8927
mov eax, dword [ebp + 0x38]
sub eax, dword [ebp - 0x438]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x24]
mov al, byte [eax]
and al, byte [ebp + 0x88]
je 0x4d8abf
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp - 0x42c]
sub edx, dword [eax]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp - 0x42c]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x434], eax
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x428]
mov dword [ebp - 0x430], eax
mov eax, dword [ebp - 0x430]
sub eax, dword [ebp - 0xa8]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp + 0x30]
mov eax, dword [eax]
mov edx, dword [ebp + 0x30]
cmp eax, dword [edx + 8]
jne 0x4d89a4
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x438]
mov dword [eax], edx
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x430]
mov dword [eax + 8], edx
jmp 0x4d89d6
mov eax, dword [ebp + 0x30]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x438]
jle 0x4d89bc
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x438]
mov dword [eax], edx
mov eax, dword [ebp + 0x30]
mov eax, dword [eax + 8]
cmp eax, dword [ebp - 0x430]
jge 0x4d89d6
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x430]
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 0x4d89fe
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x434]
mov dword [eax + 4], edx
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x42c]
mov dword [eax + 0xc], edx
jmp 0x4d8a32
mov eax, dword [ebp + 0x30]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x434]
jle 0x4d8a18
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x434]
mov dword [eax + 4], edx
mov eax, dword [ebp + 0x30]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x42c]
jge 0x4d8a32
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x42c]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp - 0x438]
jl 0x4d8a98
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp - 0x430]
jg 0x4d8a98
mov eax, dword [ebp + 0x34]
cmp eax, dword [ebp - 0x434]
jl 0x4d8a98
mov eax, dword [ebp + 0x34]
cmp eax, dword [ebp - 0x42c]
jge 0x4d8a98
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.004061ec
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx - 0x28]
call fcn.004061ec
mov eax, dword [ebp + 0x28]
mov byte [eax], 1
mov eax, dword [ebp + 0x28]
cmp byte [eax], 0
je 0x4d8abf
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x1c]
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]
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 0x4d8b0a
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x428]
add eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 0x420]
jle 0x4d8b0a
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xe4]
je 0x4d8b0a
cmp dword [ebp - 0x18], 0
je 0x4d8b06
cmp dword [ebp - 0xb0], 0
je 0x4d8b0a
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x3c], 0
je 0x4d8b0a
xor eax, eax
jmp 0x4d8b0c
mov al, 1
mov byte [ebp - 0xb1], al
mov al, byte [ebp - 0xb1]
mov byte [ebp - 0xb2], al
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4d8bc1
cmp byte [ebp - 0xb1], 0
je 0x4d8b65
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x428]
add eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 0x420]
jg 0x4d8b4f
cmp dword [ebp - 0x18], 0
je 0x4d8bc1
cmp byte [ebp - 0xd5], 0
jne 0x4d8b65
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xe4]
jge 0x4d8bc1
cmp dword [ebp - 0xb0], 0
je 0x4d8bc1
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x3d], 1
cmp byte [ebp + 0x80], 0
je 0x4d8b90
cmp byte [ebp - 0x41], 0
jne 0x4d8bc1
cmp dword [ebp - 0xe4], 0
jl 0x4d8bc1
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x3c], 0
je 0x4d8bc1
mov eax, dword [ebp - 0x450]
sub eax, dword [ebp - 0x458]
cmp eax, dword [ebp - 0xa8]
jl 0x4d8bba
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x3d], 0
mov byte [ebp - 0xb1], 1
mov al, byte [ebp - 0xb1]
xor al, 1
and al, byte [ebp + 0x80]
je 0x4d8bee
cmp dword [ebp - 0xe4], 0
jl 0x4d8bee
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xe4]
jg 0x4d8bee
mov byte [ebp - 0xb1], 1
cmp byte [ebp - 0xd5], 0
je 0x4d8c0c
cmp byte [ebp - 0xb1], 0
jne 0x4d8c0c
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jg 0x4d8cfe
cmp byte [ebp - 0xdd], 0
jne 0x4d8c4c
cmp byte [ebp - 0xd5], 0
jne 0x4d8c4c
cmp byte [ebp - 0xb1], 0
jne 0x4d8c4c
cmp byte [ebp + 0x80], 0
jne 0x4d8c4c
cmp byte [ebp - 0xc0], 0
jne 0x4d8c4c
cmp byte [ebp - 0x41], 0
jne 0x4d8c4c
cmp byte [ebp - 0xc2], 0
jne 0x4d8cfe
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x44]
cmp eax, dword [edx]
jge 0x4d8ca6
cmp byte [ebp - 0xdd], 0
jne 0x4d8ca6
cmp byte [ebp - 0xd5], 0
jne 0x4d8c76
mov eax, dword [ebp + 0x48]
mov eax, dword [eax]
mov edx, dword [ebp + 0x4c]
cmp eax, dword [edx]
jne 0x4d8ca6
cmp byte [ebp - 0xb1], 0
je 0x4d8ca6
cmp dword [ebp - 0x18], 0
je 0x4d8ca6
cmp byte [ebp + 0x80], 0
jne 0x4d8ca6
cmp byte [ebp - 0xc0], 0
jne 0x4d8ca6
cmp byte [ebp - 0x41], 0
jne 0x4d8ca6
cmp byte [ebp - 0xc2], 0
jne 0x4d8cfe
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0xe4]
dec edx
cmp eax, edx
sete al
and al, byte [ebp + 0x80]
je 0x4d8e7b
cmp byte [ebp - 0x41], 0
jne 0x4d8e7b
cmp byte [ebp - 0xc2], 0
je 0x4d8e7b
cmp byte [ebp - 0xb1], 0
je 0x4d8e7b
cmp byte [ebp - 0xb2], 0
jne 0x4d8e7b
cmp dword [ebp - 0x18], 0
jne 0x4d8e7b
lea eax, [ebp - 0x488]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x20]
call fcn.00406998
lea eax, [ebp - 0x488]
mov edx, 0x4de628
call fcn.00406600
mov edx, dword [ebp - 0x488]
mov eax, dword [ebp - 4]
call fcn.00439064
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
sub eax, dword [ebp - 0xa8]
add eax, dword [ebp - 0x428]
add eax, dword [ebp + 0x10]
add eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x420]
jle 0x4d8e72
cmp byte [ebp - 0xc1], 0
je 0x4d8d72
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 0
jg 0x4d8d76
xor eax, eax
jmp 0x4d8d78
mov al, 1
mov byte [ebp - 0x41], al
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x38], 1
cmp byte [ebp - 0xd5], 0
je 0x4d8db4
mov eax, dword [ebp + 0x48]
cmp dword [eax], 1
jle 0x4d8db4
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 0
jle 0x4d8db4
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 0x4de4fe
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jle 0x4d8df1
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x14]
cmp byte [eax], 0
je 0x4d8df1
cmp byte [ebp - 0xd5], 0
jne 0x4d8df1
mov eax, dword [ebp + 0x48]
cmp dword [eax], 1
jle 0x4d8df1
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 0x4de4fe
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x14]
cmp byte [eax], 0
jne 0x4d8e47
cmp byte [ebp - 0xdd], 0
jne 0x4d8e47
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
je 0x4d8e29
cmp byte [ebp + 0x80], 0
je 0x4d8e29
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0xe4]
dec edx
cmp eax, edx
jne 0x4d8e47
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jle 0x4d8e47
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 0x4de4fe
cmp byte [ebp - 0xdd], 0
jne 0x4d8e8f
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
je 0x4d8e61
cmp byte [ebp + 0x80], 0
jne 0x4d8e8f
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jne 0x4d8e8f
mov byte [ebp - 0xb1], 1
jmp 0x4d8e8f
mov byte [ebp - 0xb1], 1
jmp 0x4d8e8f
mov al, byte [ebp + 0x80]
xor al, 1
or al, byte [ebp - 0xb1]
mov byte [ebp - 0xb1], al
cmp byte [ebp - 0xb1], 0
jne 0x4d9091
cmp byte [ebp + 0x80], 0
je 0x4d9091
push 0
mov eax, dword [ebp + 0x94]
mov al, byte [eax + 0x50]
and al, byte [ebp + 0x80]
and eax, 0x7f
mov eax, dword [eax*4 + 0x5647a8]
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 - 0x448]
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x20]
call fcn.00406278
push eax
mov eax, dword [ebp - 4]
call fcn.00439230
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp - 0x43c]
sub eax, dword [ebp - 0x444]
cmp eax, dword [ebp - 0x50]
setle byte [ebp - 0xb1]
cmp byte [ebp - 0xb1], 0
je 0x4d8f5b
mov eax, dword [ebp - 0x448]
cmp eax, dword [ebp - 0x420]
jge 0x4d8f47
mov eax, dword [ebp - 0x440]
cmp eax, dword [ebp - 0x420]
jle 0x4d8f53
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
je 0x4d8f53
xor eax, eax
jmp 0x4d8f55
mov al, 1
mov byte [ebp - 0xb1], al
cmp byte [ebp - 0xb1], 0
jne 0x4d9104
cmp byte [ebp - 0xc2], 0
je 0x4d9104
mov eax, dword [ebp - 0x424]
add eax, dword [ebp - 0xb8]
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 0x4d9104
lea eax, [ebp - 0x48c]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x20]
call fcn.00406998
lea eax, [ebp - 0x48c]
mov edx, 0x4de628
call fcn.00406600
mov edx, dword [ebp - 0x48c]
mov eax, dword [ebp - 4]
call fcn.00439064
mov edx, dword [ebp + 0x7c]
mov edx, dword [edx]
sub edx, dword [ebp - 0xa8]
add edx, dword [ebp - 0x428]
add edx, dword [ebp + 0x10]
add eax, edx
cmp eax, dword [ebp - 0x420]
jle 0x4d9015
cmp dword [ebp - 0xb0], 0
je 0x4d9104
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x3c], 0
je 0x4d9104
mov byte [ebp - 0xb1], 1
cmp byte [ebp - 0x41], 0
jne 0x4d9104
cmp byte [ebp - 0xb2], 0
jne 0x4d9104
cmp dword [ebp - 0xb0], 0
je 0x4d9104
cmp dword [ebp - 0xe4], 0
jge 0x4d9104
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x3c], 0
je 0x4d9104
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x3d], 0
mov eax, dword [ebp + 0x8c]
mov edx, dword [ebp - 0xa8]
add dword [eax + 8], edx
mov eax, dword [ebp + 0x44]
cmp dword [eax], 0
jge 0x4de4fe
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x44]
mov dword [edx], eax
jmp 0x4de4fe
cmp byte [ebp + 0x88], 0
jne 0x4d9104
cmp byte [ebp + 0x80], 0
je 0x4d90a9
cmp byte [ebp - 0x41], 0
jne 0x4d9104
cmp byte [ebp - 0xb2], 0
jne 0x4d9104
cmp dword [ebp - 0xb0], 0
je 0x4d9104
cmp dword [ebp - 0xe4], 0
jge 0x4d9104
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x3c], 0
je 0x4d9104
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x3d], 0
mov eax, dword [ebp + 0x8c]
mov edx, dword [ebp - 0xa8]
add dword [eax + 8], edx
mov eax, dword [ebp + 0x44]
cmp dword [eax], 0
jge 0x4de4fe
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x44]
mov dword [edx], eax
jmp 0x4de4fe
mov al, byte [ebp - 0xb1]
and al, byte [ebp + 0x80]
je 0x4d91a7
cmp byte [ebp - 0x41], 0
jne 0x4d91a7
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x428]
add eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 0x420]
jl 0x4d91a7
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
je 0x4d916c
mov eax, dword [ebp - 0x144]
sub eax, 0xa
cmp word [eax], 2
je 0x4d916c
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, dword [ebp - 8]
call fcn.00405658
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
je 0x4d9192
mov eax, dword [ebp - 0x148]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x148]
setl byte [ebp - 0x149]
jmp 0x4d91ae
mov byte [ebp - 0x149], 0
cmp byte [ebp - 0x149], 0
je 0x4d91d0
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, dword [ebp - 0xa0]
cmp word [eax + edx*2], 0x3c
sete byte [ebp - 0x14a]
jmp 0x4d91d7
mov byte [ebp - 0x14a], 0
cmp byte [ebp - 0x14a], 0
jne 0x4d920e
cmp byte [ebp + 0x80], 0
je 0x4d920e
cmp byte [ebp - 0x41], 0
jne 0x4d9209
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x428]
add eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 0x420]
jge 0x4d9209
xor eax, eax
jmp 0x4d920b
mov al, 1
mov byte [ebp - 0x41], al
mov al, byte [ebp - 0xb1]
mov byte [ebp - 0xb1], al
lea eax, [ebp - 0x40]
mov edx, dword [ebp - 0x20]
call fcn.00406600
cmp byte [ebp + 0x80], 0
je 0x4d92ab
cmp byte [ebp - 0x41], 0
jne 0x4d923d
cmp byte [ebp + 0x84], 0
jne 0x4d92ab
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
jl 0x4d92ab
mov byte [ebp - 0xd6], 0
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 0
je 0x4d9274
mov eax, dword [ebp + 0x5c]
cmp dword [eax], 1
jne 0x4d9274
mov eax, dword [ebp + 0x2c]
cmp byte [eax], 0
je 0x4d9274
cmp byte [ebp - 0xb1], 0
jne 0x4d9274
mov byte [ebp - 0xd6], 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 0x4d92d8
cmp byte [ebp - 0xd6], 0
jne 0x4d92d8
mov byte [ebp - 0x41], 0
mov byte [ebp - 0xb1], 1
mov byte [ebp + 0x80], 0
mov byte [ebp - 0xc0], 1
jmp 0x4d92d8
cmp byte [ebp - 0xc0], 0
je 0x4d92d8
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 1
jle 0x4d92c1
mov eax, dword [ebp + 0x4c]
dec dword [eax]
mov byte [ebp - 0xc0], 0
mov byte [ebp - 0x41], 0
mov al, byte [ebp - 0xc1]
mov byte [ebp + 0x80], al
cmp byte [ebp - 0xb1], 0
jne 0x4d92f4
cmp byte [ebp + 0x80], 0
jne 0x4d9372
cmp byte [ebp - 0x41], 0
jne 0x4d9372
lea eax, [ebp - 0x490]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xa0]
mov edx, 1
call fcn.00406998
mov edx, dword [ebp - 0x490]
lea eax, [ebp - 0x24]
call fcn.00406600
cmp byte [ebp - 0xc2], 1
je 0x4d9332
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x18]
call fcn.00406600
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xa0]
mov edx, 1
call fcn.00406a68
cmp byte [ebp - 0x41], 0
je 0x4d9356
mov eax, dword [ebp + 0x70]
mov edx, dword [ebp - 0xcc]
mov dword [eax], edx
mov eax, dword [ebp + 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xd4], eax
jmp 0x4d93f0
mov eax, dword [ebp + 0x4c]
dec dword [eax]
cmp dword [ebp - 0xb0], 0
je 0x4d938a
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x3d], 0
mov byte [ebp - 0x41], 1
mov eax, dword [ebp + 0x7c]
mov edx, dword [ebp - 0xa8]
sub dword [eax], edx
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp - 0xb8]
mov dword [eax], edx
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp - 0xbc]
mov dword [eax], edx
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4d93c5
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xdc]
call fcn.004061ec
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
mov edx, dword [ebp - 0x14]
call fcn.004061ec
mov eax, dword [ebp + 0x6c]
mov edx, dword [ebp - 0xd0]
mov dword [eax], edx
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0xd4]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4de57c
call fcn.00406cb0
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 1
jne 0x4d9477
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
je 0x4d943e
mov eax, dword [ebp - 0x150]
sub eax, 0xa
cmp word [eax], 2
je 0x4d943e
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, dword [ebp - 8]
call fcn.00405658
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
je 0x4d9464
mov eax, dword [ebp - 0x154]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 2
jg 0x4d9477
mov eax, dword [ebp - 8]
xor edx, edx
call fcn.004061ec
cmp byte [ebp - 0x41], 0
jne 0x4de3c8
cmp dword [ebp - 0x78], 1
jne 0x4de3c8
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 0
je 0x4d94c1
mov eax, dword [ebp - 0x158]
sub eax, 0xa
cmp word [eax], 2
je 0x4d94c1
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, dword [ebp - 8]
call fcn.00405658
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 0
je 0x4d94e7
mov eax, dword [ebp - 0x15c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 2
jle 0x4de3c8
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp word [eax + 2], 0x2f
jne 0x4d956c
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 0
je 0x4d9536
mov eax, dword [ebp - 0x160]
sub eax, 0xa
cmp word [eax], 2
je 0x4d9536
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, dword [ebp - 8]
call fcn.00405658
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 0
je 0x4d955c
mov eax, dword [ebp - 0x164]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 3
setg byte [ebp - 0x165]
jmp 0x4d9573
mov byte [ebp - 0x165], 0
cmp byte [ebp - 0x165], 0
je 0x4d9d2d
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 4]
mov word [ebp - 0x168], ax
mov ax, word [ebp - 0x168]
mov word [ebp - 0x16a], ax
mov ax, word [ebp - 0x168]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4d95c0
mov ax, word [ebp - 0x168]
and ax, 0xffdf
mov word [ebp - 0x16a], ax
movzx eax, word [ebp - 0x16a]
add eax, 0xffffffbf
cmp eax, 0x19
ja case.0x4d9d80.67
jmp dword [eax*4 + 0x4d95da]
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je case.0x4d9d80.67
cmp byte [ebp + 0x84], 0
jne 0x4d96b0
mov eax, dword [ebp + 0x94]
cmp dword [eax - 0x4c], 0x1fffffff
jne 0x4d9675
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp 0x4d96b0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x4c]
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0x1fffffff
jne 0x4d969f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp 0x4d96b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x170]
call fcn.00438870
mov eax, dword [ebp - 0xc]
xor edx, edx
call fcn.004061ec
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x58], 0
jne 0x4d96e5
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x74], 0
jl 0x4d9702
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 0x4d9702
cmp byte [ebp + 0x84], 0
jne 0x4d9702
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0x50]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00437d44
cmp byte [ebp + 0x84], 0
jne 0x4d972e
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne 0x4d972e
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x54]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00437d44
cmp byte [ebp + 0x88], 0
je 0x4d97dd
mov eax, dword [ebp + 0x28]
cmp byte [eax], 0
je 0x4d97ba
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x41c]
mov dword [eax - 0x58], edx
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
add eax, dword [ebp - 0x428]
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x5c], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x60]
cmp eax, dword [ebp - 0x424]
je 0x4d9795
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x428]
mov dword [eax - 0x64], edx
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x424]
mov dword [eax - 0x60], edx
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x1c]
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]
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 - 0x4a0]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00408d7c
mov eax, dword [ebp + 0x30]
lea esi, [ebp - 0x4a0]
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]
mov eax, dword [ebp + 0x58]
cmp dword [eax], 0
jle 0x4d983b
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x30]
call fcn.004248ec
mov edx, dword [ebp + 0x58]
cmp eax, dword [edx]
jl 0x4d983b
mov edx, dword [ebp + 0x58]
mov edx, dword [edx]
dec edx
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x30]
call fcn.004e263c
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xb0]
cmp dword [eax + 0x30], 0
jne 0x4d983b
mov al, byte [ebp - 0xc1]
mov byte [ebp + 0x80], al
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x78], 0
jl 0x4d98b3
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 0x4d98b3
cmp byte [ebp + 0x84], 0
jne 0x4d98b3
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x438]
mov dword [eax - 0x6c], edx
mov eax, dword [ebp + 0x60]
mov edx, dword [ebp - 0x42c]
sub edx, dword [eax]
mov eax, dword [ebp + 0x94]
mov dword [eax - 0x68], edx
mov eax, dword [ebp - 4]
call fcn.004d6f08
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 - 4]
call fcn.00438c78
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0x78]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
call dword [ecx + 8]
xor eax, eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0x5c]
mov dword [eax], 0xffffffff
mov eax, dword [ebp + 0x24]
mov byte [eax], 0
cmp byte [ebp - 0xc0], 0
je case.0x4d9d80.67
mov byte [ebp - 0xc0], 0
mov byte [ebp - 0x41], 0
mov al, byte [ebp - 0xc1]
mov byte [ebp + 0x80], al
jmp case.0x4d9d80.67
cmp byte [ebp + 0x84], 0
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x41], 0
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp word [eax + 6], 0x3e
je 0x4d994b
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x54]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00437d44
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.004380f4
mov dl, byte [0x4de630]
not edx
and dl, al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00438100
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0x172], ax
mov ax, word [ebp - 0x172]
mov word [ebp - 0x174], ax
mov ax, word [ebp - 0x172]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4d99b0
mov ax, word [ebp - 0x172]
and ax, 0xffdf
mov word [ebp - 0x174], ax
mov ax, word [ebp - 0x174]
mov word [ebp - 0xaa], ax
cmp word [ebp - 0xaa], 0x54
jne 0x4d99ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.004380f4
mov dl, byte [0x4de634]
not edx
and dl, al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00438100
jmp case.0x4d9d80.67
cmp word [ebp - 0xaa], 0x55
jne 0x4d9a10
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x36], 0
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x35], 0
jmp case.0x4d9d80.67
cmp word [ebp - 0xaa], 0x50
jne 0x4d9a67
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x7c]
mov dword [ebp - 0x178], eax
cmp dword [ebp - 0x178], 0x1fffffff
jne 0x4d9a44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp 0x4d9a55
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x178]
call fcn.00438870
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp case.0x4d9d80.67
cmp word [ebp - 0xaa], 0x48
jne 0x4d9a80
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x39], 0
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.004380f4
mov dl, byte [0x4de634]
not edx
and dl, al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00438100
jmp case.0x4d9d80.67
lea edx, [ebp - 0x4a4]
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x54]
call fcn.00438008
mov edx, dword [ebp - 0x4a4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.0043805c
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x54]
call fcn.00437fc8
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00437fd0
cmp byte [ebp + 0x84], 0
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x54]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00437d44
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x7c]
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x17c], 0x1fffffff
jne 0x4d9b46
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x17c]
call fcn.00438870
jmp case.0x4d9d80.67
cmp byte [ebp + 0x84], 0
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00437d44
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x84]
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0x1fffffff
jne 0x4d9bad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x180]
call fcn.00438870
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.004380f4
mov dl, byte [0x4de638]
not edx
and dl, al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00438100
jmp case.0x4d9d80.67
mov byte [ebp - 0x41], 1
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp word [eax + 6], 0x3e
je 0x4d9c1c
mov eax, dword [ebp + 0x50]
cmp dword [eax], 0
jle 0x4d9c1c
mov eax, dword [ebp + 0x50]
dec dword [eax]
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x85], 0
jmp case.0x4d9d80.67
mov eax, dword [ebp + 0xc]
xor edx, edx
mov dword [eax], edx
jmp case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
mov al, 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, 0x4de648
call fcn.00406600
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
cmp byte [ebp + 0x84], 0
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x8c]
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x184], 0x1fffffff
jne 0x4d9cb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x184]
call fcn.00438870
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp word [eax + 6], 0x3e
je 0x4d9ce4
mov eax, dword [ebp + 0x50]
cmp dword [eax], 0
jle 0x4d9ce4
mov eax, dword [ebp + 0x50]
dec dword [eax]
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.004380f4
mov dl, byte [0x4de650]
not edx
and dl, al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00438100
jmp case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
push eax
mov eax, dword [ebp - 4]
call fcn.004d702c
pop ecx
jmp case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x37], 0
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 2]
mov word [ebp - 0x186], ax
mov ax, word [ebp - 0x186]
mov word [ebp - 0x188], ax
mov ax, word [ebp - 0x186]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4d9d6d
mov ax, word [ebp - 0x186]
and ax, 0xffdf
mov word [ebp - 0x188], ax
movzx eax, word [ebp - 0x188]
add eax, 0xffffffbf
cmp eax, 0x19
ja case.0x4d9d80.67
jmp dword [eax*4 + 0x4d9d87]
mov eax, dword [ebp - 4]
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 0x4d9e46
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x78]
mov edx, dword [ebp + 0x58]
cmp eax, dword [edx]
jne 0x4d9e46
cmp byte [ebp + 0x84], 0
jne 0x4d9e46
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x438]
mov dword [eax - 0x74], edx
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x434]
mov dword [eax - 0x70], edx
cmp byte [ebp + 0x84], 0
jne 0x4d9e8a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.004389c8
cmp al, 1
jne 0x4d9e6a
mov dword [ebp - 0x18c], 0x1fffffff
jmp 0x4d9e7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.00438868
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x18c]
mov dword [eax - 0x4c], edx
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x58], 0
jne 0x4d9eba
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x74], 0
jl 0x4d9f4f
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x74]
mov edx, dword [ebp + 0x58]
cmp eax, dword [edx]
jne 0x4d9f4f
cmp byte [ebp + 0x84], 0
jne 0x4d9f4f
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x44], 0x1fffffff
je 0x4d9f1a
cmp byte [ebp + 0x84], 0
jne 0x4d9f1a
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0x1fffffff
jne 0x4d9f09
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp 0x4d9f1a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x190]
call fcn.00438870
mov eax, dword [ebp - 4]
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 0x4d9f4f
mov eax, dword [ebp + 0x94]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00437d44
mov eax, dword [ebp - 0xc]
xor edx, edx
call fcn.004061ec
mov eax, dword [ebp + 0x2c]
mov byte [eax], 1
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4de58c
call fcn.00406cb0
inc eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0x5c]
mov dword [eax], 0xffffffff
xor eax, eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0x58]
cmp dword [eax], 0
jl 0x4da194
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x30]
call fcn.004248ec
mov edx, dword [ebp + 0x58]
cmp eax, dword [edx]
jle 0x4da194
mov edx, dword [ebp + 0x58]
mov edx, dword [edx]
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x30]
call fcn.004e263c
mov dword [ebp - 0xb0], eax
cmp byte [ebp + 0x84], 0
je 0x4da0ad
cmp byte [ebp + 0x88], 0
jne 0x4da0ee
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x3d], 0
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov ecx, dword [ebp - 0x70]
mov eax, 0x4de660
call fcn.0040ac60
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jne 0x4da066
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 0
je 0x4da036
mov eax, dword [ebp - 0x194]
sub eax, 0xa
cmp word [eax], 2
je 0x4da036
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, dword [ebp - 8]
call fcn.00405658
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
je 0x4da05c
mov eax, dword [ebp - 0x198]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
inc eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xb0]
add eax, 0x40
push eax
mov ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, dword [ebp - 0x70]
call fcn.00406998
lea edx, [ebp - 0x4a8]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x40]
call fcn.004d6d6c
mov edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0xb0]
add eax, 0x40
call fcn.004061ec
jmp 0x4da0ee
mov eax, dword [ebp - 0xb0]
cmp dword [eax + 0x20], 0x1fffffff
je 0x4da0ee
mov eax, dword [ebp - 0xb0]
cmp dword [eax + 0x20], 0x1fffffff
jne 0x4da0da
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp 0x4da0ee
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.00438870
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
call dword [ecx + 8]
cmp byte [ebp + 0x84], 0
jne 0x4da13b
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x58], 0
jne 0x4da127
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x74]
mov edx, dword [ebp + 0x58]
cmp eax, dword [edx]
jne 0x4da13b
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp + 0x5c]
mov dword [edx], eax
mov eax, dword [ebp - 0xb0]
cmp dword [eax + 0x38], 0xffffd8f1
je 0x4da185
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp + 0x70]
mov dword [edx], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp + 0x6c]
mov dword [edx], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xcc], eax
jmp 0x4da194
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x70]
sub ecx, 2
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00406998
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x34]
call fcn.0040c4d8
mov edx, dword [ebp - 0x30]
mov eax, 0x4de678
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
jle 0x4da27a
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0
je 0x4da210
mov eax, dword [ebp - 0x1a0]
sub eax, 0xa
cmp word [eax], 2
je 0x4da210
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
je 0x4da236
mov eax, dword [ebp - 0x1a4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 7
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x30]
call fcn.00406998
lea edx, [ebp - 0x4ac]
mov eax, dword [ebp - 0x38]
call fcn.004d6884
mov edx, dword [ebp - 0x4ac]
lea eax, [ebp - 0x38]
call fcn.00406240
or edx, 0xffffffff
mov eax, dword [ebp - 0x38]
call fcn.0040d1a8
mov edx, dword [ebp + 0x5c]
mov dword [edx], eax
mov edx, dword [ebp - 0x30]
mov eax, 0x4de694
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
jle 0x4da348
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x34]
call fcn.00406240
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1ac], eax
cmp dword [ebp - 0x1ac], 0
je 0x4da2dd
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa
cmp word [eax], 2
je 0x4da2dd
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
je 0x4da303
mov eax, dword [ebp - 0x1b0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x30]
call fcn.00406998
lea edx, [ebp - 0x4b0]
mov eax, dword [ebp - 0x38]
call fcn.004d6884
mov edx, dword [ebp - 0x4b0]
lea eax, [ebp - 0x38]
call fcn.00406240
mov eax, dword [ebp + 0x94]
add eax, 0xffffffc0
mov edx, dword [ebp - 0x38]
call fcn.00406240
mov edx, dword [ebp - 0x30]
mov eax, 0x4de6ac
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
jle 0x4da418
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x34]
call fcn.00406240
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0
je 0x4da3ab
mov eax, dword [ebp - 0x1b8]
sub eax, 0xa
cmp word [eax], 2
je 0x4da3ab
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], 0
je 0x4da3d1
mov eax, dword [ebp - 0x1bc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1bc], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 5
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x30]
call fcn.00406998
lea edx, [ebp - 0x4b4]
mov eax, dword [ebp - 0x38]
call fcn.004d6884
mov edx, dword [ebp - 0x4b4]
lea eax, [ebp - 0x38]
call fcn.00406240
mov eax, dword [ebp + 0x94]
add eax, 0xffffffd8
mov edx, dword [ebp - 0x38]
call fcn.00406240
jmp 0x4da428
mov eax, dword [ebp + 0x94]
add eax, 0xffffffd8
xor edx, edx
call fcn.00406240
mov eax, dword [ebp + 0x24]
mov byte [eax], 1
cmp dword [ebp - 0xb0], 0
je 0x4da45a
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x3c], 0
je 0x4da45a
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x30]
sub eax, 2
jb 0x4da45a
mov eax, dword [ebp + 0x5c]
mov dword [eax], 1
mov eax, dword [ebp + 0x5c]
mov eax, dword [eax]
sub eax, 1
jb 0x4da468
je 0x4da471
jmp 0x4da487
mov byte [ebp + 0x80], 0
jmp 0x4da487
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 0
jne 0x4da487
mov byte [ebp + 0x80], 0
mov byte [ebp - 0xc0], 1
cmp byte [ebp + 0x88], 0
je 0x4da4df
mov eax, dword [ebp - 0x424]
push eax
lea eax, [ebp - 0x4a0]
push eax
mov ecx, dword [ebp + 0x7c]
mov ecx, dword [ecx]
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x424]
call fcn.00408d7c
mov eax, dword [ebp + 0x30]
lea esi, [ebp - 0x4a0]
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]
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 - 0x424]
mov dword [eax - 0x60], edx
mov eax, dword [ebp + 0x58]
inc dword [eax]
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 4]
mov word [ebp - 0x1be], ax
mov ax, word [ebp - 0x1be]
mov word [ebp - 0x1c0], ax
mov ax, word [ebp - 0x1be]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4da529
mov ax, word [ebp - 0x1be]
and ax, 0xffdf
mov word [ebp - 0x1c0], ax
mov ax, word [ebp - 0x1c0]
mov word [ebp - 0xaa], ax
mov ax, word [ebp - 0xaa]
sub ax, 0x3e
je 0x4da563
sub ax, 0xe
je 0x4da73d
sub ax, 3
je 0x4da769
sub ax, 3
je 0x4da586
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.004380f4
mov edx, eax
or dl, byte [0x4de630]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00438100
jmp case.0x4d9d80.67
mov byte [ebp - 0x41], 1
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
mov edx, 0x4de648
call fcn.00406600
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x1c4], eax
mov edx, dword [ebp - 0x1c4]
mov eax, 0x4de58c
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0
jle 0x4da6c5
lea eax, [ebp - 0x4b8]
push eax
mov ecx, dword [ebp - 0x78]
sub ecx, 4
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 4
call fcn.00406998
mov eax, dword [ebp - 0x4b8]
lea edx, [ebp - 0x30]
call fcn.0040c4d8
mov edx, dword [ebp - 0x30]
mov eax, 0x4de6c4
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1cc], eax
cmp dword [ebp - 0x1cc], 0
jle 0x4da6c5
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0
je 0x4da65c
mov eax, dword [ebp - 0x1d0]
sub eax, 0xa
cmp word [eax], 2
je 0x4da65c
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x1d4], eax
cmp dword [ebp - 0x1d4], 0
je 0x4da682
mov eax, dword [ebp - 0x1d4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 9
mov ecx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x30]
call fcn.00406998
lea edx, [ebp - 0x4bc]
mov eax, dword [ebp - 0x38]
call fcn.004d6884
mov edx, dword [ebp - 0x4bc]
lea eax, [ebp - 0x38]
call fcn.00406240
xor edx, edx
mov eax, dword [ebp - 0x38]
call fcn.0040d1a8
mov edx, dword [ebp + 0x70]
mov dword [edx], eax
cmp dword [ebp - 0xa4], 0
sete al
and al, byte [ebp - 0xbf]
je case.0x4d9d80.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.0x4d9d80.67
cmp byte [ebp + 0x88], 0
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x14]
cmp byte [eax], 0
je case.0x4d9d80.67
mov eax, dword [ebp + 0x48]
cmp dword [eax], 0
jle case.0x4d9d80.67
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
cmp eax, dword [edx]
je 0x4d84b9
jmp case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x5c], 0
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0x90]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00437d44
jmp case.0x4d9d80.67
lea eax, [ebp - 0x4c0]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4de58c
call fcn.00406cb0
mov ecx, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 1
call fcn.00406998
mov edx, dword [ebp - 0x4c0]
lea eax, [ebp - 0x24]
call fcn.00406600
cmp byte [ebp + 0x84], 0
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne case.0x4d9d80.67
lea eax, [ebp - 0x4c4]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4de58c
call fcn.00406cb0
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 6
call fcn.00406998
mov eax, dword [ebp - 0x4c4]
lea edx, [ebp - 0x30]
call fcn.0040c4d8
mov edx, dword [ebp - 0x30]
mov eax, 0x4de6e4
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1d8], eax
cmp dword [ebp - 0x1d8], 0
jle 0x4dac47
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0
je 0x4da849
mov eax, dword [ebp - 0x1dc]
sub eax, 0xa
cmp word [eax], 2
je 0x4da849
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1e0], 0
je 0x4da86f
mov eax, dword [ebp - 0x1e0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1e0], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 0xa
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x30]
call fcn.00406998
lea edx, [ebp - 0x4c8]
mov eax, dword [ebp - 0x38]
call fcn.004d6884
mov edx, dword [ebp - 0x4c8]
lea eax, [ebp - 0x38]
call fcn.00406240
lea edx, [ebp - 0x4cc]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x4cc]
mov eax, 0x4de708
call fcn.00406cb0
test eax, eax
jle 0x4da8d7
lea eax, [ebp - 0x38]
mov ecx, 4
mov edx, 1
call fcn.00406a68
lea edx, [ebp - 0x4d0]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x4d0]
mov eax, 0x4de720
call fcn.00406cb0
test eax, eax
jle 0x4da9cf
lea eax, [ebp - 0x38]
mov ecx, 5
mov edx, 1
call fcn.00406a68
mov eax, dword [ebp - 0x38]
push eax
push 0
mov al, byte [ebp + 0x84]
xor al, 1
push eax
mov eax, dword [ebp + 0x94]
mov al, byte [eax + 0x64]
push eax
mov eax, dword [ebp + 0x94]
push dword [eax + 0x4c]
push dword [eax + 0x48]
lea eax, [ebp - 0x4d8]
push eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 4]
call fcn.004d6080
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x4d8]
mov dword [eax - 0x98], edx
mov edx, dword [ebp - 0x4d4]
mov dword [eax - 0x94], edx
push 0x60
push 0x58
mov eax, dword [ebp - 4]
call fcn.00439230
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 - 4]
call fcn.00439230
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 - 0x4dc]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x4dc]
mov eax, 0x4de738
call fcn.00406cb0
test eax, eax
jle 0x4daac7
lea eax, [ebp - 0x38]
mov ecx, 5
mov edx, 1
call fcn.00406a68
mov eax, dword [ebp - 0x38]
push eax
push 1
mov al, byte [ebp + 0x84]
xor al, 1
push eax
mov eax, dword [ebp + 0x94]
mov al, byte [eax + 0x64]
push eax
mov eax, dword [ebp + 0x94]
push dword [eax + 0x4c]
push dword [eax + 0x48]
lea eax, [ebp - 0x4d8]
push eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 4]
call fcn.004d6080
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x4d8]
mov dword [eax - 0x98], edx
mov edx, dword [ebp - 0x4d4]
mov dword [eax - 0x94], edx
push 0x60
push 0x58
mov eax, dword [ebp - 4]
call fcn.00439230
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 - 4]
call fcn.00439230
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 - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4dac47
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x4dac47
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
call dword [edx + 0x30]
test eax, eax
jle 0x4dac47
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
call dword [edx + 0x24]
test eax, eax
jle 0x4dac47
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 - 4]
call fcn.00439230
push eax
call sub.gdi32.dll_SelectClipRgn
jmp 0x4dabfe
xor eax, eax
mov dword [ebp - 0x60], eax
jmp 0x4dabce
mov eax, dword [ebp - 0x88]
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 - 4]
call fcn.00438bcc
mov eax, dword [ebp - 0x88]
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 0x4dab8e
mov eax, dword [ebp - 0x88]
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 0x4dab87
push 0
mov eax, dword [ebp - 4]
call fcn.00439230
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 - 0x30]
mov eax, 0x4de750
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1e4], eax
cmp dword [ebp - 0x1e4], 0
jle 0x4db11c
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1e8], eax
cmp dword [ebp - 0x1e8], 0
je 0x4dac9f
mov eax, dword [ebp - 0x1e8]
sub eax, 0xa
cmp word [eax], 2
je 0x4dac9f
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x1ec], eax
cmp dword [ebp - 0x1ec], 0
je 0x4dacc5
mov eax, dword [ebp - 0x1ec]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1ec], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 0xa
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1f0], eax
cmp dword [ebp - 0x1f0], 0
je 0x4dad0f
mov eax, dword [ebp - 0x1f0]
sub eax, 0xa
cmp word [eax], 2
je 0x4dad0f
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x38]
call fcn.00405658
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x1f4], eax
cmp dword [ebp - 0x1f4], 0
je 0x4dad35
mov eax, dword [ebp - 0x1f4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1f4], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea edx, [ebp - 0x4e0]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x4e0]
mov eax, 0x4de708
call fcn.00406cb0
test eax, eax
jle 0x4dadac
lea eax, [ebp - 0x38]
mov ecx, 4
mov edx, 1
call fcn.00406a68
lea edx, [ebp - 0x4e4]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x4e4]
mov eax, 0x4de720
call fcn.00406cb0
test eax, eax
jle 0x4daea4
lea eax, [ebp - 0x38]
mov ecx, 5
mov edx, 1
call fcn.00406a68
mov eax, dword [ebp - 0x38]
push eax
push 0
mov al, byte [ebp + 0x84]
xor al, 1
push eax
mov eax, dword [ebp + 0x94]
mov al, byte [eax + 0x64]
push eax
mov eax, dword [ebp + 0x94]
push dword [eax + 0x4c]
push dword [eax + 0x48]
lea eax, [ebp - 0x4d8]
push eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 4]
call fcn.004d6080
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x4d8]
mov dword [eax - 0x98], edx
mov edx, dword [ebp - 0x4d4]
mov dword [eax - 0x94], edx
push 0x60
push 0x58
mov eax, dword [ebp - 4]
call fcn.00439230
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 - 4]
call fcn.00439230
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 - 0x4e8]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x4e8]
mov eax, 0x4de738
call fcn.00406cb0
test eax, eax
jle 0x4daf9c
lea eax, [ebp - 0x38]
mov ecx, 5
mov edx, 1
call fcn.00406a68
mov eax, dword [ebp - 0x38]
push eax
push 1
mov al, byte [ebp + 0x84]
xor al, 1
push eax
mov eax, dword [ebp + 0x94]
mov al, byte [eax + 0x64]
push eax
mov eax, dword [ebp + 0x94]
push dword [eax + 0x4c]
push dword [eax + 0x48]
lea eax, [ebp - 0x4d8]
push eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 4]
call fcn.004d6080
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x4d8]
mov dword [eax - 0x98], edx
mov edx, dword [ebp - 0x4d4]
mov dword [eax - 0x94], edx
push 0x60
push 0x58
mov eax, dword [ebp - 4]
call fcn.00439230
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 - 4]
call fcn.00439230
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 - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4db11c
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x4db11c
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
call dword [edx + 0x30]
test eax, eax
jle 0x4db11c
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
call dword [edx + 0x24]
test eax, eax
jle 0x4db11c
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 - 4]
call fcn.00439230
push eax
call sub.gdi32.dll_SelectClipRgn
jmp 0x4db0d3
xor eax, eax
mov dword [ebp - 0x60], eax
jmp 0x4db0a3
mov eax, dword [ebp - 0x88]
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 - 4]
call fcn.00438bcc
mov eax, dword [ebp - 0x88]
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 0x4db063
mov eax, dword [ebp - 0x88]
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 0x4db05c
push 0
mov eax, dword [ebp - 4]
call fcn.00439230
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 - 0x30]
mov eax, 0x4de780
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jle 0x4db477
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0
je 0x4db174
mov eax, dword [ebp - 0x1fc]
sub eax, 0xa
cmp word [eax], 2
je 0x4db174
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0
je 0x4db19a
mov eax, dword [ebp - 0x200]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x200], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 0xa
mov ecx, dword [ebp - 0x200]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0
je 0x4db1e4
mov eax, dword [ebp - 0x204]
sub eax, 0xa
cmp word [eax], 2
je 0x4db1e4
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x38]
call fcn.00405658
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
je 0x4db20a
mov eax, dword [ebp - 0x208]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x208], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x208]
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea edx, [ebp - 0x4ec]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x4ec]
mov eax, 0x4de708
call fcn.00406cb0
test eax, eax
jle 0x4db281
lea eax, [ebp - 0x38]
mov ecx, 4
mov edx, 1
call fcn.00406a68
lea edx, [ebp - 0x4f0]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x4f0]
mov eax, 0x4de720
call fcn.00406cb0
test eax, eax
jle 0x4db2b5
lea eax, [ebp - 0x38]
mov ecx, 5
mov edx, 1
call fcn.00406a68
lea edx, [ebp - 0x4f4]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x4f4]
mov eax, 0x4de738
call fcn.00406cb0
test eax, eax
jle 0x4db2e9
lea eax, [ebp - 0x38]
mov ecx, 5
mov edx, 1
call fcn.00406a68
xor eax, eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4db477
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x4db477
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
call dword [edx + 0x30]
test eax, eax
jle 0x4db477
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
call dword [edx + 0x24]
test eax, eax
jle 0x4db477
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 - 4]
call fcn.00439230
push eax
call sub.gdi32.dll_SelectClipRgn
jmp 0x4db42e
xor eax, eax
mov dword [ebp - 0x60], eax
jmp 0x4db3fe
mov eax, dword [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x88]
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 - 4]
call fcn.00438bcc
mov eax, dword [ebp - 0x88]
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 0x4db3b3
mov eax, dword [ebp - 0x88]
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 0x4db3ac
push 0
mov eax, dword [ebp - 4]
call fcn.00439230
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 - 0x30]
mov eax, 0x4de7a4
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0
jle case.0x4d9d80.67
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
je 0x4db4cf
mov eax, dword [ebp - 0x210]
sub eax, 0xa
cmp word [eax], 2
je 0x4db4cf
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
je 0x4db4f5
mov eax, dword [ebp - 0x214]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 7
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov edx, 0x1fffffff
mov eax, dword [ebp - 0x38]
call fcn.004d6a58
mov dword [ebp - 0x90], eax
mov edx, dword [ebp - 0x30]
mov eax, 0x4de7c0
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
jle 0x4db7a3
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
je 0x4db578
mov eax, dword [ebp - 0x21c]
sub eax, 0xa
cmp word [eax], 2
je 0x4db578
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
je 0x4db59e
mov eax, dword [ebp - 0x220]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 9
mov ecx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov edx, 0x1fffffff
mov eax, dword [ebp - 0x38]
call fcn.004d6a58
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x38]
mov edx, 0x4de7e0
call fcn.00406240
mov edx, dword [ebp - 0x30]
mov eax, 0x4de7f0
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0
jle 0x4db707
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
je 0x4db62e
mov eax, dword [ebp - 0x228]
sub eax, 0xa
cmp word [eax], 2
je 0x4db62e
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
je 0x4db654
mov eax, dword [ebp - 0x22c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x22c], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 3
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0
je 0x4db69e
mov eax, dword [ebp - 0x230]
sub eax, 0xa
cmp word [eax], 2
je 0x4db69e
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x38]
call fcn.00405658
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0
je 0x4db6c4
mov eax, dword [ebp - 0x234]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x234], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x38]
call fcn.00406998
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x90]
call fcn.004384b8
push 0x1fffffff
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 0xc]
push eax
lea eax, [ebp - 0x4a0]
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.00408d7c
lea eax, [ebp - 0x4a0]
push eax
mov eax, dword [ebp - 0x38]
mov edx, 0x4de7e0
call fcn.00406990
sete al
push eax
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 4]
call fcn.004d62c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.004389c8
cmp al, 1
jne 0x4db7be
mov dword [ebp - 0x238], 0x1fffffff
jmp 0x4db7cf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.00438868
mov dword [ebp - 0x238], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x238]
mov dword [eax - 0x7c], edx
cmp dword [ebp - 0x90], 0x1fffffff
jne 0x4db7f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp 0x4db80a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x90]
call fcn.00438870
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.004384b0
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x90]
call fcn.004384b8
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 - 4]
call fcn.00438e00
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xc8]
call fcn.004384b8
jmp case.0x4d9d80.67
cmp byte [ebp + 0x84], 0
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x41], 1
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 4]
mov word [ebp - 0x23a], ax
mov ax, word [ebp - 0x23a]
mov word [ebp - 0x23c], ax
mov ax, word [ebp - 0x23a]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4db8e6
mov ax, word [ebp - 0x23a]
and ax, 0xffdf
mov word [ebp - 0x23c], ax
mov ax, word [ebp - 0x23c]
sub ax, 0x49
je 0x4dba68
sub ax, 9
jne case.0x4d9d80.67
mov byte [ebp - 0x41], 1
cmp byte [ebp + 0x84], 0
jne case.0x4d9d80.67
lea eax, [ebp - 0x30]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4de58c
call fcn.00406cb0
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 4
call fcn.00406998
xor eax, eax
mov dword [ebp - 0x90], eax
lea edx, [ebp - 0x4f8]
mov eax, dword [ebp - 0x30]
call fcn.0040c4d8
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 0x240], eax
mov edx, dword [ebp - 0x240]
mov eax, 0x4de804
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
jle 0x4dba06
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x248], eax
cmp dword [ebp - 0x248], 0
je 0x4db9b4
mov eax, dword [ebp - 0x248]
sub eax, 0xa
cmp word [eax], 2
je 0x4db9b4
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
je 0x4db9da
mov eax, dword [ebp - 0x24c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 5
mov ecx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x38]
call fcn.004d6a58
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.004384b0
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x90]
call fcn.004384b8
mov ecx, dword [ebp - 0x42c]
inc ecx
mov edx, dword [ebp - 0x428]
mov eax, dword [ebp - 4]
call fcn.00438d98
mov ecx, dword [ebp - 0x42c]
inc ecx
mov edx, dword [ebp - 0x420]
mov eax, dword [ebp - 4]
call fcn.00438d38
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xc8]
call fcn.004384b8
jmp case.0x4d9d80.67
cmp byte [ebp + 0x84], 0
jne case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x94]
mov dword [edx - 0x80], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.004389c8
cmp al, 1
jne 0x4dbaa2
mov dword [ebp - 0x250], 0x1fffffff
jmp 0x4dbab3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.00438868
mov dword [ebp - 0x250], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x250]
mov dword [eax - 0x84], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, 0xff00000d
call fcn.00438870
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, 0xff00000e
call fcn.00437d44
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 4]
mov word [ebp - 0x252], ax
mov ax, word [ebp - 0x252]
mov word [ebp - 0x254], ax
mov ax, word [ebp - 0x252]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4dbb2a
mov ax, word [ebp - 0x252]
and ax, 0xffdf
mov word [ebp - 0x254], ax
mov ax, word [ebp - 0x254]
mov word [ebp - 0xaa], ax
cmp word [ebp - 0xaa], 0x3e
jne 0x4dbb65
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.004380f4
mov edx, eax
or dl, byte [0x4de638]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00438100
jmp case.0x4d9d80.67
cmp word [ebp - 0xaa], 0x4e
jne 0x4dbcf9
lea eax, [ebp - 0x30]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4de58c
call fcn.00406cb0
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00406998
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 0
je 0x4dbbca
mov eax, dword [ebp - 0x258]
sub eax, 0xa
cmp word [eax], 2
je 0x4dbbca
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0
je 0x4dbbf0
mov eax, dword [ebp - 0x25c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x30]
mov eax, 0x4de81c
call fcn.004d6590
mov edx, eax
add edx, 2
mov ecx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0
je 0x4dbc46
mov eax, dword [ebp - 0x260]
sub eax, 0xa
cmp word [eax], 2
je 0x4dbc46
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x38]
call fcn.00405658
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0
je 0x4dbc6c
mov eax, dword [ebp - 0x264]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x38]
call fcn.00403714
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x5c], 0
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x58]
jge case.0x4d9d80.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 - 0x438], eax
jmp case.0x4d9d80.67
cmp word [ebp - 0xaa], 0x4d
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
inc dword [eax - 0xa0]
lea eax, [ebp - 0x30]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4de58c
call fcn.00406cb0
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00406998
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0
je 0x4dbd6a
mov eax, dword [ebp - 0x268]
sub eax, 0xa
cmp word [eax], 2
je 0x4dbd6a
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 0
je 0x4dbd90
mov eax, dword [ebp - 0x26c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x26c], eax
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x4fc]
mov eax, dword [ebp - 0x30]
call fcn.0040c4d8
mov edx, dword [ebp - 0x4fc]
mov eax, 0x4de82c
call fcn.00406cb0
mov edx, eax
add edx, 4
mov ecx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0
je 0x4dbdf7
mov eax, dword [ebp - 0x270]
sub eax, 0xa
cmp word [eax], 2
je 0x4dbdf7
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x38]
call fcn.00405658
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0
je 0x4dbe1d
mov eax, dword [ebp - 0x274]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x274], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea edx, [ebp - 0x500]
mov eax, dword [ebp - 0x30]
call fcn.0040c4d8
mov edx, dword [ebp - 0x500]
lea eax, [ebp - 0x30]
call fcn.00406240
mov edx, dword [ebp - 0x30]
mov eax, 0x4de840
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0
jle 0x4dbfcb
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0xa4]
mov edx, dword [ebp + 0x94]
cmp eax, dword [edx - 0xa0]
jne 0x4dbfcb
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x27c], eax
cmp dword [ebp - 0x27c], 0
je 0x4dbef2
mov eax, dword [ebp - 0x27c]
sub eax, 0xa
cmp word [eax], 2
je 0x4dbef2
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 0
je 0x4dbf18
mov eax, dword [ebp - 0x280]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x3c]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
mov ecx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x4dbf62
mov eax, dword [ebp - 0x284]
sub eax, 0xa
cmp word [eax], 2
je 0x4dbf62
lea eax, [ebp - 0x3c]
mov edx, dword [ebp - 0x3c]
call fcn.00405658
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0
je 0x4dbf88
mov eax, dword [ebp - 0x288]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x288], eax
lea eax, [ebp - 0x3c]
push eax
mov edx, dword [ebp - 0x3c]
mov eax, 0x4de770
call fcn.00406cb0
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x288]
mov eax, dword [ebp - 0x3c]
call fcn.00406998
lea eax, [ebp - 0x3c]
push eax
mov edx, dword [ebp - 0x3c]
mov eax, 0x4de770
call fcn.00406cb0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x3c]
call fcn.00406998
xor eax, eax
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0x9c], eax
mov edx, dword [ebp - 0x30]
mov eax, 0x4de854
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x28c], eax
cmp dword [ebp - 0x28c], 0
jle 0x4dc09e
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x290], eax
cmp dword [ebp - 0x290], 0
je 0x4dc033
mov eax, dword [ebp - 0x290]
sub eax, 0xa
cmp word [eax], 2
je 0x4dc033
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x294], eax
cmp dword [ebp - 0x294], 0
je 0x4dc059
mov eax, dword [ebp - 0x294]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x294], eax
lea eax, [ebp - 0x3c]
push eax
mov edx, dword [ebp - 0x78]
add edx, 6
mov ecx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x30]
call fcn.00406998
lea edx, [ebp - 0x504]
mov eax, dword [ebp - 0x3c]
call fcn.004d6884
mov edx, dword [ebp - 0x504]
lea eax, [ebp - 0x3c]
call fcn.00406240
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x3c]
call fcn.00403714
mov dword [ebp - 0x98], eax
mov edx, dword [ebp - 0x30]
mov eax, 0x4de86c
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x298], 0
jle 0x4dc161
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x29c], eax
cmp dword [ebp - 0x29c], 0
je 0x4dc0f6
mov eax, dword [ebp - 0x29c]
sub eax, 0xa
cmp word [eax], 2
je 0x4dc0f6
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x2a0], eax
cmp dword [ebp - 0x2a0], 0
je 0x4dc11c
mov eax, dword [ebp - 0x2a0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x2a0], eax
lea eax, [ebp - 0x3c]
push eax
mov edx, dword [ebp - 0x78]
add edx, 7
mov ecx, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x30]
call fcn.00406998
lea edx, [ebp - 0x508]
mov eax, dword [ebp - 0x3c]
call fcn.004d6884
mov edx, dword [ebp - 0x508]
lea eax, [ebp - 0x3c]
call fcn.00406240
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x3c]
call fcn.00403714
mov dword [ebp - 0x9c], 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 - 0x50c]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x50c]
mov eax, 0x4de708
call fcn.00406cb0
test eax, eax
jle 0x4dc1b1
lea eax, [ebp - 0x38]
mov ecx, 4
mov edx, 1
call fcn.00406a68
lea edx, [ebp - 0x510]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x510]
mov eax, 0x4de720
call fcn.00406cb0
test eax, eax
jle 0x4dc2a9
lea eax, [ebp - 0x38]
mov ecx, 5
mov edx, 1
call fcn.00406a68
mov eax, dword [ebp - 0x38]
push eax
push 0
mov al, byte [ebp + 0x84]
xor al, 1
push eax
mov eax, dword [ebp + 0x94]
mov al, byte [eax + 0x64]
push eax
mov eax, dword [ebp + 0x94]
push dword [eax + 0x4c]
push dword [eax + 0x48]
lea eax, [ebp - 0x4d8]
push eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 4]
call fcn.004d6080
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x4d8]
mov dword [eax - 0x98], edx
mov edx, dword [ebp - 0x4d4]
mov dword [eax - 0x94], edx
push 0x60
push 0x58
mov eax, dword [ebp - 4]
call fcn.00439230
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 - 4]
call fcn.00439230
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 - 0x514]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x514]
mov eax, 0x4de738
call fcn.00406cb0
test eax, eax
jle 0x4dc3a1
lea eax, [ebp - 0x38]
mov ecx, 5
mov edx, 1
call fcn.00406a68
mov eax, dword [ebp - 0x38]
push eax
push 1
mov al, byte [ebp + 0x84]
xor al, 1
push eax
mov eax, dword [ebp + 0x94]
mov al, byte [eax + 0x64]
push eax
mov eax, dword [ebp + 0x94]
push dword [eax + 0x4c]
push dword [eax + 0x48]
lea eax, [ebp - 0x4d8]
push eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 4]
call fcn.004d6080
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x4d8]
mov dword [eax - 0x98], edx
mov edx, dword [ebp - 0x4d4]
mov dword [eax - 0x94], edx
push 0x60
push 0x58
mov eax, dword [ebp - 4]
call fcn.00439230
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 - 4]
call fcn.00439230
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 - 0x428]
mov edx, dword [ebp + 0x7c]
cmp eax, dword [edx]
jle 0x4dc459
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 - 0x428]
cmp eax, edx
jle 0x4dc459
mov eax, dword [ebp + 0x34]
cmp eax, dword [ebp - 0x434]
jl 0x4dc459
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x94]
add eax, dword [ebp - 0x434]
cmp eax, dword [ebp + 0x34]
jle 0x4dc459
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4dc459
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.004061ec
mov eax, dword [ebp + 0x94]
cmp dword [eax - 0x28], 0
je 0x4dc441
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp + 0x94]
mov edx, dword [edx - 0x28]
call fcn.004061ec
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 - 0x420]
sub edx, dword [ebp - 0x428]
cmp eax, edx
jle 0x4dc4a6
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x98]
mov edx, dword [ebp - 0x420]
sub edx, dword [ebp - 0x428]
cmp eax, edx
jge 0x4dc4a6
mov byte [ebp - 0x42], 1
jmp 0x4dc4ed
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 - 0x438], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x94]
mov edx, dword [ebp + 0x78]
cmp eax, dword [edx]
jle 0x4dc4ed
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x94]
mov edx, dword [ebp + 0x78]
mov dword [edx], eax
mov edx, dword [ebp - 0x30]
mov eax, 0x4de888
call fcn.00406cb0
test eax, eax
jle 0x4dc54c
mov edx, dword [ebp - 0x30]
mov eax, 0x4de8a0
call fcn.00406cb0
test eax, eax
jle 0x4dc525
mov eax, dword [ebp - 4]
call fcn.004d6f08
mov edx, dword [ebp + 0x78]
mov edx, dword [edx]
sub edx, eax
mov eax, dword [ebp + 0x60]
mov dword [eax], edx
jmp 0x4dc54c
mov edx, dword [ebp - 0x30]
mov eax, 0x4de8b8
call fcn.00406cb0
test eax, eax
jle 0x4dc54c
mov eax, dword [ebp - 4]
call fcn.004d6f08
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 - 0x30]
mov eax, 0x4de8d4
call fcn.00406cb0
test eax, eax
jle case.0x4d9d80.67
mov eax, dword [ebp - 4]
call fcn.004d6f08
mov edx, dword [ebp + 0x78]
mov dword [edx], eax
mov eax, dword [ebp + 0x60]
xor edx, edx
mov dword [eax], edx
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 4]
mov word [ebp - 0x2a2], ax
mov ax, word [ebp - 0x2a2]
mov word [ebp - 0x2a4], ax
mov ax, word [ebp - 0x2a2]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4dc5ba
mov ax, word [ebp - 0x2a2]
and ax, 0xffdf
mov word [ebp - 0x2a4], ax
mov ax, word [ebp - 0x2a4]
sub ax, 0x49
jne 0x4dc6ef
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x2a8], eax
mov edx, dword [ebp - 0x2a8]
mov eax, 0x4de58c
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 0
jle case.0x4d9d80.67
lea eax, [ebp - 0x518]
push eax
mov ecx, dword [ebp - 0x78]
sub ecx, 2
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 2
call fcn.00406998
mov eax, dword [ebp - 0x518]
lea edx, [ebp - 0x30]
call fcn.0040c4d8
mov edx, dword [ebp - 0x30]
mov eax, 0x4de6c4
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0
jle case.0x4d9d80.67
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0
je 0x4dc681
mov eax, dword [ebp - 0x2b4]
sub eax, 0xa
cmp word [eax], 2
je 0x4dc681
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2b8], eax
cmp dword [ebp - 0x2b8], 0
je 0x4dc6a7
mov eax, dword [ebp - 0x2b8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x2b8], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 9
mov ecx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x30]
call fcn.00406998
lea edx, [ebp - 0x51c]
mov eax, dword [ebp - 0x38]
call fcn.004d6884
mov edx, dword [ebp - 0x51c]
lea eax, [ebp - 0x38]
call fcn.00406240
xor edx, edx
mov eax, dword [ebp - 0x38]
call fcn.0040d1a8
mov edx, dword [ebp + 0x6c]
mov dword [edx], eax
jmp case.0x4d9d80.67
mov dword [ebp - 0x90], 0x1fffffff
mov eax, dword [ebp + 0x94]
add eax, 0xffffff58
xor edx, edx
call fcn.00406240
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x2bc], eax
mov edx, dword [ebp - 0x2bc]
mov eax, 0x4de58c
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c0], eax
cmp dword [ebp - 0x2c0], 0
jle 0x4dc955
lea eax, [ebp - 0x520]
push eax
mov ecx, dword [ebp - 0x78]
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00406998
mov eax, dword [ebp - 0x520]
lea edx, [ebp - 0x30]
call fcn.0040c4d8
mov edx, dword [ebp - 0x30]
mov eax, 0x4de8ec
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
jle 0x4dc8ab
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x2c8], 0
je 0x4dc7bf
mov eax, dword [ebp - 0x2c8]
sub eax, 0xa
cmp word [eax], 2
je 0x4dc7bf
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x2cc], eax
cmp dword [ebp - 0x2cc], 0
je 0x4dc7e5
mov eax, dword [ebp - 0x2cc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x2cc], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
mov ecx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2d0], eax
cmp dword [ebp - 0x2d0], 0
je 0x4dc82f
mov eax, dword [ebp - 0x2d0]
sub eax, 0xa
cmp word [eax], 2
je 0x4dc82f
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x38]
call fcn.00405658
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], eax
cmp dword [ebp - 0x2d4], 0
je 0x4dc855
mov eax, dword [ebp - 0x2d4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x2d4], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x38]
call fcn.00406998
mov eax, dword [ebp + 0x94]
add eax, 0xffffff58
mov edx, dword [ebp - 0x38]
call fcn.00406240
mov edx, dword [ebp - 0x30]
mov eax, 0x4de804
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2d8], eax
cmp dword [ebp - 0x2d8], 0
jle 0x4dc955
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2dc], eax
cmp dword [ebp - 0x2dc], 0
je 0x4dc903
mov eax, dword [ebp - 0x2dc]
sub eax, 0xa
cmp word [eax], 2
je 0x4dc903
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e0], eax
cmp dword [ebp - 0x2e0], 0
je 0x4dc929
mov eax, dword [ebp - 0x2e0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x2e0], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 5
mov ecx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x38]
call fcn.004d6a58
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 0x50]
mov eax, dword [eax]
shl eax, 2
lea eax, [eax + eax*2]
mov edx, dword [ebp + 0x7c]
add dword [edx], eax
cmp byte [ebp - 0x43], 0
je 0x4dc971
mov byte [ebp - 0x42], 1
jmp 0x4dc975
mov byte [ebp - 0x43], 1
mov eax, dword [ebp + 0x50]
mov eax, dword [eax]
dec eax
shl eax, 2
lea eax, [eax + eax*2]
add dword [ebp - 0x438], eax
cmp byte [ebp + 0x84], 0
jne 0x4dce42
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x37], 0
jne 0x4dce42
mov eax, dword [ebp + 0x94]
cmp dword [eax - 0xa8], 0
jne 0x4dcbcd
cmp dword [ebp - 0x90], 0x1fffffff
je 0x4dc9e9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x94]
mov dword [edx - 0xac], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x90]
call fcn.00437d44
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00438008
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, 0x4de904
call fcn.0043805c
mov eax, dword [ebp + 0x94]
cmp byte [eax - 0x85], 0
jne 0x4dca94
mov eax, dword [ebp + 0x50]
test byte [eax], 1
je 0x4dca59
mov eax, dword [ebp - 4]
call fcn.00439230
mov dword [ebp - 0x2e4], eax
push 0
lea eax, [ebp - 0x438]
push eax
push 1
mov eax, 0x4de920
call fcn.00406278
push eax
mov eax, dword [ebp - 0x2e4]
push eax
call sub.user32.dll_DrawTextW
mov dword [ebp - 0x2e8], eax
jmp 0x4dcb93
mov eax, dword [ebp - 4]
call fcn.00439230
mov dword [ebp - 0x2ec], eax
push 0
lea eax, [ebp - 0x438]
push eax
push 1
mov eax, 0x4de930
call fcn.00406278
push eax
mov eax, dword [ebp - 0x2ec]
push eax
call sub.user32.dll_DrawTextW
mov dword [ebp - 0x2f0], eax
jmp 0x4dcb93
lea edx, [ebp - 0x524]
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0xb0]
call fcn.0040cee0
mov edx, dword [ebp - 0x524]
mov eax, dword [ebp + 0x94]
add eax, 0xffffffe0
mov ecx, 0x4de940
call fcn.004066c0
mov eax, dword [ebp + 0x94]
inc dword [eax - 0xb0]
mov eax, dword [ebp - 4]
call fcn.00439230
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x20]
mov dword [ebp - 0x2f4], eax
cmp dword [ebp - 0x2f4], 0
je 0x4dcb22
mov eax, dword [ebp - 0x2f4]
sub eax, 0xa
cmp word [eax], 2
je 0x4dcb22
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0x20]
mov eax, dword [ebp + 0x94]
add eax, 0xffffffe0
call fcn.00405658
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2f8], eax
cmp dword [ebp - 0x2f8], 0
je 0x4dcb48
mov eax, dword [ebp - 0x2f8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x2f8], eax
push 0
lea eax, [ebp - 0x438]
push eax
mov eax, dword [ebp - 0x2f8]
push eax
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x20]
call fcn.00406278
push eax
mov eax, dword [ebp - 0x2fc]
push eax
call sub.user32.dll_DrawTextW
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0x20]
mov eax, dword [ebp - 4]
call fcn.00439064
add eax, dword [ebp - 0x438]
sub eax, 0xc
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x38]
call fcn.0043805c
cmp dword [ebp - 0x90], 0x1fffffff
je 0x4dce42
mov eax, dword [ebp + 0x94]
mov edx, dword [eax - 0xac]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00437d44
jmp 0x4dce42
mov eax, dword [ebp + 0x94]
mov dword [eax - 0xb4], 0x1fffffff
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0xa8]
mov edx, 0x4de954
call fcn.00406990
jne 0x4dcd09
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.004389c8
cmp al, 1
jne 0x4dcc14
mov dword [ebp - 0x300], 0x1fffffff
jmp 0x4dcc25
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.00438868
mov dword [ebp - 0x300], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x300]
mov dword [eax - 0xb4], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x90]
call fcn.004384b8
cmp dword [ebp - 0x90], 0x1fffffff
jne 0x4dcc63
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp 0x4dcc74
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x90]
call fcn.00438870
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.004389d0
mov eax, dword [ebp - 0x438]
add eax, 8
push eax
mov eax, dword [ebp - 0x434]
add eax, 0xa
push eax
mov ecx, dword [ebp - 0x434]
add ecx, 2
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 4]
call fcn.00438e00
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0xb4]
mov dword [ebp - 0x304], eax
cmp dword [ebp - 0x304], 0x1fffffff
jne 0x4dccd9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp 0x4dccea
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x304]
call fcn.00438870
mov eax, dword [ebp + 0x94]
cmp dword [eax - 0xb4], 0x1fffffff
jne 0x4dcd09
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0xa8]
mov edx, 0x4de970
call fcn.00406990
jne 0x4dce35
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.004389c8
cmp al, 1
jne 0x4dcd40
mov dword [ebp - 0x308], 0x1fffffff
jmp 0x4dcd51
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.00438868
mov dword [ebp - 0x308], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x308]
mov dword [eax - 0xb4], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x90]
call fcn.004384b8
cmp dword [ebp - 0x90], 0x1fffffff
jne 0x4dcd8f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp 0x4dcda0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x90]
call fcn.00438870
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.004389d0
mov eax, dword [ebp - 0x438]
add eax, 8
push eax
mov eax, dword [ebp - 0x434]
add eax, 0xa
push eax
mov ecx, dword [ebp - 0x434]
add ecx, 2
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 4]
call fcn.00438cac
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0xb4]
mov dword [ebp - 0x30c], eax
cmp dword [ebp - 0x30c], 0x1fffffff
jne 0x4dce05
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp 0x4dce16
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x30c]
call fcn.00438870
mov eax, dword [ebp + 0x94]
cmp dword [eax - 0xb4], 0x1fffffff
jne 0x4dce35
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
add dword [ebp - 0x438], 0xc
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp word [eax + 4], 0x3e
je 0x4dce7d
mov eax, dword [ebp + 0x50]
inc dword [eax]
mov eax, dword [ebp + 0x7c]
cmp dword [eax], 0
jle 0x4dce6b
mov byte [ebp - 0x41], 1
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x85], 0
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.004380f4
mov edx, eax
or dl, byte [0x4de650]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00438100
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 4]
mov word [ebp - 0x30e], ax
mov ax, word [ebp - 0x30e]
mov word [ebp - 0x310], ax
mov ax, word [ebp - 0x30e]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4dcee0
mov ax, word [ebp - 0x30e]
and ax, 0xffdf
mov word [ebp - 0x310], ax
mov ax, word [ebp - 0x310]
mov word [ebp - 0xaa], ax
cmp word [ebp - 0xaa], 0x4c
jne 0x4dcf26
mov eax, dword [ebp + 0x50]
inc dword [eax]
mov eax, dword [ebp + 0x7c]
cmp dword [eax], 0
jle 0x4dcf09
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 - 0xaa], 0x46
jne case.0x4d9d80.67
lea eax, [ebp - 0x30]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4de58c
call fcn.00406cb0
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00406998
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x314], eax
cmp dword [ebp - 0x314], 0
je 0x4dcf8b
mov eax, dword [ebp - 0x314]
sub eax, 0xa
cmp word [eax], 2
je 0x4dcf8b
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0
je 0x4dcfb1
mov eax, dword [ebp - 0x318]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x318], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x30]
mov eax, 0x4de81c
call fcn.004d6590
mov edx, eax
add edx, 2
mov ecx, dword [ebp - 0x318]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x31c], eax
cmp dword [ebp - 0x31c], 0
je 0x4dd007
mov eax, dword [ebp - 0x31c]
sub eax, 0xa
cmp word [eax], 2
je 0x4dd007
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x38]
call fcn.00405658
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x320], eax
cmp dword [ebp - 0x320], 0
je 0x4dd02d
mov eax, dword [ebp - 0x320]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x320], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x320]
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x38]
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 - 0x438], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov edx, dword [ebp + 0x7c]
mov dword [edx], eax
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x324], eax
mov edx, dword [ebp - 0x324]
mov eax, 0x4de58c
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x328], eax
cmp dword [ebp - 0x328], 0
jle case.0x4d9d80.67
lea eax, [ebp - 0x528]
push eax
mov ecx, dword [ebp - 0x78]
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00406998
mov eax, dword [ebp - 0x528]
lea edx, [ebp - 0x30]
call fcn.0040c4d8
mov edx, dword [ebp - 0x30]
mov eax, 0x4de888
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x32c], eax
cmp dword [ebp - 0x32c], 0
jle 0x4dd1ff
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x330], eax
cmp dword [ebp - 0x330], 0
je 0x4dd15c
mov eax, dword [ebp - 0x330]
sub eax, 0xa
cmp word [eax], 2
je 0x4dd15c
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x330]
mov dword [ebp - 0x334], eax
cmp dword [ebp - 0x334], 0
je 0x4dd182
mov eax, dword [ebp - 0x334]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x334], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 5
mov ecx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x30]
call fcn.00406998
lea edx, [ebp - 0x52c]
mov eax, dword [ebp - 0x38]
call fcn.004d6884
mov edx, dword [ebp - 0x52c]
lea eax, [ebp - 0x38]
call fcn.00406240
mov edx, dword [ebp - 0x38]
mov eax, 0x4de98c
call fcn.00406cb0
test eax, eax
jle 0x4dd1cf
mov eax, dword [ebp + 0x40]
mov byte [eax], 1
jmp 0x4dd1ff
mov edx, dword [ebp - 0x38]
mov eax, 0x4de9a4
call fcn.00406cb0
test eax, eax
jle 0x4dd1e8
mov eax, dword [ebp + 0x40]
mov byte [eax], 0
jmp 0x4dd1ff
mov edx, dword [ebp - 0x38]
mov eax, 0x4de9bc
call fcn.00406cb0
test eax, eax
jle 0x4dd1ff
mov eax, dword [ebp + 0x40]
mov byte [eax], 2
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
cmp dword [eax], 0
je 0x4dd22f
mov byte [ebp - 0x41], 1
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
mov edx, 0x4de648
call fcn.00406600
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x34]
jmp 0x4dd240
mov eax, dword [ebp + 0x40]
mov al, byte [eax]
mov edx, dword [ebp + 0x94]
mov byte [edx - 0xb5], al
mov edx, dword [ebp - 0x30]
mov eax, 0x4de9d8
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x338], eax
cmp dword [ebp - 0x338], 0
jle 0x4dd37e
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x33c], eax
cmp dword [ebp - 0x33c], 0
je 0x4dd298
mov eax, dword [ebp - 0x33c]
sub eax, 0xa
cmp word [eax], 2
je 0x4dd298
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x340], eax
cmp dword [ebp - 0x340], 0
je 0x4dd2be
mov eax, dword [ebp - 0x340]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x340], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 6
mov ecx, dword [ebp - 0x340]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x344], eax
cmp dword [ebp - 0x344], 0
je 0x4dd308
mov eax, dword [ebp - 0x344]
sub eax, 0xa
cmp word [eax], 2
je 0x4dd308
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x38]
call fcn.00405658
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x348], eax
cmp dword [ebp - 0x348], 0
je 0x4dd32e
mov eax, dword [ebp - 0x348]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x348], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x348]
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x38]
call fcn.00406998
mov eax, dword [ebp - 0x38]
call fcn.004d65ec
mov edx, dword [ebp + 0x3c]
mov dword [edx], eax
mov edx, dword [ebp - 0x30]
mov eax, 0x4de7a4
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x34c], eax
cmp dword [ebp - 0x34c], 0
jle case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne case.0x4d9d80.67
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
je 0x4dd3e6
mov eax, dword [ebp - 0x350]
sub eax, 0xa
cmp word [eax], 2
je 0x4dd3e6
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x354], eax
cmp dword [ebp - 0x354], 0
je 0x4dd40c
mov eax, dword [ebp - 0x354]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x354], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 7
mov ecx, dword [ebp - 0x354]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov edx, 0x1fffffff
mov eax, dword [ebp - 0x38]
call fcn.004d6a58
mov dword [ebp - 0x90], eax
mov edx, dword [ebp - 0x30]
mov eax, 0x4de7c0
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x358], eax
cmp dword [ebp - 0x358], 0
jle 0x4dd46c
mov eax, dword [ebp + 0x94]
mov al, byte [eax + 0x60]
xor al, 1
mov byte [ebp - 0x359], al
jmp 0x4dd473
mov byte [ebp - 0x359], 0
cmp byte [ebp - 0x359], 0
je 0x4dd598
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x360], eax
cmp dword [ebp - 0x360], 0
je 0x4dd4b2
mov eax, dword [ebp - 0x360]
sub eax, 0xa
cmp word [eax], 2
je 0x4dd4b2
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x360], eax
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x364], eax
cmp dword [ebp - 0x364], 0
je 0x4dd4d8
mov eax, dword [ebp - 0x364]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x364], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 9
mov ecx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov edx, 0x1fffffff
mov eax, dword [ebp - 0x38]
call fcn.004d6a58
mov dword [ebp - 0x94], eax
cmp byte [ebp + 0x84], 0
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x29], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x90]
call fcn.004384b8
push 0x1fffffff
mov eax, dword [ebp - 0x41c]
add eax, 2
push eax
lea eax, [ebp - 0x4a0]
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 - 0x424]
call fcn.00408d7c
lea eax, [ebp - 0x4a0]
push eax
push 1
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 4]
call fcn.004d62c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp case.0x4d9d80.67
cmp byte [ebp + 0x84], 0
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x29], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.004389c8
cmp al, 1
jne 0x4dd5ca
mov dword [ebp - 0x368], 0x1fffffff
jmp 0x4dd5db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.00438868
mov dword [ebp - 0x368], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x368]
mov dword [eax - 0x8c], edx
cmp dword [ebp - 0x90], 0x1fffffff
jne 0x4dd608
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp 0x4dd619
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x90]
call fcn.00438870
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.004384b0
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x90]
call fcn.004384b8
mov eax, dword [ebp + 0x94]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 0x41c]
push eax
mov eax, dword [ebp + 0x94]
mov edx, dword [eax + 0x8c]
mov edx, dword [edx]
mov ecx, dword [ebp - 0x424]
mov eax, dword [ebp - 4]
call fcn.00438e00
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xc8]
call fcn.004384b8
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x36c], eax
mov edx, dword [ebp - 0x36c]
mov eax, 0x4de58c
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x370], eax
cmp dword [ebp - 0x370], 0
jle case.0x4d9d80.67
cmp byte [ebp + 0x84], 0
jne 0x4dd6fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.004389c8
cmp al, 1
jne 0x4dd6dc
mov dword [ebp - 0x374], 0x1fffffff
jmp 0x4dd6ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.00438868
mov dword [ebp - 0x374], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x374]
mov dword [eax - 0x7c], edx
lea eax, [ebp - 0x530]
push eax
mov ecx, dword [ebp - 0x78]
sub ecx, 6
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 6
call fcn.00406998
mov eax, dword [ebp - 0x530]
lea edx, [ebp - 0x30]
call fcn.0040c4d8
mov edx, dword [ebp - 0x30]
mov eax, 0x4de9f4
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x378], eax
cmp dword [ebp - 0x378], 0
jle 0x4dd7e6
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x37c], eax
cmp dword [ebp - 0x37c], 0
je 0x4dd77e
mov eax, dword [ebp - 0x37c]
sub eax, 0xa
cmp word [eax], 2
je 0x4dd77e
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x37c]
mov dword [ebp - 0x380], eax
cmp dword [ebp - 0x380], 0
je 0x4dd7a4
mov eax, dword [ebp - 0x380]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
mov ecx, dword [ebp - 0x380]
mov eax, dword [ebp - 0x30]
call fcn.00406998
lea edx, [ebp - 0x534]
mov eax, dword [ebp - 0x38]
call fcn.004d6884
mov edx, dword [ebp - 0x534]
lea eax, [ebp - 0x38]
call fcn.00406240
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x38]
call fcn.0043805c
mov edx, dword [ebp - 0x30]
mov eax, 0x4dea0c
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x384], eax
cmp dword [ebp - 0x384], 0
jle 0x4dd8ce
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne 0x4dd8ce
cmp byte [ebp + 0x84], 0
jne 0x4dd8ce
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x388], eax
cmp dword [ebp - 0x388], 0
je 0x4dd85b
mov eax, dword [ebp - 0x388]
sub eax, 0xa
cmp word [eax], 2
je 0x4dd85b
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x388]
mov dword [ebp - 0x38c], eax
cmp dword [ebp - 0x38c], 0
je 0x4dd881
mov eax, dword [ebp - 0x38c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x38c], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 6
mov ecx, dword [ebp - 0x38c]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp + 0x94]
mov eax, dword [eax - 0x54]
call fcn.00437d44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0x38]
call fcn.004d6a58
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00437d44
mov edx, dword [ebp - 0x30]
mov eax, 0x4de7a4
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x390], eax
cmp dword [ebp - 0x390], 0
jle 0x4dd900
mov al, byte [ebp + 0x84]
xor al, 1
mov byte [ebp - 0x391], al
jmp 0x4dd907
mov byte [ebp - 0x391], 0
cmp byte [ebp - 0x391], 0
je 0x4dda0d
mov eax, dword [ebp + 0x94]
cmp byte [eax + 0x60], 0
jne 0x4dda0d
cmp byte [ebp + 0x84], 0
jne 0x4dda0d
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x398], eax
cmp dword [ebp - 0x398], 0
je 0x4dd963
mov eax, dword [ebp - 0x398]
sub eax, 0xa
cmp word [eax], 2
je 0x4dd963
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x398]
mov dword [ebp - 0x39c], eax
cmp dword [ebp - 0x39c], 0
je 0x4dd989
mov eax, dword [ebp - 0x39c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x39c], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 7
mov ecx, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.004389c8
cmp al, 1
jne 0x4dd9bc
mov dword [ebp - 0x3a0], 0x1fffffff
jmp 0x4dd9cd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.00438868
mov dword [ebp - 0x3a0], eax
mov edx, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x38]
call fcn.004d6a58
mov dword [ebp - 0x3a4], eax
cmp dword [ebp - 0x3a4], 0x1fffffff
jne 0x4dd9fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp 0x4dda0d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x3a4]
call fcn.00438870
mov edx, dword [ebp - 0x30]
mov eax, 0x4dea28
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x3a8], eax
cmp dword [ebp - 0x3a8], 0
jle 0x4ddc63
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3ac], eax
cmp dword [ebp - 0x3ac], 0
je 0x4dda65
mov eax, dword [ebp - 0x3ac]
sub eax, 0xa
cmp word [eax], 2
je 0x4dda65
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp - 0x3ac]
mov dword [ebp - 0x3b0], eax
cmp dword [ebp - 0x3b0], 0
je 0x4dda8b
mov eax, dword [ebp - 0x3b0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3b0], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 5
mov ecx, dword [ebp - 0x3b0]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3b4], eax
cmp dword [ebp - 0x3b4], 0
je 0x4ddad5
mov eax, dword [ebp - 0x3b4]
sub eax, 0xa
cmp word [eax], 2
je 0x4ddad5
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x38]
call fcn.00405658
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x3b8], eax
cmp dword [ebp - 0x3b8], 0
je 0x4ddafb
mov eax, dword [ebp - 0x3b8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3b8], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4dea40
call fcn.00406cb0
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x3b8]
mov eax, dword [ebp - 0x38]
call fcn.00406998
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3bc], eax
cmp dword [ebp - 0x3bc], 0
je 0x4ddb4f
mov eax, dword [ebp - 0x3bc]
sub eax, 0xa
cmp word [eax], 2
je 0x4ddb4f
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x38]
call fcn.00405658
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x3c0], eax
cmp dword [ebp - 0x3c0], 0
je 0x4ddb75
mov eax, dword [ebp - 0x3c0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3c0], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x3c0]
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea edx, [ebp - 0x538]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x538]
mov eax, 0x4dea50
call fcn.00406cb0
test eax, eax
jle case.0x4d9d80.67
lea eax, [ebp - 0x38]
mov ecx, 0xa
mov edx, 1
call fcn.00406a68
lea edx, [ebp - 0x53c]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x53c]
mov eax, 0x4dea74
call fcn.00406cb0
test eax, eax
jle case.0x4d9d80.67
lea eax, [ebp - 0x544]
push eax
lea edx, [ebp - 0x548]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x548]
mov eax, 0x4dea74
call fcn.00406cb0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x38]
call fcn.00406998
mov eax, dword [ebp - 0x544]
lea edx, [ebp - 0x540]
call fcn.0040ca8c
mov edx, dword [ebp - 0x540]
lea eax, [ebp - 0x38]
call fcn.00406240
mov eax, dword [ebp - 0x38]
call fcn.004d65ec
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.004380d4
jmp case.0x4d9d80.67
mov edx, dword [ebp - 0x30]
mov eax, 0x4dea88
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x3c4], eax
cmp dword [ebp - 0x3c4], 0
jle case.0x4d9d80.67
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x4ddcbb
mov eax, dword [ebp - 0x3c8]
sub eax, 0xa
cmp word [eax], 2
je 0x4ddcbb
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x3c8], eax
mov eax, dword [ebp - 0x3c8]
mov dword [ebp - 0x3cc], eax
cmp dword [ebp - 0x3cc], 0
je 0x4ddce1
mov eax, dword [ebp - 0x3cc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3cc], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
mov ecx, dword [ebp - 0x3cc]
mov eax, dword [ebp - 0x30]
call fcn.00406998
lea edx, [ebp - 0x54c]
mov eax, dword [ebp - 0x38]
call fcn.004d6884
mov edx, dword [ebp - 0x54c]
lea eax, [ebp - 0x38]
call fcn.00406240
mov eax, dword [ebp - 0x38]
call fcn.004d65ec
cmp eax, 5
ja case.0x4ddd26.0
jmp dword [eax*4 + 0x4ddd2d]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, 8
call fcn.004380d4
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, 0xa
call fcn.004380d4
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, 0xc
call fcn.004380d4
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, 0xe
call fcn.004380d4
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, 0x10
call fcn.004380d4
jmp case.0x4d9d80.67
mov eax, dword [ebp - 0x38]
call fcn.004d65ec
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.004380d4
jmp case.0x4d9d80.67
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 4]
mov word [ebp - 0x3ce], ax
mov ax, word [ebp - 0x3ce]
mov word [ebp - 0x3d0], ax
mov ax, word [ebp - 0x3ce]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x4dde08
mov ax, word [ebp - 0x3ce]
and ax, 0xffdf
mov word [ebp - 0x3d0], ax
mov ax, word [ebp - 0x3d0]
mov word [ebp - 0xaa], ax
cmp word [ebp - 0xaa], 0x3e
jne 0x4dde43
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.004380f4
mov edx, eax
or dl, byte [0x4de634]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00438100
jmp case.0x4d9d80.67
cmp word [ebp - 0xaa], 0x54
jne 0x4dde70
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.004380f4
mov edx, eax
or dl, byte [0x4de634]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00438100
jmp case.0x4d9d80.67
cmp word [ebp - 0xaa], 0x48
jne 0x4dde89
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x39], 1
jmp case.0x4d9d80.67
cmp word [ebp - 0xaa], 0x50
jne 0x4de15b
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x3d4], eax
mov edx, dword [ebp - 0x3d4]
mov eax, 0x4de58c
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x3d8], eax
cmp dword [ebp - 0x3d8], 0
jle case.0x4d9d80.67
lea eax, [ebp - 0x550]
push eax
mov ecx, dword [ebp - 0x78]
sub ecx, 6
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 6
call fcn.00406998
mov eax, dword [ebp - 0x550]
lea edx, [ebp - 0x30]
call fcn.0040c4d8
mov edx, dword [ebp - 0x30]
mov eax, 0x4dea28
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x3dc], eax
cmp dword [ebp - 0x3dc], 0
jle case.0x4d9d80.67
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3e0], eax
cmp dword [ebp - 0x3e0], 0
je 0x4ddf4d
mov eax, dword [ebp - 0x3e0]
sub eax, 0xa
cmp word [eax], 2
je 0x4ddf4d
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x3e0], eax
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0
je 0x4ddf73
mov eax, dword [ebp - 0x3e4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3e4], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x78]
add edx, 5
mov ecx, dword [ebp - 0x3e4]
mov eax, dword [ebp - 0x30]
call fcn.00406998
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3e8], eax
cmp dword [ebp - 0x3e8], 0
je 0x4ddfbd
mov eax, dword [ebp - 0x3e8]
sub eax, 0xa
cmp word [eax], 2
je 0x4ddfbd
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x38]
call fcn.00405658
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x3ec], eax
cmp dword [ebp - 0x3ec], 0
je 0x4ddfe3
mov eax, dword [ebp - 0x3ec]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3ec], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4dea40
call fcn.00406cb0
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x38]
call fcn.00406998
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3f0], eax
cmp dword [ebp - 0x3f0], 0
je 0x4de037
mov eax, dword [ebp - 0x3f0]
sub eax, 0xa
cmp word [eax], 2
je 0x4de037
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x38]
call fcn.00405658
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x3f4], eax
cmp dword [ebp - 0x3f4], 0
je 0x4de05d
mov eax, dword [ebp - 0x3f4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3f4], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x38]
mov eax, 0x4de770
call fcn.00406cb0
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x38]
call fcn.00406998
lea edx, [ebp - 0x554]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x554]
mov eax, 0x4deaa0
call fcn.00406cb0
test eax, eax
jle case.0x4d9d80.67
lea eax, [ebp - 0x38]
mov ecx, 0x11
mov edx, 1
call fcn.00406a68
lea edx, [ebp - 0x558]
mov eax, dword [ebp - 0x38]
call fcn.0040c4d8
mov edx, dword [ebp - 0x558]
mov eax, 0x4dead0
call fcn.00406cb0
dec eax
jne case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.004389c8
cmp al, 1
jne 0x4de0f7
mov dword [ebp - 0x3f8], 0x1fffffff
jmp 0x4de108
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
call fcn.00438868
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x3f8]
mov dword [eax - 0x7c], edx
xor edx, edx
mov eax, dword [ebp - 0x38]
call fcn.004d64bc
mov dword [ebp - 0x3fc], eax
cmp dword [ebp - 0x3fc], 0x1fffffff
jne 0x4de145
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004389d0
jmp case.0x4d9d80.67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x3fc]
call fcn.00438870
jmp case.0x4d9d80.67
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4deae0
call fcn.004d6590
dec eax
jne 0x4de17c
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x35], 1
jmp case.0x4d9d80.67
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4deaf8
call fcn.004d6590
dec eax
jne case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x36], 1
jmp case.0x4d9d80.67
lea eax, [ebp - 0x30]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x4de58c
call fcn.00406cb0
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00406998
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x400], eax
cmp dword [ebp - 0x400], 0
je 0x4de1f8
mov eax, dword [ebp - 0x400]
sub eax, 0xa
cmp word [eax], 2
je 0x4de1f8
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call fcn.00405658
mov dword [ebp - 0x400], eax
mov eax, dword [ebp - 0x400]
mov dword [ebp - 0x404], eax
cmp dword [ebp - 0x404], 0
je 0x4de21e
mov eax, dword [ebp - 0x404]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x404], eax
lea eax, [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x30]
mov eax, 0x4deb10
call fcn.004d6590
mov edx, eax
add edx, 2
mov ecx, dword [ebp - 0x404]
mov eax, dword [ebp - 0x30]
call fcn.00406998
lea edx, [ebp - 0x55c]
mov eax, dword [ebp - 0x38]
call fcn.004d6884
mov edx, dword [ebp - 0x55c]
lea eax, [ebp - 0x38]
call fcn.00406240
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x38]
call fcn.00403714
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x94]
push eax
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 4]
call fcn.004d6fc8
pop ecx
jmp case.0x4d9d80.67
mov eax, dword [ebp + 0x94]
mov byte [eax - 0x37], 1
cmp dword [ebp - 0x20], 0
je 0x4de2a6
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x24]
call fcn.00406240
lea eax, [ebp - 0x2c]
xor edx, edx
call fcn.00406240
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x408], eax
mov edx, dword [ebp - 0x408]
mov eax, 0x4de58c
call fcn.00406cb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x40c], eax
cmp dword [ebp - 0x40c], 0
jle 0x4de2e3
mov al, byte [ebp - 0x42]
xor al, 1
mov byte [ebp - 0x40d], al
jmp 0x4de2ea
mov byte [ebp - 0x40d], 0
cmp byte [ebp - 0x40d], 0
je 0x4de353
lea eax, [ebp - 0x560]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x78]
mov edx, 1
call fcn.00406998
mov edx, dword [ebp - 0x560]
lea eax, [ebp - 0x2c]
call fcn.00406600
lea eax, [ebp - 0x564]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x78]
mov edx, 1
call fcn.00406998
mov edx, dword [ebp - 0x564]
lea eax, [ebp - 0x24]
call fcn.00406600
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x78]
mov edx, 1
call fcn.00406a68
jmp 0x4de3c8
cmp byte [ebp - 0x42], 0
jne 0x4de3c8
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0
je 0x4de38f
mov eax, dword [ebp - 0x414]
sub eax, 0xa
cmp word [eax], 2
je 0x4de38f
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, dword [ebp - 8]
call fcn.00405658
mov dword [ebp - 0x414], eax
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0
je 0x4de3b5
mov eax, dword [ebp - 0x418]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x418]
mov edx, 1
call fcn.00406a68
mov eax, dword [ebp - 8]
call fcn.00405668
call fcn.0040655c
test eax, eax
jle 0x4de3e9
cmp byte [ebp - 0x41], 0
jne 0x4de3e9
cmp byte [ebp - 0x42], 0
je 0x4d7333
mov eax, dword [ebp + 0x48]
cmp dword [eax], 0xfffffffe
jne 0x4de40e
mov eax, dword [ebp + 0x4c]
cmp dword [eax], 0
jle 0x4de40e
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 0x4de4fe
mov eax, dword [ebp + 0x6c]
mov edx, dword [ebp - 0xd0]
mov dword [eax], edx
mov al, byte [ebp - 0xb1]
xor al, 1
and al, byte [ebp - 0x41]
je 0x4de45b
cmp byte [ebp + 0x80], 0
je 0x4de45b
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0xb8]
jle 0x4de445
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp - 0xb8]
mov dword [eax], edx
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0xbc]
jle 0x4de45b
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp - 0xbc]
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 0x4de472
mov eax, dword [ebp + 0x7c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp + 0x94]
cmp dword [eax + 0x78], 0
jl 0x4de4f3
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 0x4de4f3
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x4de4f3
cmp byte [ebp + 0x84], 0
jne 0x4de4f3
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x438]
mov dword [eax - 0x6c], edx
mov eax, dword [ebp + 0x94]
mov edx, dword [ebp - 0x42c]
mov dword [eax - 0x68], edx
mov eax, dword [ebp + 0x94]
lea edx, [eax - 0x74]
mov eax, dword [ebp - 4]
call fcn.00438c78
mov eax, dword [ebp - 0x428]
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 - 0x24]
call fcn.004061ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4de566
lea eax, [ebp - 0x564]
mov edx, 0x23
call fcn.004061e4
lea eax, [ebp - 0x4d0]
mov edx, 0xb
call fcn.004061e4
lea eax, [ebp - 0x4a4]
call fcn.004061dc
lea eax, [ebp - 0x490]
mov edx, 3
call fcn.004061e4
lea eax, [ebp - 0xdc]
call fcn.004061dc
lea eax, [ebp - 0x40]
mov edx, 0xc
call fcn.004061e4
ret