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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x4f
push 0
push 0
dec ecx
jne 0x5d9bf9
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov esi, ecx
lea edi, [ebp - 0x1e4]
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 - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5de13b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
call fcn.0040830c
lea eax, [ebp - 0x20]
call fcn.0040830c
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
sub dword [ebp - 0x1d8], eax
mov eax, dword [ebp + 0x34]
xor edx, edx
mov dword [eax], edx
xor eax, eax
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x21], 0
mov byte [ebp - 0x22], 0
mov byte [ebp - 0x23], 0
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov eax, dword [ebp + 0xc]
mov byte [eax], 0
lea esi, [ebp - 0x1e4]
lea edi, [ebp - 0x1f4]
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 - 0x10]
call fcn.0040830c
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x35], 0
je 0x5de011
cmp byte [ebp + 0x38], 0
jne 0x5de011
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0x3c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00471a30
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x44]
push eax
mov eax, dword [ebp + 0x30]
mov eax, dword [eax]
add eax, dword [ebp - 0x1e0]
push eax
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0x4c]
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x7c]
jmp 0x5de011
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de158
call fcn.0040950c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x68], 0
je 0x5d9d18
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de168
call fcn.0040950c
mov dword [ebp - 0x4c], eax
jmp 0x5d9d1d
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x48], 0
jle 0x5d9d4a
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x48]
jg 0x5d9d31
cmp dword [ebp - 0x4c], 0
jne 0x5d9d4a
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x48]
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 1
call fcn.00409360
jmp 0x5d9d75
cmp dword [ebp - 0x4c], 0
jle 0x5d9d68
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x4c]
mov edx, 1
call fcn.00409360
jmp 0x5d9d75
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
mov edx, dword [edx]
call fcn.00408734
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
je 0x5d9d98
mov eax, dword [ebp - 0xa0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x6c], eax
jmp 0x5d9db5
lea ecx, [ebp - 0xc]
mov edx, 0x5de168
mov eax, 0x5de178
call fcn.005d8428
mov edx, dword [ebp - 0xc]
mov eax, 0x5de178
call fcn.0040950c
test eax, eax
jg 0x5d9da3
jmp 0x5d9dda
lea ecx, [ebp - 0xc]
mov edx, 0x5de158
mov eax, 0x5de194
call fcn.005d8428
mov edx, dword [ebp - 0xc]
mov eax, 0x5de194
call fcn.0040950c
test eax, eax
jg 0x5d9dc8
jmp 0x5d9dff
lea ecx, [ebp - 0xc]
mov edx, 0x5de1ac
mov eax, 0x5de1bc
call fcn.005d8428
mov edx, dword [ebp - 0xc]
mov eax, 0x5de1bc
call fcn.0040950c
test eax, eax
jg 0x5d9ded
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
je 0x5d9e33
mov eax, dword [ebp - 0xa4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x70], eax
xor eax, eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x6c], 0
jle 0x5da4b1
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0047208c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x4d], 0
je 0x5d9e7c
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
shr edx, 2
cmp eax, edx
jge 0x5d9e7c
mov eax, dword [ebp - 0x28]
shr eax, 2
mov edx, dword [ebp + 0x2c]
mov dword [edx], eax
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x4e], 0
je 0x5d9e9f
mov eax, dword [ebp + 0x28]
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
shr edx, 2
cmp eax, edx
jge 0x5d9e9f
mov eax, dword [ebp - 0x28]
shr eax, 2
mov edx, dword [ebp + 0x28]
mov dword [edx], eax
mov eax, dword [ebp + 0x30]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x28]
jge 0x5d9eb1
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x28]
mov dword [eax], edx
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xc]
call fcn.00409138
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x44]
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x4f], 0
je 0x5d9ede
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x6c]
mov edx, 1
call fcn.004093a8
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x4f], 0
jne 0x5da4b1
cmp byte [ebp + 0x38], 0
jne 0x5da16b
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x4e], 0
je 0x5d9f09
mov eax, dword [ebp + 0x28]
mov eax, dword [eax]
sub dword [ebp - 0x1e8], eax
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x4d], 0
je 0x5d9f1d
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
add dword [ebp - 0x1e8], eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
sub dword [ebp - 0x1e8], eax
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x50], 0
je 0x5d9fc9
mov eax, dword [ebp + 0x3c]
mov ecx, dword [eax + 0x84]
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax + 0x84]
lea eax, [ebp - 0x1f4]
call fcn.0040dd78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471264
push 0
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x54]
push eax
lea eax, [ebp - 0x1f4]
push eax
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00408f4c
push eax
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp + 0x3c]
mov ecx, dword [eax + 0x84]
neg ecx
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax + 0x84]
neg edx
lea eax, [ebp - 0x1f4]
call fcn.0040dd78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x60]
call fcn.00471264
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x34], eax
push 0
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x54]
push eax
lea eax, [ebp - 0x1f4]
push eax
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00408f4c
push eax
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.user32.dll_DrawTextExW
push 0
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x54]
or eax, 0x400
push eax
lea eax, [ebp - 0x1f4]
push eax
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00408f4c
push eax
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x55], 0
je 0x5da05b
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x30]
mov eax, dword [eax]
dec eax
mov edx, dword [ebp + 0x3c]
cmp eax, dword [edx + 0x8c]
jne 0x5da05b
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx - 0x5c]
call fcn.004086ec
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x5d], 0
je 0x5da10d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, 0xff
call fcn.00471a30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, 1
call fcn.00471b84
mov eax, dword [ebp - 0x1f4]
sar eax, 1
jns 0x5da095
adc eax, 0
add eax, eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
and eax, 0x80000003
jns 0x5da0a9
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x5da0b6
mov dword [ebp - 0x50], 2
jmp 0x5da0bb
xor eax, eax
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x1d8]
add ecx, dword [ebp - 0x50]
dec ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x64]
jmp 0x5da102
cmp dword [ebp - 0x50], 2
jne 0x5da0df
xor eax, eax
mov dword [ebp - 0x50], eax
jmp 0x5da0e6
mov dword [ebp - 0x50], 2
mov ecx, dword [ebp - 0x1d8]
add ecx, dword [ebp - 0x50]
dec ecx
mov edx, dword [ebp - 0x54]
add edx, 2
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x60]
add dword [ebp - 0x54], 2
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x1ec]
jl 0x5da0d2
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x54]
and eax, 0x20000
cmp eax, 0x20000
je 0x5da139
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1ec], eax
jmp 0x5da14e
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x1ec]
add eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1f0], eax
jmp 0x5da325
lea esi, [ebp - 0x1e4]
lea edi, [ebp - 0x1f4]
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 + 0x3c]
mov eax, dword [eax - 0x54]
or eax, 0x400
push eax
lea eax, [ebp - 0x1f4]
push eax
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00408f4c
push eax
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.user32.dll_DrawTextExW
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 0x1f0]
jle 0x5da27a
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 0x1e8]
jge 0x5da27a
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
cmp eax, dword [ebp + 0x18]
jge 0x5da27a
mov eax, dword [ebp - 0x1e8]
push eax
lea eax, [ebp - 0x214]
push eax
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x1f0]
call fcn.0040dc18
mov eax, dword [ebp + 0x3c]
lea esi, [ebp - 0x214]
lea edi, [eax - 0x70]
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 + 0x3c]
add eax, 0xffffffec
xor ecx, ecx
mov edx, 0x14
call fcn.00405148
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0x14], 0x14
mov eax, dword [ebp + 0x3c]
add eax, 0xffffffe0
push eax
push 0
mov eax, dword [ebp + 0x3c]
add eax, 0xffffffe8
push eax
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp + 0x18]
sub edx, dword [eax]
push edx
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00408f4c
push eax
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.gdi32.dll_GetTextExtentExPointW
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x18]
cmp eax, dword [ebp - 0x6c]
jne 0x5da26e
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x6c]
add dword [eax - 0x74], edx
jmp 0x5da27a
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x18]
mov edx, dword [ebp + 0x3c]
add dword [edx - 0x74], eax
mov eax, dword [ebp - 0x1ec]
sub eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp - 0x74]
add dword [eax], edx
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x54]
and eax, 0x20000
cmp eax, 0x20000
jne 0x5da2b7
mov eax, dword [ebp - 0x1dc]
sub eax, dword [ebp + 0x18]
sub eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x34], eax
jmp 0x5da2c3
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp - 0x1f4]
mov edx, dword [ebp + 0x34]
mov edx, dword [edx]
sub edx, dword [ebp - 0x74]
cmp eax, edx
jl 0x5da325
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x34]
jl 0x5da325
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x55], 0
je 0x5da325
mov eax, dword [ebp + 0x10]
mov byte [eax], 1
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 0x1f0]
jle 0x5da325
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx - 0x5c]
call fcn.004086ec
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x3c]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx - 0x78]
call fcn.004086ec
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x79], 1
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1dc]
sub edx, dword [ebp - 0x1e4]
cmp eax, edx
jl 0x5da34f
mov eax, dword [ebp - 0x1dc]
sub eax, dword [ebp - 0x1e4]
cmp eax, dword [ebp - 0x74]
jle 0x5da34f
xor eax, eax
jmp 0x5da351
mov al, 1
mov byte [ebp - 0x77], al
cmp byte [ebp - 0x77], 0
jne 0x5da3d5
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x5da37d
mov eax, dword [ebp - 0xa8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x5da3c1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
je 0x5da3a9
mov eax, dword [ebp - 0xac]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0xac]
cmp word [eax + edx*2 - 2], 0x20
setne byte [ebp - 0xad]
jmp 0x5da3c8
mov byte [ebp - 0xad], 0
cmp byte [ebp - 0xad], 0
je 0x5da3d5
mov byte [ebp - 0x77], 1
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0xc]
call fcn.00409138
cmp byte [ebp - 0x77], 0
jne 0x5da3f3
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x68], 0
jne 0x5da4a5
lea eax, [ebp - 0x218]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x6c]
mov edx, 1
call fcn.00409360
mov edx, dword [ebp - 0x218]
lea eax, [ebp - 0x10]
call fcn.00409138
mov al, byte [ebp - 0x77]
xor al, 1
and al, byte [ebp + 0x38]
je 0x5da439
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0xc]
call fcn.00409328
je 0x5da439
mov eax, dword [ebp - 8]
call fcn.0040830c
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x6c]
mov edx, 1
call fcn.004093a8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x5da46c
mov eax, dword [ebp - 0xb4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x6c]
jl 0x5da49e
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x6c]
cmp word [eax + edx*2 - 2], 0x20
jne 0x5da497
mov edx, 0x5de168
mov eax, dword [ebp - 4]
call fcn.004720ac
mov dword [ebp - 0x2c], eax
jmp 0x5da4b1
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x5da4b1
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x5da4b1
mov byte [ebp - 0x21], 1
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp - 0x74]
sub dword [eax], edx
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de158
call fcn.0040950c
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 1
jne 0x5da50b
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
je 0x5da4fa
mov eax, dword [ebp - 0xbc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 2
jg 0x5da50b
mov eax, dword [ebp - 8]
call fcn.0040830c
cmp byte [ebp - 0x21], 0
jne 0x5de011
cmp dword [ebp - 0x48], 1
jne 0x5de011
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x5da550
mov eax, dword [ebp - 0xc4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 2
jle 0x5de011
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp word [eax + 2], 0x2f
jne 0x5da5aa
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x5da59a
mov eax, dword [ebp - 0xcc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 3
setg byte [ebp - 0xcd]
jmp 0x5da5b1
mov byte [ebp - 0xcd], 0
cmp byte [ebp - 0xcd], 0
je 0x5dab4a
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 4]
mov word [ebp - 0xd0], ax
mov ax, word [ebp - 0xd0]
mov word [ebp - 0xd2], ax
mov ax, word [ebp - 0xd0]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x5da5fe
mov ax, word [ebp - 0xd0]
and ax, 0xffdf
mov word [ebp - 0xd2], ax
movzx eax, word [ebp - 0xd2]
add eax, 0xffffffbf
cmp eax, 0x19
ja case.0x5dab9d.68
mov al, byte [eax + 0x5da61e]
jmp dword [eax*4 + 0x5da638]
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x6c], 0
je 0x5da68c
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x88]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx + 0x30]
cmp eax, dword [edx]
jne 0x5da710
cmp byte [ebp + 0x38], 0
jne 0x5da710
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x21]
mov byte [ebp - 0xd3], al
mov dl, byte [0x5de1c8]
not edx
and dl, byte [ebp - 0xd3]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471630
mov eax, dword [ebp + 0x3c]
cmp dword [eax + 0x54], 0x1fffffff
je 0x5da6f3
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00471e04
mov eax, dword [ebp + 0x3c]
cmp dword [eax - 0x80], 0x1fffffff
jne 0x5da6f3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.00471f84
mov eax, dword [ebp + 0x3c]
cmp dword [eax + 0x50], 0x1fffffff
je 0x5da710
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax + 0x50]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471264
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x74], 0
jne 0x5da730
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x84]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471264
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x55], 0
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x79], 0
je 0x5da7be
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x1d8]
mov dword [eax - 0x88], edx
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
add eax, dword [ebp - 0x1e4]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0x8c], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x90]
cmp eax, dword [ebp - 0x1e0]
je 0x5da792
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x1e4]
mov dword [eax - 0x94], edx
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x1e0]
mov dword [eax - 0x90], edx
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx + 0x28]
lea esi, [eax - 0x94]
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 + 0x3c]
mov eax, dword [eax + 0x30]
mov eax, dword [eax]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx + 0x2c]
mov dword [edx], eax
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x79], 0
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x8c]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx + 0x30]
mov edx, dword [edx]
dec edx
cmp eax, edx
jne case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x1f4]
mov dword [eax - 0x28], edx
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp - 0x1e8]
sub edx, dword [eax]
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0x24], edx
mov edx, 0x5de1d8
mov eax, dword [ebp - 4]
call fcn.0047208c
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx - 0x24]
sub edx, eax
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0x2c], edx
mov eax, dword [ebp + 0x3c]
add eax, 0xffffffd0
xor ecx, ecx
mov edx, 1
call fcn.0040dd54
cmp byte [ebp + 0x38], 0
jne case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
lea edx, [eax - 0x30]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x4c]
jmp case.0x5dab9d.68
cmp byte [ebp + 0x38], 0
jne case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x5d], 0
jmp case.0x5dab9d.68
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp word [eax + 6], 0x3e
je 0x5da87d
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x84]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471264
jmp case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x21]
mov byte [ebp - 0xd4], al
mov dl, byte [0x5de1e0]
not edx
and dl, byte [ebp - 0xd4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471630
jmp case.0x5dab9d.68
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0xd6], ax
mov ax, word [ebp - 0xd6]
mov word [ebp - 0xd8], ax
mov ax, word [ebp - 0xd6]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x5da8ed
mov ax, word [ebp - 0xd6]
and ax, 0xffdf
mov word [ebp - 0xd8], ax
mov ax, word [ebp - 0xd8]
mov word [ebp - 0x76], ax
cmp word [ebp - 0x76], 0x55
jne 0x5da912
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x4e], 0
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x4d], 0
jmp case.0x5dab9d.68
cmp word [ebp - 0x76], 0x48
jne 0x5da925
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x50], 0
jmp case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x21]
mov byte [ebp - 0xd9], al
mov dl, byte [0x5de1e4]
not edx
and dl, byte [ebp - 0xd9]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471630
jmp case.0x5dab9d.68
lea edx, [ebp - 0x21c]
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x84]
call fcn.00471538
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0047158c
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x84]
call fcn.004715e8
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471604
cmp byte [ebp + 0x38], 0
jne case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x74], 0
jne case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x84]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471264
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0x98]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00471e04
mov eax, dword [ebp + 0x3c]
cmp dword [eax - 0x98], 0x1fffffff
jne case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.00471f84
jmp case.0x5dab9d.68
cmp byte [ebp + 0x38], 0
jne case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0x9c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471264
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0xa0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00471e04
mov eax, dword [ebp + 0x3c]
cmp dword [eax - 0xa0], 0x1fffffff
jne case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.00471f84
jmp case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x21]
mov byte [ebp - 0xda], al
mov dl, byte [0x5de1e8]
not edx
and dl, byte [ebp - 0xda]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471630
jmp case.0x5dab9d.68
mov byte [ebp - 0x21], 1
jmp case.0x5dab9d.68
mov byte [ebp - 0x21], 1
cmp byte [ebp + 0x38], 0
jne case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0xa4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00471e04
mov eax, dword [ebp + 0x3c]
cmp dword [eax - 0xa4], 0x1fffffff
jne 0x5daaca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.00471f84
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x35], 0
jmp case.0x5dab9d.68
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp word [eax + 6], 0x3e
je 0x5daafc
mov eax, dword [ebp + 0x3c]
cmp dword [eax - 0xa8], 0
jle 0x5daafc
mov eax, dword [ebp + 0x3c]
dec dword [eax - 0xa8]
jmp case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x21]
mov byte [ebp - 0xdb], al
mov dl, byte [0x5de1c8]
not edx
and dl, byte [ebp - 0xdb]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471630
jmp case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
push eax
mov eax, dword [ebp - 4]
call fcn.005d9bc8
pop ecx
jmp case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x4f], 0
jmp case.0x5dab9d.68
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 2]
mov word [ebp - 0xde], ax
mov ax, word [ebp - 0xde]
mov word [ebp - 0xe0], ax
mov ax, word [ebp - 0xde]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x5dab8a
mov ax, word [ebp - 0xde]
and ax, 0xffdf
mov word [ebp - 0xe0], ax
movzx eax, word [ebp - 0xe0]
add eax, 0xffffffbf
cmp eax, 0x19
ja case.0x5dab9d.68
jmp dword [eax*4 + 0x5daba4]
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x8c]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx + 0x30]
cmp eax, dword [edx]
jne 0x5dac3d
cmp byte [ebp + 0x38], 0
jne 0x5dac3d
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x1f4]
mov dword [eax - 0x30], edx
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x1f0]
mov dword [eax - 0x2c], edx
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x30]
inc dword [eax]
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x6c], 0
je 0x5dac65
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x88]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx + 0x30]
cmp eax, dword [edx]
jne 0x5dad16
cmp byte [ebp + 0x38], 0
jne 0x5dad16
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x21]
mov byte [ebp - 0xe1], al
mov dl, byte [0x5de1c8]
or dl, byte [ebp - 0xe1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471630
mov eax, dword [ebp + 0x3c]
cmp dword [eax + 0x54], 0x1fffffff
je 0x5dace7
cmp byte [ebp + 0x38], 0
jne 0x5dace7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0x80], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x20]
cmp al, 1
jne 0x5dacd6
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0x80], 0x1fffffff
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00471e04
mov eax, dword [ebp + 0x3c]
cmp dword [eax + 0x50], 0x1fffffff
je 0x5dad16
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xac], eax
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax + 0x50]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471264
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x74], 0
jne 0x5dad58
mov eax, dword [ebp + 0x3c]
cmp dword [eax + 0x50], 0x1fffffff
je 0x5dad47
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x88]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx + 0x30]
cmp eax, dword [edx]
jne 0x5dad47
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x6c], 0
jne 0x5dad58
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax + 0x58]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471264
lea eax, [ebp - 0x220]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de1ac
call fcn.0040950c
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00409360
mov eax, dword [ebp - 0x220]
lea edx, [ebp - 0x14]
call fcn.00420554
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 0x14]
mov eax, 0x5de1f8
call fcn.005d8330
test eax, eax
jle 0x5dae81
lea eax, [ebp - 0x14]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de1ac
call fcn.0040950c
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00409360
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x5dadee
mov eax, dword [ebp - 0xe8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x48]
add edx, 4
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
je 0x5dae29
mov eax, dword [ebp - 0xec]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
mov eax, dword [ebp + 0x3c]
add eax, 0xffffffa4
mov edx, dword [ebp - 0x18]
call fcn.00408734
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x55], 1
lea eax, [ebp - 0x224]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de1ac
call fcn.0040950c
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00409360
mov eax, dword [ebp - 0x224]
lea edx, [ebp - 0x14]
call fcn.00420554
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 0x14]
mov eax, 0x5de220
call fcn.005d8330
test eax, eax
jle 0x5dafa3
lea eax, [ebp - 0x14]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de1ac
call fcn.0040950c
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00409360
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je 0x5daf17
mov eax, dword [ebp - 0xf0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xf0], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x48]
add edx, 5
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0
je 0x5daf52
mov eax, dword [ebp - 0xf4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
mov eax, dword [ebp + 0x3c]
add eax, 0xffffff88
mov edx, dword [ebp - 0x18]
call fcn.00408734
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0x94], eax
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x1e0]
mov dword [eax - 0x90], edx
jmp case.0x5dab9d.68
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 4]
mov word [ebp - 0xf6], ax
mov ax, word [ebp - 0xf6]
mov word [ebp - 0xf8], ax
mov ax, word [ebp - 0xf6]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x5db005
mov ax, word [ebp - 0xf6]
and ax, 0xffdf
mov word [ebp - 0xf8], ax
mov ax, word [ebp - 0xf8]
mov word [ebp - 0x76], ax
cmp word [ebp - 0x76], 0x3e
jne 0x5db045
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x21]
mov byte [ebp - 0xf9], al
mov dl, byte [0x5de1e0]
or dl, byte [ebp - 0xf9]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471630
jmp case.0x5dab9d.68
cmp word [ebp - 0x76], 0x52
jne 0x5db06b
mov byte [ebp - 0x21], 1
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x44]
mov edx, 0x5de238
call fcn.00409138
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x44]
jmp case.0x5dab9d.68
cmp word [ebp - 0x76], 0x4c
jne 0x5db098
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x70], 0
jne case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0xb0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471264
jmp case.0x5dab9d.68
cmp word [ebp - 0x76], 0x4f
jne case.0x5dab9d.68
lea eax, [ebp - 0x228]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de1ac
call fcn.0040950c
mov ecx, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 1
call fcn.00409360
mov edx, dword [ebp - 0x228]
lea eax, [ebp - 0x10]
call fcn.00409138
lea eax, [ebp - 0x22c]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de1ac
call fcn.0040950c
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 6
call fcn.00409360
mov eax, dword [ebp - 0x22c]
lea edx, [ebp - 0x14]
call fcn.00420554
mov edx, dword [ebp - 0x14]
mov eax, 0x5de248
call fcn.0040950c
test eax, eax
jle 0x5db36f
cmp byte [ebp + 0x38], 0
jne 0x5db36f
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je 0x5db150
mov eax, dword [ebp - 0x100]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x14]
mov eax, 0x5de248
call fcn.0040950c
mov edx, eax
add edx, 0xa
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0
je 0x5db197
mov eax, dword [ebp - 0x104]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
xor eax, eax
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de26c
call fcn.0040950c
test eax, eax
jne 0x5db20a
mov eax, dword [ebp + 0x3c]
cmp dword [eax + 0x10], 0
je 0x5db20a
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de27c
call fcn.0040950c
test eax, eax
jle 0x5db270
mov eax, dword [ebp + 0x3c]
cmp dword [eax + 0x14], 0
je 0x5db270
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x18]
call fcn.005d63ec
test eax, eax
jne 0x5db25f
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x14]
call fcn.005d637c
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
mov byte [eax + 0x45], 0
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x98]
call fcn.005d5b70
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x18]
call fcn.005d63ec
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x5db36f
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x5db36f
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x30]
test eax, eax
jle 0x5db36f
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x24]
test eax, eax
jle 0x5db36f
xor eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x40]
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x44]
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x48]
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x4c]
push eax
call sub.gdi32.dll_CreateRectRgn
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xb4], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xb4]
push eax
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.gdi32.dll_SelectClipRgn
jmp 0x5db33f
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x5db323
mov eax, dword [ebp - 0x58]
push eax
mov eax, dword [ebp + 0x3c]
mov ecx, dword [eax - 0x48]
add ecx, dword [ebp - 0x3c]
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0x4c]
add edx, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x44]
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x30]
add dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x44]
mov edx, dword [ebp + 0x3c]
sub eax, dword [edx - 0x4c]
cmp eax, dword [ebp - 0x38]
jg 0x5db2fa
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x24]
add dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x40]
mov edx, dword [ebp + 0x3c]
sub eax, dword [edx - 0x48]
cmp eax, dword [ebp - 0x3c]
jg 0x5db2f3
push 0
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.gdi32.dll_SelectClipRgn
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xb4]
push eax
call sub.gdi32.dll_DeleteObject
mov edx, dword [ebp - 0x14]
mov eax, 0x5de290
call fcn.0040950c
test eax, eax
jle case.0x5dab9d.68
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x5db3a7
mov eax, dword [ebp - 0x108]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x108], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x14]
mov eax, 0x5de290
call fcn.0040950c
mov edx, eax
add edx, 7
mov ecx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
je 0x5db3ee
mov eax, dword [ebp - 0x10c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
cmp byte [ebp + 0x38], 0
jne case.0x5dab9d.68
mov edx, dword [ebp - 0x18]
mov eax, 0x5de2ac
call fcn.0040950c
test eax, eax
jle 0x5db472
lea edx, [ebp - 0x230]
mov eax, dword [ebp - 0x18]
call fcn.00420830
mov eax, dword [ebp - 0x230]
call fcn.005d74d4
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00471e04
mov edx, dword [ebp - 0x18]
mov eax, 0x5de2c0
call fcn.0040950c
test eax, eax
jle 0x5db498
mov eax, dword [ebp - 0x18]
call fcn.005d7f74
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00471e04
cmp byte [ebp + 0x38], 0
jne case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0x98], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0x3c], eax
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0x98]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00471a30
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x44]
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x40]
push eax
mov eax, dword [ebp + 0x3c]
mov ecx, dword [eax - 0x48]
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0x4c]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x7c]
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0x3c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00471a30
jmp case.0x5dab9d.68
cmp byte [ebp + 0x38], 0
jne case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x5d], 1
jmp case.0x5dab9d.68
lea eax, [ebp - 0x14]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de1ac
call fcn.0040950c
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 9
call fcn.00409360
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x88]
lea edx, [ebp - 0x7c]
mov eax, dword [ebp - 0x14]
call fcn.005d8a10
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xb8], 0x19
cmp dword [ebp - 0x84], 0
je 0x5db5c1
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 0x84]
call fcn.00405c6c
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xb8], eax
cmp dword [ebp - 0x34], 0
je 0x5db5c1
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xb8], 0x19
cmp dword [ebp - 0x80], 0
je case.0x5dab9d.68
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 0x80]
call fcn.00405c6c
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x34], 0
jne 0x5db604
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x30]
mov dword [eax - 0xc0], edx
mov edx, 0x5de1d8
mov eax, dword [ebp - 4]
call fcn.0047208c
add eax, 0xa
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xbc], eax
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de2d0
call fcn.00409328
je 0x5db622
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de2e8
call fcn.00409328
jne 0x5db62d
mov eax, dword [ebp + 0x30]
mov dword [eax], 0x10
jmp 0x5db636
mov eax, dword [ebp + 0x30]
mov dword [eax], 0x17
mov eax, dword [ebp + 0x3c]
cmp dword [eax - 0xb8], 0x19
jle 0x5db653
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xb8]
sub eax, 2
mov edx, dword [ebp + 0x30]
mov dword [edx], eax
cmp byte [ebp + 0x38], 0
jne 0x5dc2e7
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de300
call fcn.00409328
je 0x5db68e
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de318
call fcn.00409328
je 0x5db68e
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de338
call fcn.00409328
jne 0x5db823
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc1], 0
je 0x5db6ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, 0xb99d7f
call fcn.00471a30
jmp 0x5db6bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, 0x808080
call fcn.00471a30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, 0xffffff
call fcn.00471e04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
xor edx, edx
call fcn.00471f84
mov eax, dword [ebp - 0x1f4]
add eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x1e8]
add eax, 2
push eax
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1e8]
sub ecx, dword [eax]
add ecx, 4
mov edx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x7c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.00471f84
mov eax, dword [ebp - 0x1e8]
push eax
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x1e8]
sub edx, dword [eax]
add edx, 4
mov ecx, dword [ebp - 0x1f4]
add ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1f4]
add eax, 2
call fcn.0040dc18
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de318
call fcn.00409328
jne 0x5db7c7
mov eax, dword [ebp - 4]
call fcn.00472ff4
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
je 0x5db78c
mov eax, dword [ebp - 0x110]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x110], eax
push 0x24
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 0x110]
push eax
lea edx, [ebp - 0x234]
mov eax, dword [ebp - 0x8c]
call fcn.005d9ad0
mov eax, dword [ebp - 0x234]
call fcn.00408f4c
push eax
mov eax, dword [ebp - 0x114]
push eax
call sub.user32.dll_DrawTextW
jmp 0x5db823
mov eax, dword [ebp - 4]
call fcn.00472ff4
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
je 0x5db7fb
mov eax, dword [ebp - 0x118]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x118], eax
push 0x24
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 0x118]
push eax
mov eax, dword [ebp - 0x8c]
call fcn.00408f4c
push eax
mov eax, dword [ebp - 0x11c]
push eax
call sub.user32.dll_DrawTextW
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de350
call fcn.00409328
jne 0x5dba9d
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc1], 0
je 0x5db854
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, 0xb99d7f
call fcn.00471a30
jmp 0x5db864
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, 0x808080
call fcn.00471a30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, 0xffffff
call fcn.00471e04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
xor edx, edx
call fcn.00471f84
mov eax, dword [ebp - 0x1f4]
add eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x1e8]
add eax, 2
push eax
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1e8]
sub ecx, dword [eax]
add ecx, 4
mov edx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x7c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.00471f84
mov eax, dword [ebp - 0x1e8]
push eax
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x1e8]
sub edx, dword [eax]
add edx, 4
mov ecx, dword [ebp - 0x1f4]
add ecx, dword [ebp - 0x30]
sub ecx, 0x12
mov eax, dword [ebp - 0x1f4]
add eax, 4
call fcn.0040dc18
mov eax, dword [ebp - 4]
call fcn.00472ff4
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x5db928
mov eax, dword [ebp - 0x120]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x120], eax
push 0x24
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x8c]
call fcn.00408f4c
push eax
mov eax, dword [ebp - 0x124]
push eax
call sub.user32.dll_DrawTextW
mov eax, dword [ebp - 0x1e8]
inc eax
push eax
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x1e8]
sub edx, dword [eax]
add edx, 5
mov ecx, dword [ebp - 0x1f4]
add ecx, dword [ebp - 0x30]
dec ecx
mov eax, dword [ebp - 0x1f4]
add eax, dword [ebp - 0x30]
sub eax, 0x12
call fcn.0040dc18
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc1], 0
je 0x5dba84
mov eax, dword [ebp - 0x1f4]
sub eax, 2
cmp eax, dword [ebp + 0x18]
jge 0x5db9e2
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc0]
add eax, dword [ebp - 0x1f4]
sub eax, 2
cmp eax, dword [ebp + 0x18]
jle 0x5db9e2
mov eax, dword [ebp - 0x1e8]
sub eax, 2
cmp eax, dword [ebp + 0x14]
jle 0x5db9e2
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x1e8]
sub edx, dword [eax - 0xbc]
sub edx, 2
cmp edx, dword [ebp + 0x14]
jl 0x5db9e6
xor eax, eax
jmp 0x5db9e8
mov al, 1
mov edx, dword [ebp + 0x3c]
mov byte [edx - 0xc2], al
push 0x5de35c
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [0x75edc0]
mov eax, dword [eax]
call eax
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xc8], eax
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc2], 0
je 0x5dba46
push 0
lea eax, [ebp - 0x204]
push eax
push 2
push 1
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
jmp 0x5dba6f
push 0
lea eax, [ebp - 0x204]
push eax
push 1
push 1
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75f02c]
mov eax, dword [eax]
call eax
jmp 0x5dba9d
push 5
push 3
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.user32.dll_DrawFrameControl
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de2d0
call fcn.00409328
jne 0x5dbd56
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xc0], 0x10
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xbc], 0x10
mov dword [ebp - 0x30], 0x10
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc1], 0
je 0x5dbaef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, 0xb99d7f
call fcn.00471a30
jmp 0x5dbaff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, 0x808080
call fcn.00471a30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.00471f84
mov eax, dword [ebp - 0x1e8]
push eax
lea eax, [ebp - 0x204]
push eax
mov ecx, dword [ebp - 0x1f4]
add ecx, 0xf
mov edx, dword [ebp - 0x1e8]
sub edx, 0xf
mov eax, dword [ebp - 0x1f4]
add eax, 2
call fcn.0040dc18
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0xc2], 0
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc1], 0
je 0x5dbcf9
push 0x5de370
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [0x75edc0]
mov eax, dword [eax]
call eax
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xc8], eax
lea edx, [ebp - 0x238]
mov eax, dword [ebp - 0x8c]
call fcn.00420554
mov eax, dword [ebp - 0x238]
mov edx, 0x5de38c
call fcn.00409328
jne 0x5dbc44
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x64], 0
je 0x5dbbdc
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc2], 0
je 0x5dbbdc
push 0
lea eax, [ebp - 0x204]
push eax
push 7
push 3
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
jmp 0x5dbce4
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc2], 0
je 0x5dbc16
push 0
lea eax, [ebp - 0x204]
push eax
push 6
push 3
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
jmp 0x5dbce4
push 0
lea eax, [ebp - 0x204]
push eax
push 5
push 3
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
jmp 0x5dbce4
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x64], 0
je 0x5dbc84
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc2], 0
je 0x5dbc84
push 0
lea eax, [ebp - 0x204]
push eax
push 3
push 3
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
jmp 0x5dbce4
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc2], 0
je 0x5dbcbb
push 0
lea eax, [ebp - 0x204]
push eax
push 2
push 3
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
jmp 0x5dbce4
push 0
lea eax, [ebp - 0x204]
push eax
push 1
push 3
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75f02c]
mov eax, dword [eax]
call eax
jmp 0x5dbd56
lea edx, [ebp - 0x23c]
mov eax, dword [ebp - 0x8c]
call fcn.00420554
mov eax, dword [ebp - 0x23c]
mov edx, 0x5de38c
call fcn.00409328
jne 0x5dbd3a
push 0x4400
push 4
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.user32.dll_DrawFrameControl
jmp 0x5dbd56
push 0x4000
push 4
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.user32.dll_DrawFrameControl
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de2e8
call fcn.00409328
jne 0x5dc068
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xc0], 0x10
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xbc], 0x10
mov dword [ebp - 0x30], 0x10
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc1], 0
je 0x5dbda8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, 0xb99d7f
call fcn.00471a30
jmp 0x5dbdb8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, 0x808080
call fcn.00471a30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.00471f84
mov eax, dword [ebp - 0x1e8]
push eax
lea eax, [ebp - 0x204]
push eax
mov ecx, dword [ebp - 0x1f4]
add ecx, 0xe
mov edx, dword [ebp - 0x1e8]
sub edx, 0xe
mov eax, dword [ebp - 0x1f4]
add eax, 2
call fcn.0040dc18
mov eax, dword [ebp - 0x1f4]
sub eax, 2
cmp eax, dword [ebp + 0x18]
jge 0x5dbe3d
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc0]
add eax, dword [ebp - 0x1f4]
sub eax, 2
cmp eax, dword [ebp + 0x18]
jle 0x5dbe3d
mov eax, dword [ebp - 0x1e8]
sub eax, 2
cmp eax, dword [ebp + 0x14]
jle 0x5dbe3d
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x1e8]
sub edx, dword [eax - 0xbc]
sub edx, 2
cmp edx, dword [ebp + 0x14]
jl 0x5dbe41
xor eax, eax
jmp 0x5dbe43
mov al, 1
mov edx, dword [ebp + 0x3c]
mov byte [edx - 0xc2], al
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0xc2], 0
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc1], 0
je 0x5dc00b
push 0x5de370
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [0x75edc0]
mov eax, dword [eax]
call eax
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xc8], eax
lea edx, [ebp - 0x240]
mov eax, dword [ebp - 0x8c]
call fcn.00420554
mov eax, dword [ebp - 0x240]
mov edx, 0x5de38c
call fcn.00409328
jne 0x5dbf56
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x64], 0
je 0x5dbeee
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc2], 0
je 0x5dbeee
push 0
lea eax, [ebp - 0x204]
push eax
push 7
push 2
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
jmp 0x5dbff6
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc2], 0
je 0x5dbf28
push 0
lea eax, [ebp - 0x204]
push eax
push 6
push 2
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
jmp 0x5dbff6
push 0
lea eax, [ebp - 0x204]
push eax
push 5
push 2
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
jmp 0x5dbff6
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x64], 0
je 0x5dbf96
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc2], 0
je 0x5dbf96
push 0
lea eax, [ebp - 0x204]
push eax
push 3
push 2
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
jmp 0x5dbff6
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc2], 0
je 0x5dbfcd
push 0
lea eax, [ebp - 0x204]
push eax
push 2
push 2
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
jmp 0x5dbff6
push 0
lea eax, [ebp - 0x204]
push eax
push 1
push 2
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75f02c]
mov eax, dword [eax]
call eax
jmp 0x5dc068
lea edx, [ebp - 0x244]
mov eax, dword [ebp - 0x8c]
call fcn.00420554
mov eax, dword [ebp - 0x244]
mov edx, 0x5de38c
call fcn.00409328
jne 0x5dc04c
push 0x4404
push 4
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.user32.dll_DrawFrameControl
jmp 0x5dc068
push 0x4004
push 4
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.user32.dll_DrawFrameControl
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de3a4
call fcn.00409328
jne 0x5dc2e7
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xbc], 0x18
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc1], 0
je 0x5dc0a6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, 0xb99d7f
call fcn.00471a30
jmp 0x5dc0b6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, 0x808080
call fcn.00471a30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.00471f84
mov eax, dword [ebp - 0x1e8]
push eax
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x1e8]
sub edx, dword [eax - 0xb8]
mov ecx, dword [ebp - 0x1f4]
add ecx, dword [ebp - 0x30]
sub ecx, 2
mov eax, dword [ebp - 0x1f4]
add eax, 2
call fcn.0040dc18
mov eax, dword [ebp - 0x1f4]
sub eax, 2
cmp eax, dword [ebp + 0x18]
jge 0x5dc144
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc0]
add eax, dword [ebp - 0x1f4]
sub eax, 2
cmp eax, dword [ebp + 0x18]
jle 0x5dc144
mov eax, dword [ebp - 0x1e8]
sub eax, 2
cmp eax, dword [ebp + 0x14]
jle 0x5dc144
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x1e8]
sub edx, dword [eax - 0xbc]
sub edx, 2
cmp edx, dword [ebp + 0x14]
jl 0x5dc148
xor eax, eax
jmp 0x5dc14a
mov al, 1
mov edx, dword [ebp + 0x3c]
mov byte [edx - 0xc2], al
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc1], 0
je 0x5dc22a
push 0x5de370
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [0x75edc0]
mov eax, dword [eax]
call eax
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xc8], eax
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x64], 0
je 0x5dc1b5
push 0
lea eax, [ebp - 0x204]
push eax
push 3
push 1
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
jmp 0x5dc215
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc2], 0
je 0x5dc1ec
push 0
lea eax, [ebp - 0x204]
push eax
push 2
push 1
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
jmp 0x5dc215
push 0
lea eax, [ebp - 0x204]
push eax
push 1
push 1
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75efe8]
mov eax, dword [eax]
call eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc8]
push eax
mov eax, dword [0x75f02c]
mov eax, dword [eax]
call eax
jmp 0x5dc276
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0xc2], 0
je 0x5dc25d
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x64], 0
je 0x5dc25d
push 0x210
push 4
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.user32.dll_DrawFrameControl
jmp 0x5dc276
push 0x10
push 4
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.user32.dll_DrawFrameControl
lea eax, [ebp - 0x204]
mov ecx, 0xfffffffe
mov edx, 0xfffffffe
call fcn.0040dd54
mov eax, dword [ebp - 4]
call fcn.00472ff4
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x5dc2bf
mov eax, dword [ebp - 0x128]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x128], eax
push 0x25
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 0x128]
push eax
mov eax, dword [ebp - 0x8c]
call fcn.00408f4c
push eax
mov eax, dword [ebp - 0x12c]
push eax
call sub.user32.dll_DrawTextW
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de3a4
call fcn.00409328
jne 0x5dc303
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xbc], 0x19
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de350
call fcn.00409328
jne 0x5dc31f
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xbc], 0x19
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de2d0
call fcn.00409328
jne 0x5dc348
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xc0], 0x10
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xbc], 0x10
mov eax, dword [ebp - 0x7c]
mov edx, 0x5de2e8
call fcn.00409328
jne 0x5dc371
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xc0], 0x10
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xbc], 0x10
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp - 0x1e4]
mov edx, dword [ebp + 0x34]
cmp eax, dword [edx]
jle 0x5dc3bb
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
mov edx, dword [ebp + 0x3c]
add eax, dword [edx - 0xc0]
mov edx, dword [ebp + 0x18]
sub edx, dword [ebp - 0x1e4]
cmp eax, edx
jle 0x5dc3bb
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 0x1f0]
jle 0x5dc3bb
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xbc]
add eax, dword [ebp - 0x1f0]
cmp eax, dword [ebp + 0x14]
jg 0x5dc3e4
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x80], 0
je 0x5dc495
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
mov edx, dword [ebp - 0x88]
call fcn.00409328
jne 0x5dc495
mov eax, dword [ebp + 0xc]
mov byte [eax], 1
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x48]
mov edx, 0x5de3c0
call fcn.004086ec
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xcc]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xd0], eax
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
add eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x204], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc0]
add eax, dword [ebp - 0x204]
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xbc]
add eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x24]
mov edi, eax
lea esi, [ebp - 0x204]
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 + 0x3c]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x8c]
call fcn.004086ec
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 0x88]
call fcn.004086ec
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 0x7c]
call fcn.004086ec
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
mov edx, dword [ebp + 0x3c]
add eax, dword [edx - 0xc0]
mov edx, dword [ebp - 0x1dc]
sub edx, dword [ebp - 0x1e4]
cmp eax, edx
jle 0x5dc4d5
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc0]
mov edx, dword [ebp - 0x1dc]
sub edx, dword [ebp - 0x1e4]
cmp eax, edx
jge 0x5dc4d5
mov byte [ebp - 0x22], 1
jmp case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc0]
mov edx, dword [ebp + 0x34]
add dword [edx], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc0]
add dword [ebp - 0x1f4], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xbc]
mov edx, dword [ebp + 0x30]
cmp eax, dword [edx]
jle case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xbc]
mov edx, dword [ebp + 0x30]
mov dword [edx], eax
jmp case.0x5dab9d.68
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 4]
mov word [ebp - 0x12e], ax
mov ax, word [ebp - 0x12e]
mov word [ebp - 0x130], ax
mov ax, word [ebp - 0x12e]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x5dc559
mov ax, word [ebp - 0x12e]
and ax, 0xffdf
mov word [ebp - 0x130], ax
mov ax, word [ebp - 0x130]
sub ax, 0x49
je 0x5dc5dd
sub ax, 9
jne case.0x5dab9d.68
mov byte [ebp - 0x21], 1
cmp byte [ebp + 0x38], 0
jne case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0x3c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
xor edx, edx
call fcn.00471a30
mov ecx, dword [ebp - 0x1e8]
inc ecx
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x64]
mov ecx, dword [ebp - 0x1e8]
inc ecx
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x60]
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0x3c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00471a30
jmp case.0x5dab9d.68
cmp byte [ebp + 0x38], 0
jne case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0x9c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xa0], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x20]
cmp al, 1
jne 0x5dc62b
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xa0], 0x1fffffff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [0x75df44]
call fcn.00471e04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [0x75df48]
call fcn.00471264
jmp case.0x5dab9d.68
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ax, word [eax + 4]
mov word [ebp - 0x132], ax
mov ax, word [ebp - 0x132]
mov word [ebp - 0x134], ax
mov ax, word [ebp - 0x132]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x5dc692
mov ax, word [ebp - 0x132]
and ax, 0xffdf
mov word [ebp - 0x134], ax
mov ax, word [ebp - 0x134]
mov word [ebp - 0x76], ax
cmp word [ebp - 0x76], 0x3e
jne 0x5dc6d2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x21]
mov byte [ebp - 0x135], al
mov dl, byte [0x5de1e8]
or dl, byte [ebp - 0x135]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471630
jmp case.0x5dab9d.68
cmp word [ebp - 0x76], 0x4e
jne 0x5dc7f1
lea eax, [ebp - 0x14]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de1ac
call fcn.0040950c
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00409360
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
je 0x5dc725
mov eax, dword [ebp - 0x13c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x14]
mov eax, 0x5de3d8
call fcn.005d8044
mov edx, eax
add edx, 2
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
je 0x5dc76c
mov eax, dword [ebp - 0x140]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x140], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 0x18]
call fcn.00405c6c
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x34], 0
jne case.0x5dab9d.68
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x30]
jge case.0x5dab9d.68
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp - 0x30]
mov dword [eax], edx
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x4c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x1f4], eax
jmp case.0x5dab9d.68
cmp word [ebp - 0x76], 0x4d
jne case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
inc dword [eax - 0xcc]
lea eax, [ebp - 0x248]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de1ac
call fcn.0040950c
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00409360
mov eax, dword [ebp - 0x248]
lea edx, [ebp - 0x14]
call fcn.00420554
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
je 0x5dc85e
mov eax, dword [ebp - 0x144]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x14]
mov eax, 0x5de3e8
call fcn.0040950c
mov edx, eax
add edx, 4
mov ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
je 0x5dc8a5
mov eax, dword [ebp - 0x148]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x148], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
mov edx, dword [ebp - 0x14]
mov eax, 0x5de3fc
call fcn.0040950c
test eax, eax
jle 0x5dc9c2
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xd0]
mov edx, dword [ebp + 0x3c]
cmp eax, dword [edx - 0xcc]
jne 0x5dc9c2
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0
je 0x5dc938
mov eax, dword [ebp - 0x14c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x14]
mov eax, 0x5de3fc
call fcn.0040950c
mov edx, eax
add edx, 4
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
je 0x5dc97f
mov eax, dword [ebp - 0x150]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x150], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
xor eax, eax
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x68], eax
mov edx, dword [ebp - 0x14]
mov eax, 0x5de410
call fcn.0040950c
test eax, eax
jle 0x5dca9c
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
je 0x5dca04
mov eax, dword [ebp - 0x154]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x1c]
push eax
mov edx, dword [ebp - 0x14]
mov eax, 0x5de410
call fcn.0040950c
mov edx, eax
add edx, 6
mov ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 0
je 0x5dca4b
mov eax, dword [ebp - 0x158]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x158], eax
lea eax, [ebp - 0x1c]
push eax
mov edx, dword [ebp - 0x1c]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x1c]
call fcn.00409360
lea eax, [ebp - 0x1c]
push eax
mov edx, dword [ebp - 0x1c]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x1c]
call fcn.00409360
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
call fcn.00405c6c
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x14]
mov eax, 0x5de428
call fcn.0040950c
test eax, eax
jle 0x5dcb6c
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 0
je 0x5dcad4
mov eax, dword [ebp - 0x15c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x15c], eax
lea eax, [ebp - 0x1c]
push eax
mov edx, dword [ebp - 0x14]
mov eax, 0x5de428
call fcn.005d8044
mov edx, eax
add edx, 7
mov ecx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 0
je 0x5dcb1b
mov eax, dword [ebp - 0x160]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x160], eax
lea eax, [ebp - 0x1c]
push eax
mov edx, dword [ebp - 0x1c]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x1c]
call fcn.00409360
lea eax, [ebp - 0x1c]
push eax
mov edx, dword [ebp - 0x1c]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x1c]
call fcn.00409360
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
call fcn.00405c6c
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x3c]
xor edx, edx
mov dword [eax - 0xc0], edx
mov eax, dword [ebp + 0x3c]
xor edx, edx
mov dword [eax - 0xbc], edx
mov edx, dword [ebp - 0x18]
mov eax, 0x5de444
call fcn.0040950c
test eax, eax
jle 0x5dcd0d
lea eax, [ebp - 0x18]
mov ecx, 4
mov edx, 1
call fcn.004093a8
mov eax, dword [ebp + 0x3c]
cmp dword [eax + 0x98], 0
je 0x5dcd0d
mov eax, dword [ebp - 0x18]
call fcn.005d80d4
mov ebx, eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x98]
call fcn.005173d4
cmp ebx, eax
jge 0x5dcd0d
push 0x60
push 0x58
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x98]
mov eax, dword [eax + 0x3c]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xc0], eax
push 0x60
push 0x5a
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x98]
mov eax, dword [eax + 0x38]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xbc], eax
cmp byte [ebp + 0x38], 0
jne 0x5dcc6d
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x78], 0
jne 0x5dcc6d
mov eax, dword [ebp - 0x1f0]
push eax
mov eax, dword [ebp - 0x18]
call fcn.005d80d4
push eax
push 1
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x98]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ebp - 4]
call fcn.00517b38
cmp byte [ebp + 0x38], 0
jne 0x5dcd0d
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x78], 0
je 0x5dcd0d
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x98]
fild dword [eax + 0x3c]
mov eax, dword [ebp + 0x3c]
fmul qword [eax + 0x5c]
call fcn.00404bb0
add eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x98]
fild dword [eax + 0x38]
mov eax, dword [ebp + 0x3c]
fmul qword [eax + 0x5c]
call fcn.00404bb0
add eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x1e8], eax
mov dl, 1
mov eax, dword [0x46efb8]
call fcn.00477fd4
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x18]
call fcn.005d80d4
mov edx, eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x98]
mov ecx, dword [ebp - 0x5c]
call fcn.005172f8
mov ecx, dword [ebp - 0x5c]
lea edx, [ebp - 0x1f4]
mov eax, dword [ebp - 4]
call fcn.005d71a8
mov eax, dword [ebp - 0x5c]
call fcn.00406694
mov edx, dword [ebp - 0x18]
mov eax, 0x5de45c
call fcn.0040950c
test eax, eax
jle 0x5dcddc
lea eax, [ebp - 0x18]
mov ecx, 5
mov edx, 1
call fcn.004093a8
mov eax, dword [ebp - 0x18]
push eax
push 0
mov al, byte [ebp + 0x38]
xor al, 1
push eax
mov eax, dword [ebp + 0x3c]
mov al, byte [eax + 0x78]
push eax
mov eax, dword [ebp + 0x3c]
push dword [eax + 0x60]
push dword [eax + 0x5c]
lea eax, [ebp - 0x250]
push eax
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 4]
call fcn.005d72c0
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x250]
mov dword [eax - 0xc0], edx
mov edx, dword [ebp - 0x24c]
mov dword [eax - 0xbc], edx
push 0x60
push 0x58
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc0]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xc0], eax
push 0x60
push 0x5a
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xbc]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xbc], eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de474
call fcn.0040950c
test eax, eax
jle 0x5dceab
lea eax, [ebp - 0x18]
mov ecx, 5
mov edx, 1
call fcn.004093a8
mov eax, dword [ebp - 0x18]
push eax
push 1
mov al, byte [ebp + 0x38]
xor al, 1
push eax
mov eax, dword [ebp + 0x3c]
mov al, byte [eax + 0x78]
push eax
mov eax, dword [ebp + 0x3c]
push dword [eax + 0x60]
push dword [eax + 0x5c]
lea eax, [ebp - 0x250]
push eax
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 4]
call fcn.005d72c0
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x250]
mov dword [eax - 0xc0], edx
mov edx, dword [ebp - 0x24c]
mov dword [eax - 0xbc], edx
push 0x60
push 0x58
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc0]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xc0], eax
push 0x60
push 0x5a
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xbc]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xbc], eax
xor eax, eax
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de26c
call fcn.0040950c
test eax, eax
jne 0x5dcedb
mov eax, dword [ebp + 0x3c]
cmp dword [eax + 0x10], 0
je 0x5dcedb
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de27c
call fcn.0040950c
test eax, eax
jle 0x5dcf41
mov eax, dword [ebp + 0x3c]
cmp dword [eax + 0x14], 0
je 0x5dcf41
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x18]
call fcn.005d63ec
test eax, eax
jne 0x5dcf30
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x14]
call fcn.005d637c
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
mov byte [eax + 0x45], 0
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x9c]
call fcn.005d5b70
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x18]
call fcn.005d63ec
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x5dd1dc
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x5dd1dc
cmp byte [ebp + 0x38], 0
jne 0x5dd130
cmp dword [ebp - 0x64], 0
jle 0x5dcf7d
cmp dword [ebp - 0x68], 0
jle 0x5dcf7d
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x64], 0
jle 0x5dcfd3
cmp dword [ebp - 0x68], 0
jne 0x5dcfd3
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x30]
mov dword [ebp - 0x254], eax
fild dword [ebp - 0x254]
fild dword [ebp - 0x64]
fdivrp st(1)
fstp xword [ebp - 0x260]
wait
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x24]
mov dword [ebp - 0x264], eax
fild dword [ebp - 0x264]
fld xword [ebp - 0x260]
fmulp st(1)
call fcn.00404bb0
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x64], 0
jne 0x5dd029
cmp dword [ebp - 0x68], 0
jle 0x5dd029
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x24]
mov dword [ebp - 0x254], eax
fild dword [ebp - 0x254]
fild dword [ebp - 0x68]
fdivrp st(1)
fstp xword [ebp - 0x260]
wait
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x30]
mov dword [ebp - 0x264], eax
fild dword [ebp - 0x264]
fld xword [ebp - 0x260]
fmulp st(1)
call fcn.00404bb0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x64], 0
jne 0x5dd04b
cmp dword [ebp - 0x68], 0
jne 0x5dd04b
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x30]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x24]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x64], 0
jg 0x5dd057
cmp dword [ebp - 0x68], 0
jle 0x5dd0a5
mov dl, 1
mov eax, dword [ebp - 0x58]
call fcn.005d62c0
mov eax, dword [ebp - 0x1f0]
add eax, dword [ebp - 0x44]
push eax
lea eax, [ebp - 0x214]
push eax
mov ecx, dword [ebp - 0x1f4]
add ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1f4]
call fcn.0040dc18
lea edx, [ebp - 0x214]
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x88]
jmp 0x5dd130
mov eax, dword [ebp - 0x58]
call fcn.005d5d18
dec eax
jle 0x5dd10a
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0xb0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00471a30
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0xb0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00471e04
mov eax, dword [ebp - 0x58]
call fcn.005d611c
add eax, dword [ebp - 0x1f4]
push eax
mov eax, dword [ebp - 0x58]
call fcn.005d60bc
add eax, dword [ebp - 0x1f0]
push eax
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x7c]
mov eax, dword [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x58]
movzx ecx, word [eax + 0x5a]
add ecx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x58]
movzx edx, word [eax + 0x58]
add edx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x44]
cmp dword [ebp - 0x64], 0
jg 0x5dd13c
cmp dword [ebp - 0x68], 0
jle 0x5dd188
push 0x60
push 0x58
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp - 0x40]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xc0], eax
push 0x60
push 0x5a
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp - 0x44]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xbc], eax
jmp 0x5dd1dc
push 0x60
push 0x58
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp - 0x58]
call fcn.005d611c
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xc0], eax
push 0x60
push 0x5a
mov eax, dword [ebp - 4]
call fcn.00472ff4
push eax
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebp - 0x58]
call fcn.005d60bc
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xbc], eax
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp - 0x1e4]
mov edx, dword [ebp + 0x34]
cmp eax, dword [edx]
jle 0x5dd269
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
mov edx, dword [ebp + 0x3c]
add eax, dword [edx - 0xc0]
mov edx, dword [ebp + 0x18]
sub edx, dword [ebp - 0x1e4]
cmp eax, edx
jle 0x5dd269
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 0x1f0]
jle 0x5dd269
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xbc]
add eax, dword [ebp - 0x1f0]
cmp eax, dword [ebp + 0x14]
jle 0x5dd269
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x55], 0
je 0x5dd269
mov eax, dword [ebp + 0xc]
mov byte [eax], 1
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx - 0x5c]
call fcn.004086ec
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x3c]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx - 0x78]
call fcn.004086ec
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xcc]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xd0], eax
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x78], 0
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
mov edx, dword [ebp + 0x3c]
add eax, dword [edx - 0xc0]
mov edx, dword [ebp - 0x1dc]
sub edx, dword [ebp - 0x1e4]
cmp eax, edx
jle 0x5dd2ad
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc0]
mov edx, dword [ebp - 0x1dc]
sub edx, dword [ebp - 0x1e4]
cmp eax, edx
jge 0x5dd2ad
mov byte [ebp - 0x22], 1
jmp 0x5dd2e8
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc0]
mov edx, dword [ebp + 0x34]
add dword [edx], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xc0]
add dword [ebp - 0x1f4], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xbc]
mov edx, dword [ebp + 0x30]
cmp eax, dword [edx]
jle 0x5dd2e8
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xbc]
mov edx, dword [ebp + 0x30]
mov dword [edx], eax
mov edx, dword [ebp - 0x14]
mov eax, 0x5de48c
call fcn.0040950c
test eax, eax
jle case.0x5dab9d.68
mov edx, dword [ebp - 0x14]
mov eax, 0x5de4a4
call fcn.0040950c
test eax, eax
jle 0x5dd32c
mov edx, 0x5de1d8
mov eax, dword [ebp - 4]
call fcn.0047208c
mov edx, dword [ebp + 0x30]
mov edx, dword [edx]
sub edx, eax
mov eax, dword [ebp + 0x24]
mov dword [eax], edx
jmp case.0x5dab9d.68
mov edx, dword [ebp - 0x14]
mov eax, 0x5de4bc
call fcn.0040950c
test eax, eax
jle case.0x5dab9d.68
mov edx, 0x5de1d8
mov eax, dword [ebp - 4]
call fcn.0047208c
mov edx, dword [ebp + 0x30]
mov edx, dword [edx]
sub edx, eax
shr edx, 1
mov eax, dword [ebp + 0x24]
mov dword [eax], edx
jmp case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xa8]
shl eax, 2
lea eax, [eax + eax*2]
mov edx, dword [ebp + 0x34]
add dword [edx], eax
cmp byte [ebp - 0x23], 0
je 0x5dd381
mov byte [ebp - 0x22], 1
jmp 0x5dd385
mov byte [ebp - 0x23], 1
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0xa8]
dec eax
shl eax, 2
lea eax, [eax + eax*2]
add dword [ebp - 0x1f4], eax
cmp byte [ebp + 0x38], 0
jne 0x5dd44b
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471538
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, 0x5de4d8
call fcn.0047158c
mov eax, dword [ebp + 0x3c]
test byte [eax - 0xa8], 1
je 0x5dd407
mov eax, dword [ebp - 4]
call fcn.00472ff4
mov dword [ebp - 0x164], eax
push 0
lea eax, [ebp - 0x1f4]
push eax
push 1
mov eax, 0x5de4f4
call fcn.00408f4c
push eax
mov eax, dword [ebp - 0x164]
push eax
call sub.user32.dll_DrawTextW
mov dword [ebp - 0x168], eax
jmp 0x5dd43d
mov eax, dword [ebp - 4]
call fcn.00472ff4
mov dword [ebp - 0x16c], eax
push 0
lea eax, [ebp - 0x1f4]
push eax
push 1
mov eax, 0x5de504
call fcn.00408f4c
push eax
mov eax, dword [ebp - 0x16c]
push eax
call sub.user32.dll_DrawTextW
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x18]
call fcn.0047158c
add dword [ebp - 0x1f4], 0xc
jmp case.0x5dab9d.68
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp word [eax + 4], 0x3e
je 0x5dd475
mov eax, dword [ebp + 0x3c]
inc dword [eax - 0xa8]
mov byte [ebp - 0x21], 1
jmp case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x21]
mov byte [ebp - 0x171], al
mov dl, byte [0x5de1c8]
or dl, byte [ebp - 0x171]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471630
jmp case.0x5dab9d.68
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de1ac
call fcn.005d8330
test eax, eax
jle case.0x5dab9d.68
lea eax, [ebp - 0x268]
push eax
mov ecx, dword [ebp - 0x48]
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00409360
mov eax, dword [ebp - 0x268]
lea edx, [ebp - 0x14]
call fcn.00420554
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 0x14]
mov eax, 0x5de48c
call fcn.005d8330
test eax, eax
jle 0x5dd5e3
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x178], eax
cmp dword [ebp - 0x178], 0
je 0x5dd520
mov eax, dword [ebp - 0x178]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x178], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x48]
add edx, 5
mov ecx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x17c], 0
je 0x5dd55b
mov eax, dword [ebp - 0x17c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x17c], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
mov edx, dword [ebp - 0x18]
mov eax, 0x5de514
call fcn.0040950c
test eax, eax
jle 0x5dd5b5
mov eax, dword [ebp + 0x20]
mov byte [eax], 1
mov edx, dword [ebp - 0x18]
mov eax, 0x5de52c
call fcn.0040950c
test eax, eax
jle 0x5dd5cc
mov eax, dword [ebp + 0x20]
mov byte [eax], 0
mov edx, dword [ebp - 0x18]
mov eax, 0x5de544
call fcn.0040950c
test eax, eax
jle 0x5dd5e3
mov eax, dword [ebp + 0x20]
mov byte [eax], 2
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 0x14]
mov eax, 0x5de560
call fcn.005d8330
test eax, eax
jle 0x5dd6a9
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0
je 0x5dd61e
mov eax, dword [ebp - 0x180]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x180], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x48]
add edx, 6
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x184], 0
je 0x5dd659
mov eax, dword [ebp - 0x184]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
mov eax, dword [ebp - 0x18]
call fcn.005d80d4
mov edx, dword [ebp + 0x1c]
mov dword [edx], eax
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 0x14]
mov eax, 0x5de290
call fcn.005d8330
test eax, eax
jle case.0x5dab9d.68
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], 0
je 0x5dd6e4
mov eax, dword [ebp - 0x188]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x48]
add edx, 5
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 0
je 0x5dd71f
mov eax, dword [ebp - 0x18c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x18c], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
mov dword [ebp - 0x60], 0x1fffffff
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
je 0x5dd78c
mov eax, dword [ebp - 0x190]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
jle 0x5dd7c7
mov eax, dword [ebp - 0x18]
cmp word [eax], 0x23
jne 0x5dd7ab
mov eax, dword [ebp - 0x18]
call fcn.005d7f74
mov dword [ebp - 0x60], eax
jmp 0x5dd7c7
lea edx, [ebp - 0x26c]
mov eax, dword [ebp - 0x18]
call fcn.00420830
mov eax, dword [ebp - 0x26c]
call fcn.005d74d4
mov dword [ebp - 0x60], eax
cmp byte [ebp + 0x38], 0
jne case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x35], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0xa4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x20]
cmp al, 1
jne 0x5dd80a
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0xa4], 0x1fffffff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 0x60]
call fcn.00471e04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0x3c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x60]
call fcn.00471a30
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x44]
push eax
mov eax, dword [ebp - 0x1d8]
push eax
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax - 0x4c]
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x7c]
jmp case.0x5dab9d.68
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de1ac
call fcn.005d8330
test eax, eax
jle case.0x5dab9d.68
lea eax, [ebp - 0x270]
push eax
mov ecx, dword [ebp - 0x48]
sub ecx, 6
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 6
call fcn.00409360
mov eax, dword [ebp - 0x270]
lea edx, [ebp - 0x14]
call fcn.00420554
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 0x14]
mov eax, 0x5de57c
call fcn.005d8330
test eax, eax
jle 0x5dd96a
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 0
je 0x5dd8de
mov eax, dword [ebp - 0x194]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x194], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x48]
add edx, 4
mov ecx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
je 0x5dd919
mov eax, dword [ebp - 0x198]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x18]
call fcn.0047158c
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 0x14]
mov eax, 0x5de594
call fcn.005d8330
test eax, eax
jle 0x5ddaa2
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x74], 0
jne 0x5ddaa2
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
je 0x5dd9b2
mov eax, dword [ebp - 0x19c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x19c], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x48]
add edx, 6
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0
je 0x5dd9ed
mov eax, dword [ebp - 0x1a0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
je 0x5dda53
mov eax, dword [ebp - 0x1a4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
jle 0x5ddaa2
mov eax, dword [ebp - 0x18]
cmp word [eax], 0x23
jne 0x5dda7c
mov eax, dword [ebp - 0x18]
call fcn.005d7f74
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471264
jmp 0x5ddaa2
lea edx, [ebp - 0x274]
mov eax, dword [ebp - 0x18]
call fcn.00420830
mov eax, dword [ebp - 0x274]
call fcn.005d74d4
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471264
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 0x14]
mov eax, 0x5de290
call fcn.005d8330
test eax, eax
jle 0x5ddc16
cmp byte [ebp + 0x38], 0
jne 0x5ddc16
mov eax, dword [ebp + 0x3c]
cmp byte [eax + 0x74], 0
jne 0x5ddc16
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
je 0x5ddaf4
mov eax, dword [ebp - 0x1a8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x48]
add edx, 7
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1ac], eax
cmp dword [ebp - 0x1ac], 0
je 0x5ddb2f
mov eax, dword [ebp - 0x1ac]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0x98], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x20]
cmp al, 1
jne 0x5ddba4
mov eax, dword [ebp + 0x3c]
mov dword [eax - 0x98], 0x1fffffff
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
je 0x5ddbc7
mov eax, dword [ebp - 0x1b0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
jle 0x5ddc16
mov eax, dword [ebp - 0x18]
cmp word [eax], 0x23
jne 0x5ddbf0
mov eax, dword [ebp - 0x18]
call fcn.005d7f74
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00471e04
jmp 0x5ddc16
lea edx, [ebp - 0x278]
mov eax, dword [ebp - 0x18]
call fcn.00420830
mov eax, dword [ebp - 0x278]
call fcn.005d74d4
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00471e04
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 0x14]
mov eax, 0x5de5b0
call fcn.005d8330
test eax, eax
jle case.0x5dab9d.68
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
je 0x5ddc51
mov eax, dword [ebp - 0x1b4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1b4], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x48]
add edx, 4
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0
je 0x5ddc8c
mov eax, dword [ebp - 0x1b8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1b8], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de5c8
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x18]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], 0
je 0x5ddcd1
mov eax, dword [ebp - 0x1bc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1bc], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x18]
call fcn.00409360
mov eax, dword [ebp - 0x18]
call fcn.005d80d4
cmp eax, 5
ja case.0x5ddd04.0
jmp dword [eax*4 + 0x5ddd0b]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, 8
call fcn.00471604
jmp case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, 0xa
call fcn.00471604
jmp case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, 0xc
call fcn.00471604
jmp case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, 0xe
call fcn.00471604
jmp case.0x5dab9d.68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, 0x10
call fcn.00471604
jmp case.0x5dab9d.68
mov eax, dword [ebp - 0x18]
call fcn.005d80d4
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471604
jmp case.0x5dab9d.68
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 0x5ddde6
mov ax, word [ebp - 0x1be]
and ax, 0xffdf
mov word [ebp - 0x1c0], ax
mov ax, word [ebp - 0x1c0]
mov word [ebp - 0x76], ax
cmp word [ebp - 0x76], 0x3e
jne 0x5dde26
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x10]
mov al, byte [eax + 0x21]
mov byte [ebp - 0x1c1], al
mov dl, byte [0x5de1e4]
or dl, byte [ebp - 0x1c1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00471630
jmp case.0x5dab9d.68
cmp word [ebp - 0x76], 0x48
jne 0x5dde39
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x50], 1
jmp case.0x5dab9d.68
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de5d8
call fcn.005d8044
dec eax
jne 0x5dde57
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x4d], 1
jmp case.0x5dab9d.68
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de5f0
call fcn.005d8044
dec eax
jne case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x4e], 1
jmp case.0x5dab9d.68
lea eax, [ebp - 0x14]
push eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de1ac
call fcn.0040950c
mov ecx, eax
dec ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, 3
call fcn.00409360
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0
je 0x5ddec1
mov eax, dword [ebp - 0x1c8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x14]
mov eax, 0x5de608
call fcn.005d8044
mov edx, eax
add edx, 2
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x14]
call fcn.00409360
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1cc], eax
cmp dword [ebp - 0x1cc], 0
je 0x5ddf08
mov eax, dword [ebp - 0x1cc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov edx, eax
inc edx
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x18]
mov eax, 0x5de210
call fcn.0040950c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00409360
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 0x18]
call fcn.00405c6c
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x3c]
push eax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.005d9b6c
pop ecx
jmp case.0x5dab9d.68
mov eax, dword [ebp + 0x3c]
mov byte [eax - 0x4f], 1
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, 0x5de1ac
call fcn.005d8330
test eax, eax
jle 0x5ddfc7
cmp byte [ebp - 0x22], 0
jne 0x5ddfc7
lea eax, [ebp - 0x27c]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x48]
mov edx, 1
call fcn.00409360
mov edx, dword [ebp - 0x27c]
lea eax, [ebp - 0x10]
call fcn.00409138
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x48]
mov edx, 1
call fcn.004093a8
jmp 0x5de011
cmp byte [ebp - 0x22], 0
jne 0x5de011
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x1d4], eax
cmp dword [ebp - 0x1d4], 0
je 0x5ddffe
mov eax, dword [ebp - 0x1d4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1d4]
mov edx, 1
call fcn.004093a8
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.00408804
test eax, eax
jle 0x5de02f
cmp byte [ebp - 0x21], 0
jne 0x5de02f
cmp byte [ebp - 0x22], 0
je 0x5d9ce9
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp - 0x2c]
sub dword [eax], edx
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx + 0x38]
cmp eax, dword [edx]
jle 0x5de053
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx + 0x38]
mov dword [edx], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x8c]
mov edx, dword [ebp + 0x3c]
mov edx, dword [edx + 0x30]
mov edx, dword [edx]
dec edx
cmp eax, edx
jne 0x5de0cf
mov eax, dword [ebp + 0x3c]
cmp byte [eax - 0x55], 0
je 0x5de0cf
cmp byte [ebp + 0x38], 0
jne 0x5de0cf
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x1f4]
mov dword [eax - 0x28], edx
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp - 0x1e8]
mov dword [eax - 0x24], edx
mov eax, dword [ebp + 0x3c]
add eax, 0xffffffd0
xor ecx, ecx
mov edx, 1
call fcn.0040dd54
cmp byte [ebp + 0x38], 0
jne 0x5de0b6
mov eax, dword [ebp + 0x3c]
lea edx, [eax - 0x30]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x4c]
mov eax, dword [ebp - 0x1e4]
inc eax
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0x30], eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax - 0x24]
mov edx, dword [ebp + 0x3c]
mov dword [edx - 0x2c], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
call fcn.004086ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5de142
lea eax, [ebp - 0x27c]
mov edx, 6
call fcn.0040836c
lea eax, [ebp - 0x248]
mov edx, 0xb
call fcn.0040836c
lea eax, [ebp - 0x21c]
call fcn.0040830c
lea eax, [ebp - 0x218]
call fcn.0040830c
lea eax, [ebp - 0x94]
mov edx, 7
call fcn.0040836c
lea eax, [ebp - 0x20]
mov edx, 6
call fcn.0040836c
ret