Function at 0x46e5ef
Capabilities:
Open clipboard

Disassembly:
mov eax, 0x56ccff
call fcn.00524444
mov eax, 0x4fe4
call fcn.00524e70
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, ecx
mov ecx, dword [ebp + 0x14]
push edi
push 1
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp + 0x40]
xor ebx, ebx
mov dword [ebp - 0x138], eax
mov dword [ebp - 0xe8], eax
pop edi
or eax, 0xffffffff
cmp ecx, ebx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0x48], edi
mov byte [ebp - 0x38], 0xa
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
je 0x46e677
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x48]
mov ecx, esi
neg eax
sbb eax, eax
mov dword [ebp - 0x124], ebx
and eax, 6
add eax, 0xa
mov dword [ebp - 0xbc], eax
mov eax, dword [esi]
call dword [eax + 0x60]
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0xfc], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x64]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0xfc], ebx
je 0x46e6d9
mov eax, dword [esi]
lea ecx, [ebp - 0xfc]
push ecx
mov ecx, esi
call dword [eax + 0x64]
cmp eax, ebx
je 0x46e6b1
cmp dword [eax + 0x134], ebx
je 0x46e6b1
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
add esi, 0x208
mov eax, dword [eax + 0x2a0]
lea ecx, [eax + eax*2]
mov eax, dword [eax*4 + 0x62a904]
shl ecx, 4
mov dword [ebp - 0x64], eax
mov eax, dword [0x62ae3c]
add ecx, 0x62a9b8
mov dword [ebp - 0x70], ecx
mov ecx, dword [eax + 0x28d4]
cmp ecx, ebx
je 0x46e71b
cmp dword [eax + 0x1938], ebx
je 0x46e726
cmp ecx, 2
mov dword [ebp - 0x110], ebx
jne 0x46e72c
mov dword [ebp - 0x110], edi
mov eax, dword [ebp - 0x10]
push 1
pop edx
mov edi, 0x5c4764
mov ecx, dword [eax + 0x18c]
mov dword [ebp - 0x100], edx
cmp ecx, ebx
je 0x46e76b
mov eax, dword [eax + 0x168]
push 2
pop edi
cmp eax, edi
mov dword [ebp - 0x100], edi
mov dword [ebp - 0x48], edi
jne 0x46e764
mov edi, 0x5c4778
jmp 0x46e77b
mov edi, 0x5c4774
jmp 0x46e77b
mov eax, dword [eax + 0x168]
cmp eax, 2
jne 0x46e77b
mov edi, 0x5c4768
cmp eax, ebx
jne 0x46e784
mov dword [ebp - 0x5c], edx
jmp 0x46e790
cmp eax, 2
mov dword [ebp - 0x5c], ebx
jne 0x46e790
mov byte [ebp - 0x38], 0xd
or eax, 0xffffffff
push ebx
push eax
push ebx
push ebx
push ebx
push eax
push eax
push ebx
push ebx
push ecx
push eax
push ebx
push ebx
lea eax, [ebp - 0x100]
push 1
push eax
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
push ebx
push ebx
push esi
call fcn.004d43dc
mov dword [ebp - 0xb4], eax
or eax, 0xffffffff
mov ecx, dword [ebp - 0x10]
push ebx
push eax
push ebx
push ebx
push ebx
push eax
push eax
push ebx
push ebx
push dword [ecx + 0x18c]
push eax
push ebx
push ebx
lea eax, [ebp - 0x100]
push 1
push eax
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
push ebx
push esi
call fcn.004d43dc
add esp, 0xa8
cmp dword [ebp - 0xb4], ebx
mov dword [ebp - 0xc8], eax
jne 0x46e838
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x18c], ebx
jne 0x46e823
cmp dword [ecx + 0x190], ebx
jne 0x46e823
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
jmp 0x46e87b
mov eax, dword [ecx + 0x1f4]
cdq
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], edx
jmp 0x46e87b
or eax, 0xffffffff
mov ecx, dword [ebp - 0x10]
push ebx
push eax
push ebx
push ebx
push ebx
push eax
push eax
push ebx
push ebx
push dword [ecx + 0x18c]
lea ecx, [ebp - 0x100]
push dword [ebp - 0xb4]
push ebx
push ebx
push 1
push ecx
push edi
push eax
push eax
push ebx
push ebx
push esi
call fcn.004d43dc
mov ecx, dword [ebp - 0x10]
add esp, 0x54
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], edx
cmp dword [ebp + 0x3c], ebx
je 0x46e886
mov dword [ebp - 0x11c], ebx
cmp dword [ebp + 0x30], ebx
je 0x46ea9e
cmp dword [ebp + 0x3c], ebx
jne 0x46ea9e
cmp dword [ecx + 0x18c], ebx
push 1
pop edi
push dword [ebp + 0x30]
mov dword [ebp - 0xb0], edi
je 0x46e9af
call fcn.00524463
mov dword [ebp + 0x48], eax
lea esi, [eax + eax]
mov eax, 0x4e1f
pop ecx
cmp esi, eax
jae 0x46e8c7
mov eax, esi
push eax
lea eax, [ebp - 0x4ff0]
push dword [ebp + 0x30]
push eax
call fcn.005244d0
add esp, 0xc
cmp dword [ebp + 0x34], ebx
mov word [ebp + esi - 0x4ff0], bx
jne 0x46e8f0
cmp dword [ebp + 0x38], ebx
je 0x46e9ea
cmp word [ebp - 0x4ff0], 0x30
mov esi, dword [ebp + 0x48]
jne 0x46e903
mov dword [ebp - 0x124], edi
push dword [ebp - 0xbc]
mov dword [ebp - 0x108], edi
mov edi, dword [ebp + 0x34]
lea eax, [ebp - 0x4ff0]
push eax
push edi
call fcn.00529375
add esp, 0xc
xor eax, eax
cmp dword [ebp + 0x48], ebx
jle 0x46e945
lea ecx, [ebp - 0x4ff0]
mov dx, word [ecx]
cmp dx, 0x20
je 0x46e945
cmp dx, bx
je 0x46e945
inc eax
inc ecx
inc ecx
cmp eax, dword [ebp + 0x48]
jl 0x46e92f
push dword [ebp - 0xbc]
mov dword [ebp + 0x48], eax
lea eax, [ebp - 0x4ff0]
push eax
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0xb4]
imul eax, dword [ebp + 0x38]
add eax, edi
push eax
call fcn.00529375
add esp, 0xc
xor eax, eax
cmp esi, ebx
jle 0x46e991
lea ecx, [ebp - 0x4ff0]
mov dx, word [ecx]
cmp dx, 0x20
je 0x46e991
cmp dx, bx
je 0x46e991
inc eax
inc ecx
inc ecx
cmp eax, esi
jl 0x46e97c
cmp dword [ebp + 0x48], eax
jg 0x46e999
mov dword [ebp + 0x48], eax
mov eax, dword [ebp + 0x48]
mov word [ebp + eax*2 - 0x4ff0], bx
mov dword [ebp - 0xe0], edi
jmp 0x46eaa4
call fcn.00525390
mov esi, eax
mov eax, 0x4e20
cmp esi, eax
pop ecx
mov dword [ebp + 0x48], esi
jae 0x46e9c5
mov eax, esi
push eax
lea eax, [ebp - 0x4ff0]
push dword [ebp + 0x30]
push eax
call fcn.005244d0
and byte [ebp + esi - 0x4ff0], 0
add esp, 0xc
cmp dword [ebp + 0x34], ebx
jne 0x46e9f5
cmp dword [ebp + 0x38], ebx
jne 0x46e9f5
mov dword [ebp - 0x108], ebx
jmp 0x46eaa4
cmp byte [ebp - 0x4ff0], 0x30
jne 0x46ea04
mov dword [ebp - 0x124], edi
push dword [ebp - 0xbc]
lea eax, [ebp - 0x4ff0]
mov dword [ebp - 0x108], edi
push eax
push dword [ebp + 0x34]
call fcn.00525629
add esp, 0xc
xor eax, eax
cmp esi, ebx
jle 0x46ea3d
mov cl, byte [ebp + eax - 0x4ff0]
cmp cl, 0x20
je 0x46ea3d
test cl, cl
je 0x46ea3d
inc eax
cmp eax, esi
jl 0x46ea28
push dword [ebp - 0xbc]
mov dword [ebp + 0x48], eax
lea eax, [ebp - 0x4ff0]
mov edi, dword [ebp + 0x34]
push eax
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0xb4]
imul eax, dword [ebp + 0x38]
add eax, edi
push eax
call fcn.00525629
add esp, 0xc
xor eax, eax
cmp esi, ebx
jle 0x46ea86
mov cl, byte [ebp + eax - 0x4ff0]
cmp cl, 0x20
je 0x46ea86
test cl, cl
je 0x46ea86
inc eax
cmp eax, esi
jl 0x46ea71
cmp dword [ebp + 0x48], eax
jg 0x46ea8e
mov dword [ebp + 0x48], eax
mov eax, dword [ebp + 0x48]
and byte [ebp + eax - 0x4ff0], 0
jmp 0x46e9a4
mov dword [ebp - 0xb0], ebx
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x1c]
cmp ecx, eax
jle 0x46eab4
mov dword [ebp + 0x1c], ecx
mov dword [ebp + 0x18], eax
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
mov ecx, esi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], eax
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xcc], eax
call fcn.005441e0
push ebx
lea ecx, [esi + 0x208]
push dword [ebp - 0x8c]
push edi
call fcn.00479f84
mov edi, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, 0x2ee02
push esi
push 2
call edi
cmp eax, ebx
mov dword [ebp - 0xf0], eax
jne 0x46eb0e
call fcn.0053b6fe
push esi
push 2
call edi
cmp eax, ebx
mov dword [ebp - 0xec], eax
jne 0x46eb22
call fcn.0053b6fe
push dword [ebp - 0xf0]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalLock]
call esi
push dword [ebp - 0xec]
mov dword [ebp - 0x20], eax
call esi
cmp dword [ebp + 0x20], ebx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x7c], ebx
jne 0x46eb55
cmp dword [ebp + 0x24], ebx
je 0x46ec8d
cmp dword [ebp + 0x3c], ebx
jne 0x46ec8d
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp + 0x1c]
sub eax, dword [ebp - 0xb4]
sub ecx, dword [ebp + 0x18]
inc eax
inc ecx
inc ecx
imul eax, ecx
inc eax
imul eax, dword [ebp - 0x48]
inc eax
push eax
push 0x42
call edi
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0x7c], edi
jne 0x46eb99
push 1
pop eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0xc0], eax
push edi
call esi
cmp eax, ebx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x120], eax
jne 0x46ebbd
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp - 0x88], 1
cmp dword [ebp - 0x88], ebx
je 0x46ecc3
lea eax, [ebp + 0x3c]
push 0xe000
push eax
call fcn.00402f3e
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax]
mov dword [ebp - 4], ebx
call fcn.0046ca72
push eax
lea ecx, [ebp + 0x28]
call fcn.0053e8c4
mov edi, eax
push 0x5c4c8c
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 1
call fcn.0053ebbd
push edi
push eax
lea eax, [ebp + 0x18]
mov byte [ebp - 4], 2
push eax
call fcn.0053ed7e
mov eax, dword [eax]
mov ecx, dword [ebp - 0x98]
push 0x30
push esi
push eax
mov byte [ebp - 4], 3
call fcn.0054239a
lea ecx, [ebp + 0x18]
mov byte [ebp - 4], 2
call fcn.0053eb4f
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 1
call fcn.0053eb4f
and byte [ebp - 4], 0
lea ecx, [ebp + 0x28]
call fcn.0053eb4f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x3c]
call fcn.0053eb4f
push dword [ebp - 0xf0]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call esi
push dword [ebp - 0xec]
call esi
push dword [ebp - 0xf0]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
call esi
push dword [ebp - 0xec]
call esi
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
jmp 0x4709b5
cmp dword [ebp + 0x44], ebx
je 0x46ecc3
push 0x9c42
push 2
call edi
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0x7c], edi
jne 0x46eca9
call fcn.0053b6fe
push edi
call esi
cmp eax, ebx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x120], eax
jne 0x46ecc3
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [ebp - 0x70]
push 4
pop ecx
mov dword [ebp - 0x54], ebx
mov eax, dword [eax]
mov dword [ebp - 0x34], ebx
cdq
idiv ecx
cmp dword [ebp + 0x28], ebx
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x44], eax
je 0x46f23a
mov eax, dword [ebp + 0x30]
cmp eax, ebx
jne 0x46ede4
mov edi, dword [ebp - 0x98]
push dword [edi + 0x1c]
call dword [sym.imp.USER32.dll_OpenClipboard]
push dword [edi + 0x1c]
mov dword [ebp - 0x104], eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call fcn.005474dc
mov ecx, edi
mov esi, eax
call fcn.00407da7
mov edi, eax
cmp edi, ebx
je 0x46ed8e
lea eax, [ebp - 0x1cc]
push eax
push 0x3c
push dword [edi + 4]
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x28]
mov dword [ebp + 0x34], eax
lea eax, [ebp - 0x190]
push eax
push dword [esi + 8]
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x18c], ebx
je 0x46ed6a
push 0xd
jmp 0x46ed81
cmp dword [0x628af0], ebx
je 0x46ed7f
cmp byte [ebp - 0x15c], 0xff
jne 0x46ed7f
push 7
jmp 0x46ed81
push 1
mov eax, dword [esi]
pop edi
push dword [ebp + 0x34]
mov ecx, esi
call dword [eax + 0x28]
jmp 0x46ed9f
mov eax, dword [ebp - 0x10]
mov edi, dword [eax + 0x18c]
neg edi
sbb edi, edi
and edi, 0xc
inc edi
push dword [esi + 4]
mov eax, dword [ebp - 0x98]
push dword [eax + 0x1c]
call dword [sym.imp.USER32.dll_ReleaseDC]
push edi
call fcn.0046944c
pop ecx
mov dword [ebp - 0x7c], eax
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [ebp - 0x7c]
mov dword [ebp - 0x9c], eax
call dword [sym.imp.KERNEL32.dll_GlobalSize]
xor edx, edx
mov esi, dword [ebp - 0x10]
div dword [ebp - 0x48]
mov edi, dword [ebp - 0x9c]
mov dword [ebp - 0x24], eax
jmp 0x46ee08
mov esi, dword [ebp - 0x10]
mov edi, eax
mov dword [ebp - 0x9c], edi
push eax
cmp dword [esi + 0x18c], ebx
je 0x46edff
call fcn.00524463
jmp 0x46ee04
call fcn.00525390
pop ecx
mov dword [ebp - 0x24], eax
push dword [esi + 0x18c]
mov ecx, esi
mov dword [ebp - 0x10c], edi
push dword [ebp - 0x24]
push edi
call fcn.00476946
cmp eax, ebx
jne 0x46ee53
mov esi, dword [esi + 0x18c]
mov dword [ebp - 0x5c], 1
cmp esi, ebx
mov dword [ebp + 0x48], ebx
je 0x46ee84
cmp dword [ebp - 0x24], ebx
jle 0x46eeb8
mov eax, edi
cmp word [eax], 0xd
je 0x46eeb8
inc dword [ebp + 0x48]
inc eax
mov ecx, dword [ebp + 0x48]
inc eax
cmp ecx, dword [ebp - 0x24]
jl 0x46ee3e
jmp 0x46eeb8
mov esi, dword [esi + 0x18c]
mov dword [ebp - 0x5c], ebx
cmp esi, ebx
mov dword [ebp + 0x48], ebx
je 0x46ee9e
cmp dword [ebp - 0x24], ebx
jle 0x46eeb8
movsx ecx, byte [ebp - 0x38]
mov eax, edi
movzx edx, word [eax]
cmp edx, ecx
je 0x46eeb8
inc dword [ebp + 0x48]
mov edx, dword [ebp - 0x24]
inc eax
inc eax
cmp dword [ebp + 0x48], edx
jl 0x46ee6e
jmp 0x46eeb8
mov eax, dword [ebp - 0x24]
cmp eax, ebx
jle 0x46eeb8
mov ecx, dword [ebp + 0x48]
cmp byte [edi + ecx], 0xd
je 0x46eeb8
inc dword [ebp + 0x48]
cmp dword [ebp + 0x48], eax
jl 0x46ee8b
jmp 0x46eeb8
mov eax, dword [ebp - 0x24]
cmp eax, ebx
jle 0x46eeb8
mov ecx, dword [ebp + 0x48]
mov cl, byte [edi + ecx]
cmp cl, byte [ebp - 0x38]
je 0x46eeb8
inc dword [ebp + 0x48]
cmp dword [ebp + 0x48], eax
jl 0x46eea5
mov eax, dword [ebp + 0x18]
or edi, 0xffffffff
cmp esi, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0xa0], edi
mov dword [ebp + 0x34], eax
je 0x46f0b1
cmp dword [ebp - 0x24], ebx
jle 0x46f07e
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 0x34]
cmp eax, dword [ebp + 0x18]
jne 0x46ef42
mov ecx, dword [ebp - 0x70]
push 4
pop esi
mov dword [ebp - 0x14], 1
mov eax, dword [ecx]
mov dword [ebp - 0x1c], ebx
cdq
idiv esi
mov edi, eax
cmp dword [ebp + 0x34], edi
mov dword [ebp - 0x44], edi
jle 0x46ef45
add ecx, esi
mov eax, dword [ecx]
push 4
cdq
pop esi
add dword [ebp - 0x1c], edi
idiv esi
inc dword [ebp - 0x14]
add ecx, esi
mov edi, eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x64]
mov dword [ebp - 0x44], edi
je 0x46ef45
mov eax, dword [ebp - 0x1c]
add eax, edi
cmp dword [ebp + 0x34], eax
jg 0x46ef19
jmp 0x46ef45
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0x5c], ebx
mov si, word [eax]
je 0x46ef7b
cmp si, 0xd
je 0x46ef86
cmp si, 9
jne 0x46efe5
mov eax, dword [ebp - 0x64]
cmp dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x34]
jne 0x46ef9e
sub eax, dword [ebp - 0x1c]
cdq
idiv edi
sub edi, edx
add dword [ebp + 0x34], edi
jmp 0x46eff3
movsx ecx, byte [ebp - 0x38]
movzx eax, si
cmp eax, ecx
jne 0x46ef59
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x18]
inc dword [ebp - 0x54]
sub eax, ecx
cmp dword [ebp - 0x34], eax
jg 0x46ef99
mov dword [ebp - 0x34], eax
mov dword [ebp + 0x34], ecx
jmp 0x46eff3
mov ecx, dword [ebp - 0x1c]
sub eax, ecx
cdq
idiv edi
mov eax, edi
sub eax, edx
add dword [ebp + 0x34], eax
lea eax, [ecx + edi]
cmp dword [ebp + 0x34], eax
jl 0x46eff3
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x14]
lea ecx, [ecx + edx*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx]
push 4
cdq
pop edi
idiv edi
inc dword [ebp - 0x14]
add ecx, edi
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x64]
mov dword [ebp - 0x44], eax
je 0x46eff3
mov edx, dword [ebp - 0x1c]
add eax, edx
cmp dword [ebp + 0x34], eax
jge 0x46efbe
jmp 0x46eff3
movsx ecx, byte [ebp - 0x38]
movzx eax, si
cmp eax, ecx
je 0x46eff3
inc dword [ebp + 0x34]
cmp si, bx
jne 0x46f037
cmp dword [ebp - 0x2c], 0xffffffff
jne 0x46f013
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x28]
add eax, 7
cmp eax, dword [ebp - 0x24]
ja 0x46f037
push 9
push 0x5c4734
push dword [ebp - 0x84]
call fcn.005252e0
add esp, 0xc
test eax, eax
je 0x46f04f
inc dword [ebp - 0x28]
add dword [ebp - 0x84], 2
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x24]
jl 0x46eef0
jmp 0x46f057
or dword [ebp - 0x2c], 0xffffffff
or dword [ebp - 0x58], 0xffffffff
cmp dword [ebp - 0x2c], 0xffffffff
je 0x46f07e
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x2c]
cmp eax, 0xffffffff
mov dword [ebp - 0x24], ecx
je 0x46f06e
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xa0]
cmp eax, 0xffffffff
je 0x46f084
mov dword [ebp - 0x54], eax
jmp 0x46f084
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
cmp ecx, ebx
jle 0x46f27c
mov eax, dword [ebp - 0x9c]
movzx eax, word [eax + ecx*2 - 2]
movsx ecx, byte [ebp - 0x38]
cmp eax, ecx
je 0x46f27c
mov eax, dword [ebp - 0x58]
inc dword [ebp - 0x54]
cmp eax, 0xffffffff
jmp 0x46f22b
cmp dword [ebp - 0x24], ebx
jle 0x46f20a
mov esi, dword [ebp - 0x9c]
mov dword [ebp - 0x88], 9
sub dword [ebp - 0x88], esi
cmp dword [ebp + 0x34], ebx
jne 0x46f0ed
mov eax, dword [ebp - 0x70]
push 4
pop ecx
mov dword [ebp - 0x14], 1
mov eax, dword [eax]
mov dword [ebp - 0x1c], ebx
cdq
idiv ecx
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x5c], ebx
mov al, byte [esi]
je 0x46f11c
cmp al, 0xd
je 0x46f121
cmp al, 9
jne 0x46f1d6
mov eax, dword [ebp - 0x64]
cmp dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x34]
jne 0x46f139
sub eax, dword [ebp - 0x1c]
cdq
idiv dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
sub eax, edx
add dword [ebp + 0x34], eax
jmp 0x46f184
cmp al, byte [ebp - 0x38]
jne 0x46f0f8
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x18]
inc dword [ebp - 0x54]
sub eax, ecx
cmp dword [ebp - 0x34], eax
jg 0x46f134
mov dword [ebp - 0x34], eax
mov dword [ebp + 0x34], ecx
jmp 0x46f184
sub eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x44]
cdq
idiv ecx
mov eax, ecx
sub eax, edx
add dword [ebp + 0x34], eax
mov eax, dword [ebp - 0x1c]
add eax, ecx
cmp dword [ebp + 0x34], eax
jl 0x46f184
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x14]
lea ecx, [ecx + edx*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx]
push 4
cdq
pop edi
idiv edi
inc dword [ebp - 0x14]
add ecx, edi
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x64]
mov dword [ebp - 0x44], eax
je 0x46f181
mov edx, dword [ebp - 0x1c]
add eax, edx
cmp dword [ebp + 0x34], eax
jge 0x46f15c
or edi, 0xffffffff
cmp byte [esi], 0
jne 0x46f1c4
cmp dword [ebp - 0x2c], edi
jne 0x46f1a3
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x88]
add eax, esi
cmp eax, dword [ebp - 0x24]
jg 0x46f1c4
push 9
push 0x5c4734
push esi
call fcn.005252e0
add esp, 0xc
test eax, eax
je 0x46f1e0
inc dword [ebp - 0x28]
inc esi
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x24]
jl 0x46f0d0
jmp 0x46f1e6
cmp al, byte [ebp - 0x38]
je 0x46f184
inc dword [ebp + 0x34]
jmp 0x46f184
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x58], edi
cmp dword [ebp - 0x2c], edi
je 0x46f20a
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x2c]
cmp eax, edi
mov dword [ebp - 0x24], ecx
je 0x46f1fb
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xa0]
cmp eax, edi
je 0x46f210
mov dword [ebp - 0x54], eax
jmp 0x46f210
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
cmp ecx, ebx
jle 0x46f27c
mov edx, dword [ebp - 0x9c]
mov al, byte [ebp - 0x38]
cmp byte [ecx + edx - 1], al
je 0x46f27c
mov eax, dword [ebp - 0x58]
inc dword [ebp - 0x54]
cmp eax, edi
jne 0x46f279
mov eax, dword [ebp + 0x34]
sub eax, dword [ebp + 0x18]
cmp dword [ebp - 0x34], eax
jg 0x46f27c
jmp 0x46f279
cmp dword [ebp - 0xb0], ebx
je 0x46f27c
cmp dword [ebp + 0x34], ebx
jne 0x46f25a
cmp dword [ebp + 0x38], ebx
jne 0x46f25a
mov eax, dword [ebp - 0x10]
push dword [ebp + 0x30]
cmp dword [eax + 0x18c], ebx
jmp 0x46f26a
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x18c], ebx
lea eax, [ebp - 0x4ff0]
push eax
je 0x46f273
call fcn.00524463
jmp 0x46f278
call fcn.00525390
pop ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x110], ebx
je 0x46f3bd
cmp dword [ebp + 0x28], ebx
jne 0x46f299
cmp dword [ebp - 0xb0], ebx
je 0x46f3bd
cmp dword [ebp + 0x3c], ebx
je 0x46f2b1
mov eax, dword [ebp + 0x38]
cmp eax, ebx
je 0x46f3bd
mov dword [ebp + 0x1c], eax
jmp 0x46f3bd
cmp dword [ebp - 0xb0], ebx
mov ecx, dword [ebp - 0x9c]
je 0x46f2c2
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x48]
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp + 0x18]
cmp edx, eax
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x1c], edx
jl 0x46f2d8
mov dword [ebp + 0x1c], eax
cmp dword [ebp + 0x1c], ebx
jne 0x46f2e4
mov dword [ebp + 0x1c], 1
cmp esi, ebx
jne 0x46f300
mov eax, dword [ebp - 0x70]
push 4
pop edi
mov dword [ebp - 0x14], 1
mov eax, dword [eax]
mov dword [ebp - 0x1c], ebx
cdq
idiv edi
mov dword [ebp - 0x44], eax
xor eax, eax
cmp dword [ebp + 0x1c], ebx
mov dword [ebp - 0x58], eax
jle 0x46f3ba
mov edx, dword [ebp - 0x10]
mov dword [ebp + 0x30], ecx
mov edx, dword [edx + 0x18c]
mov dword [ebp - 0xd8], edx
jmp 0x46f325
mov ecx, dword [ebp + 0x34]
cmp dword [ebp - 0xd8], ebx
jne 0x46f33b
cmp byte [ecx + eax], 9
je 0x46f344
cmp dword [ebp - 0xd8], ebx
je 0x46f3a5
mov eax, dword [ebp + 0x30]
cmp word [eax], 9
jne 0x46f3a5
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x64]
mov eax, esi
jne 0x46f35e
sub eax, dword [ebp - 0x1c]
cdq
idiv dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
sub eax, edx
add esi, eax
jmp 0x46f3a6
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x44]
sub eax, edi
cdq
idiv ecx
mov eax, ecx
sub eax, edx
add esi, eax
lea eax, [edi + ecx]
cmp esi, eax
jle 0x46f3a6
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x14]
lea ecx, [ecx + edx*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx]
push 4
cdq
pop edi
idiv edi
inc dword [ebp - 0x14]
add ecx, edi
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x64]
mov dword [ebp - 0x44], eax
je 0x46f3a6
mov edx, dword [ebp - 0x1c]
add eax, edx
cmp esi, eax
jg 0x46f37f
jmp 0x46f3a6
inc esi
mov eax, dword [ebp - 0x58]
add dword [ebp + 0x30], 2
inc eax
cmp eax, dword [ebp + 0x1c]
mov dword [ebp - 0x58], eax
jl 0x46f322
mov dword [ebp + 0x1c], esi
mov ecx, dword [ebp + 0x1c]
xor edi, edi
cmp dword [ebp + 0x18], ecx
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0x4c], ebx
je 0x46f46b
cmp dword [ebp + 0x24], ebx
jne 0x46f46b
cmp dword [ebp + 0x3c], ebx
jne 0x46f46b
cmp dword [ebp + 0x28], ebx
mov eax, dword [ebp - 0xc8]
je 0x46f410
sub eax, dword [ebp - 0xb4]
cmp dword [ebp - 0x54], eax
jle 0x46f3ff
mov eax, dword [ebp - 0x54]
sub ecx, dword [ebp + 0x18]
inc ecx
inc ecx
inc eax
imul ecx, eax
inc ecx
imul ecx, dword [ebp - 0x48]
push ecx
jmp 0x46f425
sub eax, dword [ebp - 0xb4]
sub ecx, dword [ebp + 0x18]
inc eax
inc ecx
inc ecx
imul eax, ecx
inc eax
imul eax, dword [ebp - 0x48]
push eax
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0xb8], edi
je 0x46f45f
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
cmp eax, ebx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x12c], eax
jne 0x46f46b
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor edi, edi
mov dword [ebp - 0xb8], edi
mov ecx, dword [ebp - 0x10]
push 0xffffffffffffffff
push ebx
push ebx
call fcn.0050ddcb
mov eax, dword [ebp + 0x1c]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
sub eax, dword [ebp + 0x18]
cmp dword [ebp - 0xc0], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x128], eax
jne 0x470601
inc eax
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x10]
push ebx
push dword [ebp - 0x8c]
mov dword [ebp - 0x58], ebx
lea esi, [eax + 0x208]
push dword [ebp - 0x90]
mov ecx, esi
call fcn.00479f84
mov eax, dword [ebp - 0x128]
mov edx, dword [esi]
push 0x2ee00
push eax
mov ecx, esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xa4], eax
call dword [edx + 0x34]
mov edi, eax
cdq
add dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0xd8], edi
adc dword [ebp - 0x8c], edx
and byte [edi + eax], 0
mov eax, dword [ebp - 0x118]
and byte [ebp + 0x33], 0
and byte [eax + edi], 0
cmp edi, ebx
jne 0x46f52e
cmp dword [ebp + 0x28], ebx
jne 0x46f524
mov byte [ebp + 0x33], 1
mov dword [ebp - 0xc0], 1
jmp 0x46f52e
mov dword [ebp - 0xa0], 1
cmp byte [ebp + 0x33], 0
mov dword [ebp - 0x114], 0x4e21
jne 0x4705e9
xor ebx, ebx
cmp dword [ebp + 0x44], ebx
je 0x46f54c
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x68], ebx
mov esi, edi
cmp dword [eax + 0x18c], ebx
je 0x46f574
sub esi, dword [ebp - 0x58]
push dword [ebp - 0x38]
push dword [ebp - 0x5c]
mov eax, esi
shr eax, 1
push eax
push dword [ebp - 0x20]
call fcn.004b39d6
jmp 0x46f586
push dword [ebp - 0x38]
sub esi, dword [ebp - 0x58]
push dword [ebp - 0x5c]
push esi
push dword [ebp - 0x20]
call fcn.004b398d
cmp dword [ebp - 0x114], eax
mov dword [ebp - 0x3c], eax
jg 0x46f597
mov dword [ebp - 0x114], eax
imul eax, dword [ebp - 0x48]
sub esi, dword [ebp - 0x48]
mov dword [ebp - 0x84], eax
cmp eax, esi
jl 0x46f5c7
cmp edi, 0x2ee00
je 0x4705d2
cmp dword [ebp + 0x28], ebx
jne 0x46f5bd
mov byte [ebp + 0x33], 1
mov dword [ebp - 0xa0], 1
mov eax, dword [ebp - 0x70]
push 4
pop ecx
or dword [ebp - 0x2c], 0xffffffff
mov eax, dword [eax]
or dword [ebp - 0x40], 0xffffffff
cdq
idiv ecx
push 1
xor edi, edi
pop ebx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], edi
mov esi, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x44], esi
cmp dword [eax + 0x18c], edi
je 0x46f6cf
xor ecx, ecx
cmp dword [ebp - 0x3c], edi
mov dword [ebp - 0x28], ecx
jle 0x46f6c4
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
cmp word [eax], 9
jne 0x46f66b
cmp ebx, dword [ebp - 0x64]
jne 0x46f632
mov eax, dword [ebp - 0x30]
sub eax, edi
cdq
idiv esi
mov eax, esi
sub eax, edx
add dword [ebp - 0x30], eax
jmp 0x46f66e
lea eax, [edi + esi]
cmp dword [ebp - 0x30], eax
jl 0x46f621
mov ecx, dword [ebp - 0x70]
lea ecx, [ecx + ebx*4]
mov edi, eax
mov eax, dword [ecx]
push 4
add ecx, 4
cdq
pop esi
mov dword [ebp - 0x1c], edi
idiv esi
inc ebx
cmp ebx, dword [ebp - 0x64]
mov dword [ebp - 0x14], ebx
mov esi, eax
mov dword [ebp - 0x44], esi
je 0x46f666
lea eax, [edi + esi]
cmp dword [ebp - 0x30], eax
jge 0x46f640
mov ecx, dword [ebp - 0x28]
jmp 0x46f621
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp + 0x18]
jl 0x46f682
cmp dword [ebp - 0x40], 0xffffffff
jne 0x46f682
lea edx, [ecx + 1]
mov dword [ebp - 0x40], edx
cmp eax, dword [ebp + 0x1c]
jge 0x46f69a
add dword [ebp - 0x80], 2
inc ecx
cmp ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], ecx
jl 0x46f613
jmp 0x46f6a1
inc ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x40]
cmp eax, 0xffffffff
je 0x46f6ae
add eax, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
cmp eax, 0xffffffff
je 0x46f6bb
add eax, eax
mov dword [ebp - 0x2c], eax
cmp ecx, 0xffffffff
je 0x46f763
lea eax, [ecx + ecx]
mov dword [ebp - 0x28], eax
jmp 0x46f763
xor ecx, ecx
cmp dword [ebp - 0x3c], edi
mov dword [ebp - 0x28], ecx
jle 0x46f763
mov eax, dword [ebp - 0x20]
cmp byte [eax + ecx], 9
jne 0x46f735
cmp ebx, dword [ebp - 0x64]
jne 0x46f6fc
mov eax, dword [ebp - 0x30]
sub eax, edi
cdq
idiv esi
mov eax, esi
sub eax, edx
add dword [ebp - 0x30], eax
jmp 0x46f738
lea eax, [edi + esi]
cmp dword [ebp - 0x30], eax
jl 0x46f6eb
mov ecx, dword [ebp - 0x70]
lea ecx, [ecx + ebx*4]
mov edi, eax
mov eax, dword [ecx]
push 4
add ecx, 4
cdq
pop esi
mov dword [ebp - 0x1c], edi
idiv esi
inc ebx
cmp ebx, dword [ebp - 0x64]
mov dword [ebp - 0x14], ebx
mov esi, eax
mov dword [ebp - 0x44], esi
je 0x46f730
lea eax, [edi + esi]
cmp dword [ebp - 0x30], eax
jge 0x46f70a
mov ecx, dword [ebp - 0x28]
jmp 0x46f6eb
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp + 0x18]
jl 0x46f74c
cmp dword [ebp - 0x40], 0xffffffff
jne 0x46f74c
lea edx, [ecx + 1]
mov dword [ebp - 0x40], edx
cmp eax, dword [ebp + 0x1c]
jge 0x46f75c
inc ecx
cmp ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], ecx
jl 0x46f6dd
jmp 0x46f763
inc ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
xor ecx, ecx
cmp dword [ebp + 0x18], ecx
jne 0x46f76d
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp + 0x1c]
cmp eax, ecx
jne 0x46f777
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0xffffffff
jne 0x46f783
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x68], eax
cmp dword [ebp + 0x20], ecx
jne 0x46f796
cmp dword [ebp + 0x24], ecx
jne 0x46f796
cmp dword [ebp + 0x44], ecx
je 0x46f905
cmp dword [ebp - 0x68], ecx
jne 0x46f7c0
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
sub esi, eax
add eax, ecx
mov ecx, dword [ebp - 0x18]
push esi
push eax
mov eax, dword [ebp - 0x94]
add eax, ecx
push eax
call fcn.005244d0
jmp 0x46f88c
cmp dword [ebp - 0x40], 0xffffffff
je 0x46f831
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x94]
mov ebx, dword [ebp - 0x18]
sub esi, eax
add eax, ecx
push esi
push eax
lea eax, [edi + ebx]
push eax
call fcn.005244d0
mov eax, dword [ebp - 0x10]
add esp, 0xc
add ebx, esi
cmp dword [eax + 0x18c], 0
je 0x46f819
mov edx, dword [ebp - 0x68]
add edi, ebx
test edx, edx
jle 0x46f811
mov ecx, edx
mov eax, 0x200020
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
lea eax, [ebx + edx*2]
mov dword [ebp - 0x18], eax
jmp 0x46f892
push dword [ebp - 0x68]
add edi, ebx
push 0x20
push edi
call fcn.00524810
add esp, 0xc
add ebx, dword [ebp - 0x68]
mov dword [ebp - 0x18], ebx
jmp 0x46f892
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x18c], ecx
je 0x46f872
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x94]
cmp dword [ebp - 0xf4], ecx
lea edi, [edx + eax]
jle 0x46f864
mov ecx, dword [ebp - 0xf4]
mov eax, 0x200020
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xf4]
lea eax, [eax + ecx*2]
jmp 0x46f814
mov esi, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x18]
push esi
add eax, ecx
push 0x20
push eax
call fcn.00524810
add esp, 0xc
add dword [ebp - 0x18], esi
xor ecx, ecx
cmp dword [ebp + 0x44], ecx
jne 0x46f905
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x18c], ecx
je 0x46f8dc
mov eax, dword [ebp - 0x18]
shr eax, 1
cmp dword [ebp - 0x5c], ecx
je 0x46f8c7
mov ecx, dword [ebp - 0x120]
add dword [ebp - 0x18], 4
mov word [ecx + eax*2], 0xd
mov word [ecx + eax*2 + 2], 0xa
jmp 0x46f905
movsx cx, byte [ebp - 0x38]
mov edx, dword [ebp - 0x120]
add dword [ebp - 0x18], 2
mov word [edx + eax*2], cx
jmp 0x46f905
cmp dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 0x94]
je 0x46f8f9
mov ecx, dword [ebp - 0x18]
mov byte [eax + ecx], 0xd
inc ecx
mov byte [eax + ecx], 0xa
inc ecx
mov dword [ebp - 0x18], ecx
jmp 0x46f905
mov edx, dword [ebp - 0x18]
mov cl, byte [ebp - 0x38]
inc dword [ebp - 0x18]
mov byte [eax + edx], cl
mov eax, dword [ebp + 0x1c]
cmp dword [ebp + 0x18], eax
je 0x46f9cb
xor edx, edx
cmp dword [ebp - 0xb8], edx
je 0x46f9cd
cmp dword [ebp - 0x68], edx
jne 0x46f929
mov esi, dword [ebp - 0x2c]
jmp 0x46f932
cmp dword [ebp - 0x40], 0xffffffff
je 0x46f955
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
sub esi, eax
add eax, ecx
mov ecx, dword [ebp - 0x60]
push esi
push eax
mov eax, dword [ebp - 0xf8]
add eax, ecx
push eax
call fcn.005244d0
add esp, 0xc
add dword [ebp - 0x60], esi
mov eax, dword [ebp - 0x10]
xor edx, edx
cmp dword [eax + 0x18c], edx
je 0x46f99a
mov eax, dword [ebp - 0x60]
shr eax, 1
cmp dword [ebp - 0x5c], edx
je 0x46f985
mov ecx, dword [ebp - 0x12c]
add dword [ebp - 0x60], 4
mov word [ecx + eax*2], 0xd
mov word [ecx + eax*2 + 2], 0xa
jmp 0x46f9cd
movsx cx, byte [ebp - 0x38]
mov esi, dword [ebp - 0x12c]
add dword [ebp - 0x60], 2
mov word [esi + eax*2], cx
jmp 0x46f9cd
cmp dword [ebp - 0x5c], edx
je 0x46f9b7
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x60]
mov byte [ecx + eax], 0xd
inc eax
mov byte [ecx + eax], 0xa
inc eax
mov dword [ebp - 0x60], eax
jmp 0x46f9cd
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0x60]
mov cl, byte [ebp - 0x38]
inc dword [ebp - 0x60]
mov byte [eax + esi], cl
jmp 0x46f9cd
xor edx, edx
cmp dword [ebp + 0x20], edx
jne 0x470154
cmp dword [ebp + 0x2c], edx
jne 0x470154
cmp dword [ebp + 0x28], edx
jne 0x46fa2f
cmp dword [ebp - 0xb0], edx
jne 0x46fa2f
cmp dword [ebp + 0x44], edx
jne 0x46fa2f
push dword [ebp - 0x84]
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp + 0x34]
push dword [ebp - 0x20]
add eax, esi
push eax
call fcn.005244d0
add esi, dword [ebp - 0x84]
add esp, 0xc
xor ecx, ecx
mov eax, esi
mov dword [ebp + 0x34], esi
add eax, dword [ebp - 0x78]
adc ecx, dword [ebp - 0x74]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], ecx
jmp 0x47026c
mov ecx, dword [ebp - 0x18]
cmp dword [ebp + 0x28], edx
mov dword [ebp - 0x80], ecx
je 0x46fb1f
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x18c], edx
je 0x46fac6
mov eax, ecx
mov dword [ebp + 0x48], edx
shr eax, 1
cmp dword [ebp - 0x5c], edx
je 0x46fa8e
cmp eax, dword [ebp - 0x24]
jge 0x46fb1f
mov edx, dword [ebp - 0x10c]
mov ecx, eax
lea eax, [edx + eax*2]
cmp word [eax], 0xd
je 0x46fa7f
inc dword [ebp + 0x48]
inc ecx
inc eax
inc eax
cmp ecx, dword [ebp - 0x24]
jl 0x46fa69
jmp 0x46fb1f
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 0x48]
lea eax, [eax + ecx*2 + 4]
jmp 0x46fb1c
cmp eax, dword [ebp - 0x24]
jge 0x46fb1f
mov esi, dword [ebp - 0x10c]
mov edx, eax
movsx ecx, byte [ebp - 0x38]
lea eax, [esi + eax*2]
movzx esi, word [eax]
cmp esi, ecx
je 0x46faba
inc dword [ebp + 0x48]
inc edx
inc eax
inc eax
cmp edx, dword [ebp - 0x24]
jl 0x46faa6
jmp 0x46fb1f
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 0x48]
lea eax, [eax + ecx*2 + 2]
jmp 0x46fb1c
cmp dword [ebp - 0x5c], edx
mov dword [ebp + 0x48], edx
je 0x46faf5
cmp ecx, dword [ebp - 0x24]
jge 0x46fb1f
mov eax, ecx
mov edx, dword [ebp - 0x9c]
cmp byte [eax + edx], 0xd
je 0x46faec
inc dword [ebp + 0x48]
inc eax
cmp eax, dword [ebp - 0x24]
jl 0x46fad5
jmp 0x46fb1f
mov eax, dword [ebp + 0x48]
lea eax, [ecx + eax + 2]
jmp 0x46fb1c
cmp ecx, dword [ebp - 0x24]
jge 0x46fb1f
mov eax, ecx
mov edx, dword [ebp - 0x9c]
mov dl, byte [eax + edx]
cmp dl, byte [ebp - 0x38]
je 0x46fb15
inc dword [ebp + 0x48]
inc eax
cmp eax, dword [ebp - 0x24]
jl 0x46fafc
jmp 0x46fb1f
mov eax, dword [ebp + 0x48]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x11c], 0
je 0x46fb94
cmp dword [ebp - 0x4c], 0
jne 0x46fb94
and dword [ebp - 0x11c], 0
cmp dword [ebp + 0x28], 0
je 0x46fb40
mov eax, dword [ebp - 0x54]
jmp 0x46fb4d
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0xb4]
inc eax
mov ecx, dword [ebp - 0x34]
add ecx, 5
imul ecx, eax
imul ecx, dword [ebp - 0x48]
push ecx
push 0x42
mov dword [ebp - 0x130], ecx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
mov dword [ebp - 0x4c], esi
je 0x46fb94
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x88], eax
jne 0x46fb94
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
and dword [ebp - 0x4c], 0
cmp dword [ebp - 0x40], 0xffffffff
jne 0x46fc00
push dword [ebp - 0x28]
mov ebx, dword [ebp - 0x50]
mov edi, dword [ebp + 0x34]
push dword [ebp - 0x20]
lea eax, [ebx + edi]
push eax
call fcn.005244d0
add edi, dword [ebp - 0x28]
add esp, 0xc
cmp dword [ebp + 0x48], 0
mov dword [ebp + 0x34], edi
je 0x46fc1d
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp + 0x18]
cmp dword [eax + 0x18c], 0
je 0x46fbe7
sub esi, dword [ebp - 0x30]
test esi, esi
jle 0x46fbf8
lea eax, [ebx + edi]
mov ecx, esi
mov byte [eax], 0x20
and byte [eax + 1], 0
inc eax
inc eax
dec ecx
jne 0x46fbd9
jmp 0x46fbf8
sub esi, dword [ebp - 0x30]
add ebx, edi
push esi
push 0x20
push ebx
call fcn.00524810
add esp, 0xc
imul esi, dword [ebp - 0x48]
add edi, esi
jmp 0x46fc1a
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x50]
mov edi, dword [ebp + 0x34]
push dword [ebp - 0x20]
add eax, edi
push eax
call fcn.005244d0
add esp, 0xc
add edi, dword [ebp - 0x40]
mov dword [ebp + 0x34], edi
xor eax, eax
cmp dword [ebp - 0xb0], eax
je 0x46fdf8
cmp dword [ebp - 0x108], eax
je 0x46fdd2
and dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x10]
push dword [ebp - 0xbc]
cmp dword [eax + 0x18c], 0
lea eax, [ebp - 0x4ff0]
push eax
push dword [ebp - 0xe0]
je 0x46fcba
call fcn.00529375
lea eax, [ebp - 0x4ff0]
push eax
call fcn.00524463
add esp, 0x10
cmp dword [ebp - 0xbc], 0xa
mov esi, eax
je 0x46fcfe
cmp word [ebp - 0x4ff0], 0
je 0x46fcfe
lea eax, [ebp - 0x4ff0]
lea ebx, [ebp - 0x4ff0]
mov dword [ebp - 0x80], eax
lea edi, [ebp - 0x4ff0]
movsx ax, byte [ebx]
push eax
call fcn.0052928a
pop ecx
inc ebx
mov ecx, dword [ebp - 0x80]
inc edi
inc edi
mov word [ecx], ax
mov dword [ebp - 0x80], edi
cmp word [edi], 0
jne 0x46fc9b
jmp 0x46fcfe
call fcn.00525629
add esp, 0xc
cmp dword [ebp - 0xbc], 0xa
je 0x46fcef
mov al, byte [ebp - 0x4ff0]
test al, al
je 0x46fcef
lea esi, [ebp - 0x4ff0]
movsx eax, al
push eax
call fcn.00528e1c
mov byte [esi], al
mov al, byte [esi + 1]
inc esi
pop ecx
test al, al
jne 0x46fcdb
lea eax, [ebp - 0x4ff0]
push eax
call fcn.00525390
pop ecx
mov esi, eax
mov eax, dword [ebp - 0xe0]
test eax, eax
jge 0x46fd0d
push 1
pop ebx
jmp 0x46fd10
mov ebx, dword [ebp - 0x68]
add eax, dword [ebp + 0x38]
cmp dword [ebp - 0x124], 0
mov dword [ebp - 0xe0], eax
je 0x46fd97
mov ecx, dword [ebp + 0x48]
mov eax, ebx
sub eax, esi
lea edi, [eax + ecx]
mov eax, esi
sub eax, ebx
imul eax, dword [ebp - 0x48]
push eax
mov eax, ebx
imul eax, dword [ebp - 0x48]
lea eax, [ebp + eax - 0x4ff0]
push eax
mov eax, edi
imul eax, dword [ebp - 0x48]
lea eax, [ebp + eax - 0x4ff0]
push eax
call fcn.005263a0
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp dword [eax + 0x18c], 0
je 0x46fd86
cmp ebx, edi
jge 0x46fdd2
lea edx, [ebp + ebx*2 - 0x4ff0]
mov ecx, edi
sub ecx, ebx
mov eax, 0x300030
mov edi, edx
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
jmp 0x46fdd2
mov eax, dword [ebp + 0x48]
sub eax, esi
push eax
push 0x30
lea eax, [ebp + ebx - 0x4ff0]
jmp 0x46fdc9
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x18c], 0
je 0x46fdba
mov ecx, dword [ebp + 0x48]
cmp esi, ecx
jge 0x46fdd2
lea edi, [ebp + esi*2 - 0x4ff0]
sub ecx, esi
mov eax, 0x200020
jmp 0x46fd7b
mov eax, dword [ebp + 0x48]
sub eax, esi
push eax
push 0x20
lea eax, [ebp + esi - 0x4ff0]
push eax
call fcn.00524810
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp + 0x34]
lea ebx, [eax + ecx]
mov eax, dword [ebp + 0x48]
imul eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x4ff0]
push eax
push ebx
call fcn.005244d0
add esp, 0xc
jmp 0x47007c
cmp dword [ebp + 0x44], eax
je 0x46fe41
mov ecx, dword [ebp - 0x10]
push dword [ecx + 0x18c]
push dword [ebp - 0x70]
push dword [ebp - 0x64]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp - 0x18]
push dword [ebp - 0x94]
push dword [ebp + 0x44]
call fcn.004709c6
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp + 0x34]
mov dword [ebp - 0x18], eax
mov dword [ebp + 0x48], eax
lea ebx, [ecx + edx]
mov ecx, dword [ebp - 0x48]
imul ecx, eax
push ecx
push dword [ebp - 0x94]
jmp 0x46fdea
mov eax, dword [ebp - 0xac]
and eax, dword [ebp - 0xa8]
cmp eax, 0xffffffff
jne 0x46fe6e
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x40], eax
je 0x46fe6e
xor eax, eax
add edi, dword [ebp - 0x78]
adc eax, dword [ebp - 0x74]
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x9c]
mov edi, dword [ebp + 0x48]
lea esi, [eax + ecx]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp + 0x34]
lea ebx, [eax + ecx]
mov eax, edi
imul eax, dword [ebp - 0x48]
push eax
push esi
push ebx
mov dword [ebp - 0x28], ebx
call fcn.005244d0
add esp, 0xc
cmp edi, dword [ebp - 0x34]
jge 0x47007c
mov edi, dword [ebp + 0x18]
xor eax, eax
cmp edi, eax
jne 0x46feca
mov eax, dword [ebp - 0x70]
push 4
pop ecx
mov dword [ebp - 0x14], 1
mov eax, dword [eax]
cdq
idiv ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x1c], eax
jmp 0x46fecd
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x10]
cmp dword [edx + 0x18c], eax
je 0x46ffbe
cmp dword [ebp + 0x48], eax
jle 0x46ff70
mov eax, dword [ebp - 0x80]
cdq
idiv dword [ebp - 0x48]
mov edx, dword [ebp - 0x10c]
lea eax, [edx + eax*2]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x48]
mov dword [ebp - 0x68], eax
jmp 0x46ff03
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x80]
cmp word [eax], 9
jne 0x46ff66
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x64]
mov eax, edi
jne 0x46ff22
sub eax, dword [ebp - 0x1c]
cdq
idiv ecx
sub ecx, edx
add edi, ecx
jmp 0x46ff67
mov esi, dword [ebp - 0x1c]
sub eax, esi
cdq
idiv ecx
mov eax, ecx
sub eax, edx
add edi, eax
lea eax, [esi + ecx]
cmp edi, eax
jl 0x46ff67
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x14]
lea ecx, [ecx + edx*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx]
push 4
cdq
pop esi
idiv esi
inc dword [ebp - 0x14]
add ecx, esi
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x64]
mov dword [ebp - 0x44], eax
je 0x46ff67
mov edx, dword [ebp - 0x1c]
add eax, edx
cmp edi, eax
jge 0x46ff40
jmp 0x46ff67
inc edi
add dword [ebp - 0x80], 2
dec dword [ebp - 0x68]
jne 0x46ff00
sub edi, dword [ebp + 0x18]
cmp dword [ebp + 0x3c], 0
jne 0x47007c
mov esi, dword [ebp - 0x34]
cmp edi, esi
jge 0x47007c
sub esi, edi
jns 0x46ff8e
xor esi, esi
test esi, esi
jle 0x46ffb6
mov eax, dword [ebp + 0x34]
xor edx, edx
div dword [ebp - 0x48]
mov ecx, dword [ebp - 0xc4]
add eax, dword [ebp + 0x48]
lea edi, [ecx + eax*2]
mov ecx, esi
mov eax, 0x200020
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
add dword [ebp + 0x48], esi
jmp 0x47007c
cmp dword [ebp + 0x48], eax
mov dword [ebp - 0x68], eax
jle 0x47003e
jmp 0x46ffcb
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x68]
cmp byte [esi + eax], 9
jne 0x4700af
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x64]
mov eax, edi
jne 0x46ffee
sub eax, dword [ebp - 0x1c]
cdq
idiv ecx
sub ecx, edx
add edi, ecx
jmp 0x470033
sub eax, dword [ebp - 0x1c]
cdq
idiv ecx
mov eax, ecx
sub eax, edx
add edi, eax
mov eax, dword [ebp - 0x1c]
add eax, ecx
cmp edi, eax
jl 0x470033
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x14]
lea ecx, [ecx + edx*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx]
push 4
cdq
pop ebx
idiv ebx
inc dword [ebp - 0x14]
add ecx, ebx
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x64]
mov dword [ebp - 0x44], eax
je 0x470030
mov edx, dword [ebp - 0x1c]
add eax, edx
cmp edi, eax
jge 0x47000c
mov ebx, dword [ebp - 0x28]
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp + 0x48]
jl 0x46ffc8
sub edi, dword [ebp + 0x18]
cmp dword [ebp + 0x3c], 0
jne 0x47007c
mov edx, dword [ebp - 0x34]
cmp edi, edx
jge 0x47007c
sub edx, edi
jns 0x470054
xor edx, edx
test edx, edx
jle 0x470079
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp + 0x48]
lea edi, [eax + ecx]
mov ecx, edx
add edi, dword [ebp + 0x34]
mov esi, ecx
mov eax, 0x20202020
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
add dword [ebp + 0x48], edx
cmp dword [ebp - 0x4c], 0
je 0x4700cb
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp - 0x6c]
imul eax, dword [ebp - 0x48]
lea esi, [eax + ecx]
cmp esi, dword [ebp - 0x130]
jl 0x4700b2
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
and dword [ebp - 0x4c], 0
jmp 0x4700cb
inc edi
jmp 0x470033
mov ecx, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0xdc]
push ebx
add eax, ecx
push eax
call fcn.005244d0
add esp, 0xc
mov dword [ebp - 0x6c], esi
mov eax, dword [ebp + 0x48]
xor ecx, ecx
imul eax, dword [ebp - 0x48]
add dword [ebp + 0x34], eax
mov eax, dword [ebp + 0x34]
add eax, dword [ebp - 0x78]
adc ecx, dword [ebp - 0x74]
cmp dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], ecx
je 0x47011d
mov eax, dword [ebp - 0x2c]
cmp eax, 0xffffffff
je 0x47011d
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x20]
sub esi, eax
add eax, ecx
mov ecx, dword [ebp + 0x34]
push esi
push eax
mov eax, dword [ebp - 0x50]
add eax, ecx
push eax
call fcn.005244d0
add esp, 0xc
add dword [ebp + 0x34], esi
cmp dword [ebp - 0xb0], 0
jne 0x47026c
cmp dword [ebp + 0x44], 0
jne 0x47026c
dec dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0
jg 0x47026c
mov byte [ebp + 0x33], 1
mov dword [ebp - 0xc0], 1
jmp 0x47026c
cmp dword [ebp - 0x40], 0xffffffff
je 0x46f9f1
mov ebx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp + 0x34]
push ebx
push dword [ebp - 0x20]
lea eax, [edi + esi]
push eax
call fcn.005244d0
mov edx, dword [ebp - 0xac]
add esi, ebx
mov eax, esi
add esp, 0xc
xor ecx, ecx
add eax, dword [ebp - 0x78]
mov dword [ebp + 0x34], esi
adc ecx, dword [ebp - 0x74]
and edx, dword [ebp - 0xa8]
mov dword [ebp - 0xe8], eax
cmp edx, 0xffffffff
mov dword [ebp - 0xe4], ecx
jne 0x4701b9
mov edx, ebx
cmp edx, dword [ebp - 0x2c]
je 0x4701b6
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], ecx
mov ebx, dword [ebp - 0x40]
xor ecx, ecx
cmp dword [ebp - 0x110], ecx
je 0x470240
cmp dword [ebp + 0x3c], ecx
jne 0x470240
mov eax, dword [ebp - 0x2c]
cmp eax, 0xffffffff
jne 0x4701d3
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x10]
cmp dword [edx + 0x18c], ecx
je 0x47021e
shr ebx, 1
mov edx, ebx
shr esi, 1
cmp edx, eax
jge 0x470216
mov ecx, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xa4]
sub eax, edx
lea ecx, [ecx + esi*2]
lea edi, [edi + edx*2]
cmp word [edi], 9
jne 0x470209
mov word [ecx], 9
jmp 0x47020e
mov word [ecx], 0x20
inc esi
inc ecx
inc ecx
inc edi
inc edi
dec eax
jne 0x4701fc
lea eax, [esi + esi]
mov dword [ebp + 0x34], eax
jmp 0x470240
cmp ebx, eax
mov ecx, ebx
jge 0x470240
mov edx, dword [ebp - 0x20]
cmp byte [ecx + edx], 9
jne 0x470233
mov byte [edi + esi], 9
jmp 0x470237
mov byte [edi + esi], 0x20
inc esi
inc ecx
cmp ecx, eax
jl 0x470224
mov dword [ebp + 0x34], esi
cmp dword [ebp - 0x2c], 0xffffffff
je 0x47026c
mov esi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
sub esi, eax
add eax, ecx
mov ecx, dword [ebp + 0x34]
push esi
push eax
mov eax, dword [ebp - 0x50]
add eax, ecx
push eax
call fcn.005244d0
add esp, 0xc
add dword [ebp + 0x34], esi
mov eax, dword [ebp - 0x10]
xor ebx, ebx
cmp dword [eax + 0x18c], ebx
je 0x4703ab
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp - 0x6c]
shr eax, 1
shr ecx, 1
cmp dword [ebp - 0xa0], ebx
je 0x4702e6
cmp dword [ebp + 0x28], ebx
je 0x4702e6
cmp dword [ebp - 0xc0], ebx
jne 0x4702c8
cmp dword [ebp - 0x5c], ebx
je 0x4702b6
mov esi, dword [ebp - 0xc4]
mov word [esi + eax*2], 0xd
inc eax
mov word [esi + eax*2], 0xa
jmp 0x4702c5
movsx dx, byte [ebp - 0x38]
mov esi, dword [ebp - 0xc4]
mov word [esi + eax*2], dx
inc eax
jmp 0x4702ce
mov esi, dword [ebp - 0xc4]
cmp dword [ebp - 0x4c], ebx
je 0x470386
cmp dword [ebp - 0x5c], ebx
jne 0x470334
movsx dx, byte [ebp - 0x38]
jmp 0x470373
mov edx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0x3c]
lea edi, [edx + esi*2]
mov dword [ebp - 0xa4], edi
mov dx, word [edi]
cmp dx, 0xd
jne 0x470349
mov esi, dword [ebp - 0xc4]
mov word [esi + eax*2], dx
inc eax
inc dword [ebp - 0x3c]
inc edi
inc edi
mov dword [ebp - 0xa4], edi
cmp word [edi], 0xa
jne 0x47032f
mov word [esi + eax*2], 0xa
inc eax
inc dword [ebp - 0x3c]
inc edi
inc edi
mov dword [ebp - 0xa4], edi
cmp dword [ebp - 0x4c], ebx
je 0x470386
mov edx, dword [ebp - 0x88]
mov word [edx + ecx*2], 0xd
inc ecx
mov word [edx + ecx*2], 0xa
jmp 0x47037d
movsx esi, byte [ebp - 0x38]
movzx edx, dx
cmp edx, esi
jne 0x470380
movsx dx, byte [ebp - 0x38]
mov esi, dword [ebp - 0xc4]
add dword [ebp - 0xa4], 2
mov word [esi + eax*2], dx
inc eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x4c], ebx
je 0x470386
mov edi, dword [ebp - 0x88]
mov word [edi + ecx*2], dx
inc ecx
jmp 0x470386
mov esi, dword [ebp - 0xc4]
add eax, eax
add ecx, ecx
mov dword [ebp + 0x34], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x48]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x3c], eax
jmp 0x470485
cmp dword [ebp - 0xa0], ebx
je 0x470417
cmp dword [ebp + 0x28], ebx
je 0x470417
cmp dword [ebp - 0xc0], ebx
jne 0x4703e6
cmp dword [ebp - 0x5c], ebx
mov eax, dword [ebp - 0x50]
je 0x4703da
mov ecx, dword [ebp + 0x34]
mov byte [eax + ecx], 0xd
inc ecx
mov byte [eax + ecx], 0xa
inc ecx
mov dword [ebp + 0x34], ecx
jmp 0x4703e6
mov edx, dword [ebp + 0x34]
mov cl, byte [ebp - 0x38]
inc dword [ebp + 0x34]
mov byte [eax + edx], cl
cmp dword [ebp - 0x4c], ebx
je 0x470485
cmp dword [ebp - 0x5c], ebx
je 0x47040c
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x6c]
mov byte [ecx + eax], 0xd
inc eax
mov byte [ecx + eax], 0xa
inc eax
mov dword [ebp - 0x6c], eax
jmp 0x470485
mov eax, dword [ebp - 0xdc]
mov cl, byte [ebp - 0x38]
jmp 0x47047c
mov eax, dword [ebp - 0x3c]
add dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov al, byte [eax]
cmp al, 0xd
jne 0x470458
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp - 0x50]
inc dword [ebp + 0x34]
inc dword [ebp - 0x3c]
inc dword [ebp - 0x20]
mov byte [eax + ecx], 0xd
mov ecx, dword [ebp - 0x20]
cmp byte [ecx], 0xa
jne 0x470451
mov ecx, dword [ebp + 0x34]
inc dword [ebp + 0x34]
inc dword [ebp - 0x3c]
inc dword [ebp - 0x20]
mov byte [eax + ecx], 0xa
cmp dword [ebp - 0x4c], ebx
je 0x470485
jmp 0x4703f4
mov cl, byte [ebp - 0x38]
cmp al, cl
jne 0x470485
mov edx, dword [ebp + 0x34]
inc dword [ebp + 0x34]
mov eax, dword [ebp - 0x50]
inc dword [ebp - 0x3c]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x4c], ebx
mov byte [eax + edx], cl
je 0x470485
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x6c]
inc dword [ebp - 0x6c]
mov byte [eax + edx], cl
mov eax, dword [ebp - 0x3c]
add dword [ebp - 0x58], eax
cdq
add dword [ebp - 0xd0], eax
adc dword [ebp - 0xcc], edx
cmp dword [ebp - 0xa0], ebx
je 0x4704a5
cmp dword [ebp + 0x28], ebx
jne 0x4704e1
mov edi, dword [ebp - 0xd8]
cmp dword [ebp - 0x58], edi
jl 0x4704b4
mov byte [ebp + 0x33], 1
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp + 0x14]
jl 0x4704e7
jg 0x4704cc
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp + 0x10]
jbe 0x4704e7
cmp dword [ebp + 0x28], ebx
jne 0x4704e7
mov byte [ebp + 0x33], 1
mov dword [ebp - 0xc0], 1
jmp 0x4704e7
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x114]
mov esi, dword [ebp + 0x34]
lea eax, [ecx + eax - 1]
imul eax, dword [ebp - 0x48]
add eax, esi
cmp eax, 0x251be
jb 0x4705c6
xor edi, edi
sub esi, dword [ebp - 0xd0]
sbb edi, dword [ebp - 0xcc]
add esi, dword [ebp - 0x78]
adc edi, dword [ebp - 0x74]
js 0x47056e
jg 0x470524
cmp esi, ebx
jbe 0x47056e
mov eax, dword [ebp - 0xd4]
cdq
cmp edi, edx
jl 0x47056e
jg 0x470535
cmp esi, eax
jbe 0x47056e
mov eax, dword [ebp - 0x10]
mov ebx, 0x2ee00
push eax
push 0
push ebx
add eax, 0x208
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push eax
call fcn.004d3bba
add dword [ebp - 0xd4], ebx
add esp, 0x20
add dword [ebp - 0x90], ebx
adc dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x10]
sub dword [ebp - 0xd4], esi
push 0
push dword [ebp - 0x74]
lea ebx, [eax + 0x208]
mov ecx, ebx
push dword [ebp - 0x78]
call fcn.00479f84
push dword [ebp + 0x34]
mov eax, dword [ebx]
mov ecx, ebx
push dword [ebp - 0x50]
call dword [eax + 0x38]
add dword [ebp + 0x10], esi
mov eax, dword [ebp - 0x78]
push 0
pop ecx
adc dword [ebp + 0x14], edi
add eax, dword [ebp + 0x34]
mov edi, dword [ebp - 0xd8]
adc dword [ebp - 0x74], ecx
and dword [ebp + 0x34], ecx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xcc], eax
cmp byte [ebp + 0x33], 0
je 0x46f542
jmp 0x4705e7
mov eax, 0x2ee00
sub eax, dword [ebp - 0x58]
cdq
sub dword [ebp - 0x90], eax
sbb dword [ebp - 0x8c], edx
xor ebx, ebx
cmp dword [ebp - 0xc0], ebx
je 0x46f4a2
mov edi, dword [ebp - 0xb8]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp dword [ebp - 0x104], ebx
je 0x47060f
call dword [sym.imp.USER32.dll_CloseClipboard]
cmp dword [ebp + 0x20], ebx
jne 0x47061d
cmp dword [ebp + 0x24], ebx
je 0x470733
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x18]
push dword [ebp - 0x7c]
and byte [ecx + eax], 0
and byte [ecx + eax + 1], 0
call esi
mov eax, dword [ebp - 0x98]
push dword [eax + 0x1c]
call dword [sym.imp.USER32.dll_OpenClipboard]
cmp dword [0x628a50], ebx
mov dword [ebp - 0x104], eax
jne 0x470657
call dword [sym.imp.USER32.dll_EmptyClipboard]
mov eax, dword [ebp - 0x10]
push dword [ebp - 0x7c]
cmp dword [eax + 0x18c], ebx
je 0x470669
push 0xd
jmp 0x47066b
push 1
call fcn.00469467
pop ecx
cmp eax, ebx
pop ecx
mov dword [ebp - 0x7c], eax
jne 0x470720
lea eax, [ebp - 0x118]
push 0xe000
push eax
call fcn.00402f3e
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax]
mov dword [ebp - 4], 4
call fcn.0046ca72
push eax
lea ecx, [ebp + 0x14]
call fcn.0053e8c4
mov edi, eax
push 0x5c4c8c
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 5
call fcn.0053ebbd
push edi
push eax
lea eax, [ebp + 0x30]
mov byte [ebp - 4], 6
push eax
call fcn.0053ed7e
mov eax, dword [eax]
mov ecx, dword [ebp - 0x98]
push 0x30
push esi
push eax
mov byte [ebp - 4], 7
call fcn.0054239a
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 6
call fcn.0053eb4f
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 5
call fcn.0053eb4f
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 4
call fcn.0053eb4f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x118]
call fcn.0053eb4f
mov edi, dword [ebp - 0xb8]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp dword [ebp - 0x104], ebx
je 0x47072e
call dword [sym.imp.USER32.dll_CloseClipboard]
cmp dword [ebp + 0x20], ebx
jne 0x47073c
cmp dword [ebp + 0x2c], ebx
je 0x4707dd
cmp dword [ebp + 0x3c], ebx
jne 0x4707dd
cmp edi, ebx
je 0x4707e1
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x170], edi
mov dword [ebp - 0x168], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0xac]
mov ecx, eax
mov dword [ebp - 0x16c], ebx
and ecx, dword [ebp - 0xa8]
cmp ecx, 0xffffffff
je 0x4707b5
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [ebp - 0xa8]
jg 0x4707ad
jl 0x4707a8
cmp dword [ebp + 8], eax
jae 0x4707ad
mov eax, dword [ebp + 8]
jmp 0x4707bb
mov ecx, dword [ebp - 0xa8]
jmp 0x4707bb
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 0x178]
push edx
push ebx
push 1
push ebx
push 7
push ecx
mov ecx, dword [ebp - 0x98]
push eax
call fcn.0050cae7
push edi
call esi
jmp 0x47090f
cmp edi, ebx
jne 0x4707ea
cmp dword [ebp - 0x4c], ebx
je 0x4708e1
cmp dword [ebp + 0x28], ebx
jne 0x470800
cmp dword [ebp - 0xb0], ebx
jne 0x470800
cmp dword [ebp + 0x44], ebx
je 0x4708e1
cmp dword [ebp + 0x3c], ebx
jne 0x470901
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp + 0x48]
cmp dword [ebp - 0x34], eax
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x148], ecx
jle 0x470835
mov eax, dword [ebp - 0x34]
add eax, ecx
xor ecx, ecx
mov dword [ebp - 0x140], eax
mov eax, dword [ebp + 0x34]
add eax, dword [ebp - 0x78]
adc ecx, dword [ebp - 0x74]
sub eax, 1
mov dword [ebp - 0x158], eax
mov eax, dword [ebp + 0x44]
sbb ecx, ebx
dec eax
mov dword [ebp - 0x154], ecx
je 0x470871
dec eax
je 0x47086d
dec eax
je 0x470869
push 3
jmp 0x470873
push 6
jmp 0x470873
push 5
jmp 0x470873
push 4
mov eax, dword [ebp - 0xac]
pop edx
mov ecx, eax
and ecx, dword [ebp - 0xa8]
cmp ecx, 0xffffffff
je 0x4708a6
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [ebp - 0xa8]
jg 0x47089e
jl 0x470899
cmp dword [ebp + 8], eax
jae 0x47089e
mov eax, dword [ebp + 8]
jmp 0x4708ac
mov ecx, dword [ebp - 0xa8]
jmp 0x4708ac
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
lea edi, [ebp - 0x158]
push edi
push ebx
push edx
push ebx
push 7
push ecx
mov ecx, dword [ebp - 0x98]
push eax
call fcn.0050cae7
cmp dword [ebp - 0xb8], ebx
je 0x4708d5
push dword [ebp - 0xb8]
call esi
cmp dword [ebp - 0x4c], ebx
je 0x470922
push dword [ebp - 0x4c]
call esi
jmp 0x470922
cmp dword [ebp + 0x3c], ebx
jne 0x470901
cmp dword [ebp + 0x20], ebx
jne 0x4708f5
cmp dword [ebp + 0x28], ebx
jne 0x4708f5
cmp dword [ebp + 0x2c], ebx
je 0x470901
mov ecx, dword [ebp - 0x10]
push 0xffffffffffffffff
push ebx
push ebx
call fcn.0050ddcb
cmp edi, ebx
je 0x47090f
push edi
call esi
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x4c], ebx
je 0x470922
push dword [ebp - 0x4c]
call esi
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp + 0x24], ebx
jne 0x470954
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x98]
cdq
add eax, dword [ebp - 0xd0]
adc edx, dword [ebp - 0xcc]
push edx
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [ebp + 0x34]
push dword [ebp - 0x50]
push ebx
call fcn.004aea5d
push dword [ebp - 0xf0]
call esi
push dword [ebp - 0xec]
call esi
push dword [ebp - 0xf0]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
call edi
push dword [ebp - 0xec]
call edi
cmp dword [ebp + 0x28], ebx
je 0x470989
cmp dword [ebp - 0x7c], ebx
je 0x470989
push dword [ebp - 0x7c]
call esi
mov ecx, dword [ebp - 0x10]
call fcn.005441f5
mov eax, dword [ebp + 0x40]
cmp eax, ebx
je 0x4709a9
mov ecx, dword [ebp - 0xac]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xa8]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x44