Function at 0x43318e
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1bc
push esi
push edi
mov eax, dword [ebp + 8]
mov eax, dword [eax]
add eax, 0x4000
mov dword [ebp - 4], eax
cmp dword [0x45c6b8], 0
jne 0x43440a
cmp dword [0x45c630], 0x25
jne 0x433373
cmp dword [0x45c634], 0
jne 0x433373
mov eax, dword [0x45c610]
or eax, dword [0x45c614]
jne 0x433373
mov eax, dword [0x45c618]
or eax, dword [0x45c61c]
jne 0x433373
mov eax, dword [0x45c620]
or eax, dword [0x45c624]
jne 0x433373
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x12c]
cmp dword [eax + 0x3c24], 0
jl 0x433373
jg 0x433233
mov eax, dword [ebp - 0x12c]
cmp dword [eax + 0x3c20], 0
jbe 0x433373
xorpd xmm0, xmm0
movlpd qword [0x45c630], xmm0
or dword [ebp - 8], 0xffffffff
and dword [ebp - 0xc], 0
jmp 0x433250
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xc]
movzx eax, byte [eax + ecx + 0x3100]
test eax, eax
je 0x4332b7
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0x30
push dword [eax + 0x3c34]
push dword [eax + 0x3c30]
call fcn.0045bd70
lea eax, [esi + eax + 0x100]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov esi, dword [ebp - 0xc]
movzx edx, byte [edx + esi + 0x3200]
imul edx, edx, 0x30
lea ecx, [ecx + edx + 0x100]
cmp eax, ecx
jne 0x4332b5
mov eax, dword [ebp - 0xc]
mov dword [ebp - 8], eax
jmp 0x4332b7
jmp 0x433249
cmp dword [ebp - 8], 0
jle 0x433350
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 8]
movzx eax, byte [eax + ecx + 0x30ff]
test eax, eax
jle 0x43334e
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ebp - 8]
movzx ecx, byte [ecx + edx + 0x31ff]
imul ecx, ecx, 0x30
movsx eax, byte [eax + ecx + 0x121]
cdq
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], edx
mov eax, dword [0x45c674]
cmp eax, dword [ebp - 0x130]
jg 0x433342
jl 0x43331e
mov eax, dword [0x45c670]
cmp eax, dword [ebp - 0x134]
ja 0x433342
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 8]
movzx eax, byte [eax + ecx + 0x31ff]
cdq
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [ecx + 0x3c30], eax
mov dword [ecx + 0x3c34], edx
jmp 0x43334e
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 8], eax
jmp 0x4332c1
jmp 0x43336e
mov eax, dword [ebp + 8]
mov eax, dword [eax]
movzx eax, byte [eax + 0x3200]
cdq
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [ecx + 0x3c30], eax
mov dword [ecx + 0x3c34], edx
jmp 0x434405
cmp dword [0x45c630], 0x27
jne 0x433533
cmp dword [0x45c634], 0
jne 0x433533
mov eax, dword [0x45c610]
or eax, dword [0x45c614]
jne 0x433533
mov eax, dword [0x45c618]
or eax, dword [0x45c61c]
jne 0x433533
mov eax, dword [0x45c620]
or eax, dword [0x45c624]
jne 0x433533
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
cmp dword [eax + 0x3c24], 0
jl 0x433533
jg 0x4333f3
mov eax, dword [ebp - 0x138]
cmp dword [eax + 0x3c20], 0
jbe 0x433533
xorpd xmm0, xmm0
movlpd qword [0x45c630], xmm0
or dword [ebp - 0x10], 0xffffffff
and dword [ebp - 0x14], 0
jmp 0x433410
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
movzx eax, byte [eax + ecx + 0x3100]
test eax, eax
je 0x433477
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0x30
push dword [eax + 0x3c34]
push dword [eax + 0x3c30]
call fcn.0045bd70
lea eax, [esi + eax + 0x100]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov esi, dword [ebp - 0x14]
movzx edx, byte [edx + esi + 0x3200]
imul edx, edx, 0x30
lea ecx, [ecx + edx + 0x100]
cmp eax, ecx
jne 0x433475
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
jmp 0x433477
jmp 0x433409
cmp dword [ebp - 0x10], 0
jl 0x433510
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x10]
movzx eax, byte [eax + ecx + 0x3101]
test eax, eax
jle 0x43350e
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x10]
movzx ecx, byte [ecx + edx + 0x3201]
imul ecx, ecx, 0x30
movsx eax, byte [eax + ecx + 0x121]
cdq
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], edx
mov eax, dword [0x45c674]
cmp eax, dword [ebp - 0x13c]
jg 0x433502
jl 0x4334de
mov eax, dword [0x45c670]
cmp eax, dword [ebp - 0x140]
ja 0x433502
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x10]
movzx eax, byte [eax + ecx + 0x3201]
cdq
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [ecx + 0x3c30], eax
mov dword [ecx + 0x3c34], edx
jmp 0x43350e
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
jmp 0x433481
jmp 0x43352e
mov eax, dword [ebp + 8]
mov eax, dword [eax]
movzx eax, byte [eax + 0x3200]
cdq
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [ecx + 0x3c30], eax
mov dword [ecx + 0x3c34], edx
jmp 0x434405
cmp dword [0x45c630], 0x26
jne 0x433807
cmp dword [0x45c634], 0
jne 0x433807
mov eax, dword [0x45c618]
or eax, dword [0x45c61c]
jne 0x433807
mov eax, dword [0x45c620]
or eax, dword [0x45c624]
jne 0x433807
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x144]
cmp dword [eax + 0x3c24], 0
jl 0x433807
jg 0x4335a2
mov eax, dword [ebp - 0x144]
cmp dword [eax + 0x3c20], 0
jbe 0x433807
xorpd xmm0, xmm0
movlpd qword [0x45c630], xmm0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp dword [eax + 0x3c58], 0
je 0x433655
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x148]
cmp dword [eax + 0x3c44], 0
jl 0x433613
jg 0x4335eb
mov eax, dword [ebp - 0x148]
cmp dword [eax + 0x3c40], 0
jbe 0x433613
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c40]
sub ecx, 1
mov eax, dword [eax + 0x3c44]
sbb eax, 0
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov dword [edx + 0x3c40], ecx
mov dword [edx + 0x3c44], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 8
push dword [eax + 0x3c44]
push dword [eax + 0x3c40]
call fcn.0045bd70
mov ecx, dword [esi + 0x3c58]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov esi, dword [eax + ecx]
mov dword [edx + 0x3c38], esi
mov eax, dword [eax + ecx + 4]
mov dword [edx + 0x3c3c], eax
jmp 0x433802
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x14c]
cmp dword [eax + 0x3c3c], 0
jl 0x433802
jg 0x433688
mov eax, dword [ebp - 0x14c]
cmp dword [eax + 0x3c38], 0
jbe 0x433802
mov eax, dword [0x45c610]
or eax, dword [0x45c614]
je 0x4337da
mov eax, dword [0x45c670]
or eax, dword [0x45c674]
je 0x4336ba
mov eax, dword [ebp + 8]
mov eax, dword [eax]
movzx eax, byte [eax + 0x3c06]
test eax, eax
jne 0x4337da
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [eax + 0x3c10]
push 1
call dword [sym.imp.MSVCR100.dll_calloc]
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [eax + 0x3c10]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c38]
sub edx, 1
mov ecx, dword [ecx + 0x3c3c]
sbb ecx, 0
push ecx
push edx
push dword [eax + 0x3c14]
push dword [eax + 0x3c10]
call fcn.0045bd70
add eax, dword [ebp - 4]
push eax
push dword [ebp - 0x18]
call dword [sym.imp.MSVCR100.dll_memcpy]
add esp, 0xc
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [eax + 0x3c10]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
push dword [ecx + 0x3c3c]
push dword [ecx + 0x3c38]
push dword [eax + 0x3c14]
push dword [eax + 0x3c10]
call fcn.0045bd70
add eax, dword [ebp - 4]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c38]
sub edx, 1
mov ecx, dword [ecx + 0x3c3c]
sbb ecx, 0
push ecx
push edx
push dword [eax + 0x3c14]
push dword [eax + 0x3c10]
call fcn.0045bd70
add eax, dword [ebp - 4]
push eax
call dword [sym.imp.MSVCR100.dll_memcpy]
add esp, 0xc
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [eax + 0x3c10]
push dword [ebp - 0x18]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
push dword [ecx + 0x3c3c]
push dword [ecx + 0x3c38]
push dword [eax + 0x3c14]
push dword [eax + 0x3c10]
call fcn.0045bd70
add eax, dword [ebp - 4]
push eax
call dword [sym.imp.MSVCR100.dll_memcpy]
add esp, 0xc
push dword [ebp - 0x18]
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c38]
sub ecx, 1
mov eax, dword [eax + 0x3c3c]
sbb eax, 0
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov dword [edx + 0x3c38], ecx
mov dword [edx + 0x3c3c], eax
jmp 0x434405
cmp dword [0x45c630], 0x28
jne 0x433b28
cmp dword [0x45c634], 0
jne 0x433b28
mov eax, dword [0x45c618]
or eax, dword [0x45c61c]
jne 0x433b28
mov eax, dword [0x45c620]
or eax, dword [0x45c624]
jne 0x433b28
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x150]
cmp dword [eax + 0x3c24], 0
jl 0x433b28
jg 0x433876
mov eax, dword [ebp - 0x150]
cmp dword [eax + 0x3c20], 0
jbe 0x433b28
xorpd xmm0, xmm0
movlpd qword [0x45c630], xmm0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp dword [eax + 0x3c58], 0
je 0x433956
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c48]
sub edx, 1
mov ecx, dword [ecx + 0x3c4c]
sbb ecx, 0
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x158], ecx
mov eax, dword [ebp - 0x154]
mov eax, dword [eax + 0x3c44]
cmp eax, dword [ebp - 0x158]
jg 0x433914
jl 0x4338ec
mov eax, dword [ebp - 0x154]
mov eax, dword [eax + 0x3c40]
cmp eax, dword [ebp - 0x15c]
jae 0x433914
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c40]
add ecx, 1
mov eax, dword [eax + 0x3c44]
adc eax, 0
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov dword [edx + 0x3c40], ecx
mov dword [edx + 0x3c44], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 8
push dword [eax + 0x3c44]
push dword [eax + 0x3c40]
call fcn.0045bd70
mov ecx, dword [esi + 0x3c58]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov esi, dword [eax + ecx]
mov dword [edx + 0x3c38], esi
mov eax, dword [eax + ecx + 4]
mov dword [edx + 0x3c3c], eax
jmp 0x433b23
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c20]
sub edx, 1
mov ecx, dword [ecx + 0x3c24]
sbb ecx, 0
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x164], ecx
mov eax, dword [ebp - 0x160]
mov eax, dword [eax + 0x3c3c]
cmp eax, dword [ebp - 0x164]
jg 0x433b23
jl 0x4339b6
mov eax, dword [ebp - 0x160]
mov eax, dword [eax + 0x3c38]
cmp eax, dword [ebp - 0x168]
jae 0x433b23
mov eax, dword [0x45c610]
or eax, dword [0x45c614]
je 0x433afb
mov eax, dword [ebp + 8]
mov eax, dword [eax]
movzx eax, byte [eax + 0x3c06]
test eax, eax
jne 0x433afb
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [eax + 0x3c10]
push 1
call dword [sym.imp.MSVCR100.dll_calloc]
pop ecx
pop ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [eax + 0x3c10]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c38]
add edx, 1
mov ecx, dword [ecx + 0x3c3c]
adc ecx, 0
push ecx
push edx
push dword [eax + 0x3c14]
push dword [eax + 0x3c10]
call fcn.0045bd70
add eax, dword [ebp - 4]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.MSVCR100.dll_memcpy]
add esp, 0xc
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [eax + 0x3c10]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
push dword [ecx + 0x3c3c]
push dword [ecx + 0x3c38]
push dword [eax + 0x3c14]
push dword [eax + 0x3c10]
call fcn.0045bd70
add eax, dword [ebp - 4]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c38]
add edx, 1
mov ecx, dword [ecx + 0x3c3c]
adc ecx, 0
push ecx
push edx
push dword [eax + 0x3c14]
push dword [eax + 0x3c10]
call fcn.0045bd70
add eax, dword [ebp - 4]
push eax
call dword [sym.imp.MSVCR100.dll_memcpy]
add esp, 0xc
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [eax + 0x3c10]
push dword [ebp - 0x1c]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
push dword [ecx + 0x3c3c]
push dword [ecx + 0x3c38]
push dword [eax + 0x3c14]
push dword [eax + 0x3c10]
call fcn.0045bd70
add eax, dword [ebp - 4]
push eax
call dword [sym.imp.MSVCR100.dll_memcpy]
add esp, 0xc
push dword [ebp - 0x1c]
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c38]
add ecx, 1
mov eax, dword [eax + 0x3c3c]
adc eax, 0
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov dword [edx + 0x3c38], ecx
mov dword [edx + 0x3c3c], eax
jmp 0x434405
cmp dword [0x45c630], 0x21
jne 0x433cec
cmp dword [0x45c634], 0
jne 0x433cec
mov eax, dword [0x45c610]
or eax, dword [0x45c614]
jne 0x433cec
mov eax, dword [0x45c618]
or eax, dword [0x45c61c]
jne 0x433cec
mov eax, dword [0x45c620]
or eax, dword [0x45c624]
jne 0x433cec
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
cmp dword [eax + 0x3c24], 0
jl 0x433cec
jg 0x433ba8
mov eax, dword [ebp - 0x16c]
cmp dword [eax + 0x3c20], 0
jbe 0x433cec
xorpd xmm0, xmm0
movlpd qword [0x45c630], xmm0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp dword [eax + 0x3c58], 0
je 0x433c76
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
movzx eax, byte [eax + 0x3c03]
cdq
mov esi, dword [ecx + 0x3c40]
sub esi, eax
mov eax, dword [ecx + 0x3c44]
sbb eax, edx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [ecx + 0x3c40], esi
mov dword [ecx + 0x3c44], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x170]
cmp dword [eax + 0x3c44], 0
jg 0x433c37
jl 0x433c24
mov eax, dword [ebp - 0x170]
cmp dword [eax + 0x3c40], 0
jae 0x433c37
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and dword [eax + 0x3c40], 0
and dword [eax + 0x3c44], 0
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 8
push dword [eax + 0x3c44]
push dword [eax + 0x3c40]
call fcn.0045bd70
mov ecx, dword [esi + 0x3c58]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov esi, dword [eax + ecx]
mov dword [edx + 0x3c38], esi
mov eax, dword [eax + ecx + 4]
mov dword [edx + 0x3c3c], eax
jmp 0x433ce7
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
movzx eax, byte [eax + 0x3c03]
cdq
mov esi, dword [ecx + 0x3c38]
sub esi, eax
mov eax, dword [ecx + 0x3c3c]
sbb eax, edx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [ecx + 0x3c38], esi
mov dword [ecx + 0x3c3c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x174]
cmp dword [eax + 0x3c3c], 0
jg 0x433ce7
jl 0x433cd4
mov eax, dword [ebp - 0x174]
cmp dword [eax + 0x3c38], 0
jae 0x433ce7
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and dword [eax + 0x3c38], 0
and dword [eax + 0x3c3c], 0
jmp 0x434405
cmp dword [0x45c630], 0x22
jne 0x433f2f
cmp dword [0x45c634], 0
jne 0x433f2f
mov eax, dword [0x45c610]
or eax, dword [0x45c614]
jne 0x433f2f
mov eax, dword [0x45c618]
or eax, dword [0x45c61c]
jne 0x433f2f
mov eax, dword [0x45c620]
or eax, dword [0x45c624]
jne 0x433f2f
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x178]
cmp dword [eax + 0x3c24], 0
jl 0x433f2f
jg 0x433d6c
mov eax, dword [ebp - 0x178]
cmp dword [eax + 0x3c20], 0
jbe 0x433f2f
xorpd xmm0, xmm0
movlpd qword [0x45c630], xmm0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp dword [eax + 0x3c58], 0
je 0x433e7b
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
movzx eax, byte [eax + 0x3c03]
cdq
add eax, dword [ecx + 0x3c40]
adc edx, dword [ecx + 0x3c44]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [ecx + 0x3c40], eax
mov dword [ecx + 0x3c44], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c48]
sub edx, 1
mov ecx, dword [ecx + 0x3c4c]
sbb ecx, 0
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x180], ecx
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax + 0x3c44]
cmp eax, dword [ebp - 0x180]
jl 0x433e39
jg 0x433e11
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax + 0x3c40]
cmp eax, dword [ebp - 0x184]
jbe 0x433e39
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c48]
sub ecx, 1
mov eax, dword [eax + 0x3c4c]
sbb eax, 0
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov dword [edx + 0x3c40], ecx
mov dword [edx + 0x3c44], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 8
push dword [eax + 0x3c44]
push dword [eax + 0x3c40]
call fcn.0045bd70
mov ecx, dword [esi + 0x3c58]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov esi, dword [eax + ecx]
mov dword [edx + 0x3c38], esi
mov eax, dword [eax + ecx + 4]
mov dword [edx + 0x3c3c], eax
jmp 0x433f2a
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
movzx eax, byte [eax + 0x3c03]
cdq
add eax, dword [ecx + 0x3c38]
adc edx, dword [ecx + 0x3c3c]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [ecx + 0x3c38], eax
mov dword [ecx + 0x3c3c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c20]
sub edx, 1
mov ecx, dword [ecx + 0x3c24]
sbb ecx, 0
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 0x3c3c]
cmp eax, dword [ebp - 0x18c]
jl 0x433f2a
jg 0x433f02
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 0x3c38]
cmp eax, dword [ebp - 0x190]
jbe 0x433f2a
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c20]
sub ecx, 1
mov eax, dword [eax + 0x3c24]
sbb eax, 0
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov dword [edx + 0x3c38], ecx
mov dword [edx + 0x3c3c], eax
jmp 0x434405
cmp dword [0x45c630], 0x24
jne 0x43405e
cmp dword [0x45c634], 0
jne 0x43405e
mov eax, dword [0x45c610]
or eax, dword [0x45c614]
jne 0x43405e
mov eax, dword [0x45c618]
or eax, dword [0x45c61c]
jne 0x43405e
mov eax, dword [0x45c620]
or eax, dword [0x45c624]
jne 0x43405e
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x194]
cmp dword [eax + 0x3c24], 0
jl 0x43405e
jg 0x433faf
mov eax, dword [ebp - 0x194]
cmp dword [eax + 0x3c20], 0
jbe 0x43405e
xorpd xmm0, xmm0
movlpd qword [0x45c630], xmm0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp dword [eax + 0x3c58], 0
je 0x434046
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
cmp dword [eax + 0x3c4c], 0
jl 0x434044
jg 0x433ff4
mov eax, dword [ebp - 0x198]
cmp dword [eax + 0x3c48], 0
jbe 0x434044
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and dword [eax + 0x3c40], 0
and dword [eax + 0x3c44], 0
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 8
push dword [eax + 0x3c44]
push dword [eax + 0x3c40]
call fcn.0045bd70
mov ecx, dword [esi + 0x3c58]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov esi, dword [eax + ecx]
mov dword [edx + 0x3c38], esi
mov eax, dword [eax + ecx + 4]
mov dword [edx + 0x3c3c], eax
jmp 0x434059
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and dword [eax + 0x3c38], 0
and dword [eax + 0x3c3c], 0
jmp 0x434405
cmp dword [0x45c630], 0x23
jne 0x4341bb
cmp dword [0x45c634], 0
jne 0x4341bb
mov eax, dword [0x45c610]
or eax, dword [0x45c614]
jne 0x4341bb
mov eax, dword [0x45c618]
or eax, dword [0x45c61c]
jne 0x4341bb
mov eax, dword [0x45c620]
or eax, dword [0x45c624]
jne 0x4341bb
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
cmp dword [eax + 0x3c24], 0
jl 0x4341bb
jg 0x4340de
mov eax, dword [ebp - 0x19c]
cmp dword [eax + 0x3c20], 0
jbe 0x4341bb
xorpd xmm0, xmm0
movlpd qword [0x45c630], xmm0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp dword [eax + 0x3c58], 0
je 0x43418e
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1a0]
cmp dword [eax + 0x3c4c], 0
jl 0x43418c
jg 0x434127
mov eax, dword [ebp - 0x1a0]
cmp dword [eax + 0x3c48], 0
jbe 0x43418c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c48]
sub ecx, 1
mov eax, dword [eax + 0x3c4c]
sbb eax, 0
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov dword [edx + 0x3c40], ecx
mov dword [edx + 0x3c44], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 8
push dword [eax + 0x3c44]
push dword [eax + 0x3c40]
call fcn.0045bd70
mov ecx, dword [esi + 0x3c58]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov esi, dword [eax + ecx]
mov dword [edx + 0x3c38], esi
mov eax, dword [eax + ecx + 4]
mov dword [edx + 0x3c3c], eax
jmp 0x4341b6
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c20]
sub ecx, 1
mov eax, dword [eax + 0x3c24]
sbb eax, 0
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov dword [edx + 0x3c38], ecx
mov dword [edx + 0x3c3c], eax
jmp 0x434405
mov eax, dword [0x45c628]
or eax, dword [0x45c62c]
je 0x434405
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x1a4]
cmp dword [eax + 0x3c24], 0
jl 0x434405
jg 0x4341ff
mov eax, dword [ebp - 0x1a4]
cmp dword [eax + 0x3c20], 0
jbe 0x434405
xorpd xmm0, xmm0
movlpd qword [0x45c630], xmm0
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0x30
push dword [eax + 0x3c34]
push dword [eax + 0x3c30]
call fcn.0045bd70
movsx eax, byte [esi + eax + 0x122]
cdq
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], edx
mov eax, dword [0x45c674]
cmp eax, dword [ebp - 0x1a8]
jg 0x434405
jl 0x434263
mov eax, dword [0x45c670]
cmp eax, dword [ebp - 0x1ac]
ja 0x434405
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0x30
push dword [eax + 0x3c34]
push dword [eax + 0x3c30]
call fcn.0045bd70
movzx eax, byte [esi + eax + 0x123]
test eax, eax
jne 0x434329
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0x30
push dword [eax + 0x3c34]
push dword [eax + 0x3c30]
call fcn.0045bd70
movzx eax, byte [esi + eax + 0x125]
cmp eax, 1
jne 0x434329
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
push dword [ecx + 0x3c3c]
push dword [ecx + 0x3c38]
push dword [eax + 0x3c14]
push dword [eax + 0x3c10]
call fcn.0045bd70
mov esi, eax
add esi, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0x30
push dword [eax + 0x3c34]
push dword [eax + 0x3c30]
call fcn.0045bd70
add esi, dword [edi + eax + 0x128]
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
neg eax
sbb al, al
inc al
mov ecx, dword [ebp - 0x20]
mov byte [ecx], al
jmp 0x434405
mov eax, dword [0x45c6b8]
mov dword [0x45c6bc], eax
mov eax, dword [0x45c680]
mov dword [0x45c6a0], eax
mov eax, dword [0x45c684]
mov dword [0x45c6a4], eax
mov eax, dword [0x45c688]
mov dword [0x45c6a8], eax
mov eax, dword [0x45c68c]
mov dword [0x45c6ac], eax
push 0
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0x30
push dword [eax + 0x3c34]
push dword [eax + 0x3c30]
call fcn.0045bd70
movzx eax, byte [esi + eax + 0x125]
push eax
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0x30
push dword [eax + 0x3c34]
push dword [eax + 0x3c30]
call fcn.0045bd70
movzx eax, byte [esi + eax + 0x123]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
push dword [ecx + 0x3c3c]
push dword [ecx + 0x3c38]
push dword [eax + 0x3c14]
push dword [eax + 0x3c10]
call fcn.0045bd70
mov esi, eax
add esi, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0x30
push dword [eax + 0x3c34]
push dword [eax + 0x3c30]
call fcn.0045bd70
add esi, dword [edi + eax + 0x128]
push esi
call fcn.00432f8b
jmp 0x434745
mov eax, dword [0x45c6b8]
cmp eax, dword [ebp - 4]
jb 0x434745
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c18]
add eax, dword [ebp - 4]
cmp dword [0x45c6b8], eax
jae 0x434745
mov eax, dword [0x45c628]
or eax, dword [0x45c62c]
je 0x434582
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1b0]
cmp dword [eax + 0x3c24], 0
jl 0x434582
jg 0x434476
mov eax, dword [ebp - 0x1b0]
cmp dword [eax + 0x3c20], 0
jbe 0x434582
xorpd xmm0, xmm0
movlpd qword [0x45c630], xmm0
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0x30
push dword [eax + 0x3c34]
push dword [eax + 0x3c30]
call fcn.0045bd70
mov al, byte [esi + eax + 0x123]
mov byte [ebp - 0x21], al
movzx eax, byte [ebp - 0x21]
cmp eax, 3
jg 0x4344de
push 0x45c6c0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [eax + 0x3c50]
call dword [sym.imp.MSVCR100.dll_strcmp]
pop ecx
pop ecx
test eax, eax
je 0x4344dc
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + 0x3c02], 1
jmp 0x434559
movzx eax, byte [ebp - 0x21]
cmp eax, 7
jg 0x434512
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c50]
movsd xmm0, qword [eax]
ucomisd xmm0, qword [0x45c5d8]
lahf
test ah, 0x44
jnp 0x434510
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + 0x3c02], 1
jmp 0x434559
movzx eax, byte [ebp - 0x21]
cmp eax, 0x14
jg 0x434559
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c50]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b4]
mov eax, dword [eax]
cmp eax, dword [0x45c5f8]
jne 0x43454d
mov eax, dword [ebp - 0x1b4]
mov eax, dword [eax + 4]
cmp eax, dword [0x45c5fc]
je 0x434559
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + 0x3c02], 1
push 0
movzx eax, byte [0x45c6a8]
push eax
movzx eax, byte [0x45c6a0]
push eax
push dword [0x45c6bc]
call fcn.00432f8b
and dword [0x45c6bc], 0
jmp 0x434745
cmp dword [0x45c630], 0x56
jne 0x434745
cmp dword [0x45c634], 0
jne 0x434745
mov eax, dword [0x45c610]
or eax, dword [0x45c614]
je 0x434745
mov eax, dword [0x45c618]
or eax, dword [0x45c61c]
jne 0x434745
mov eax, dword [0x45c620]
or eax, dword [0x45c624]
jne 0x434745
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0x30
push dword [eax + 0x3c34]
push dword [eax + 0x3c30]
call fcn.0045bd70
movsx eax, byte [esi + eax + 0x122]
cdq
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], edx
mov eax, dword [0x45c674]
cmp eax, dword [ebp - 0x1b8]
jg 0x434745
jl 0x434627
mov eax, dword [0x45c670]
cmp eax, dword [ebp - 0x1bc]
ja 0x434745
xorpd xmm0, xmm0
movlpd qword [0x45c630], xmm0
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0x30
push dword [eax + 0x3c34]
push dword [eax + 0x3c30]
call fcn.0045bd70
mov al, byte [esi + eax + 0x123]
mov byte [ebp - 0x22], al
movzx eax, byte [ebp - 0x22]
cmp eax, 3
jg 0x434745
mov al, byte [0x42852c]
mov byte [ebp - 0x128], al
push 0xff
push 0
lea eax, [ebp - 0x127]
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
push 1
call dword [sym.imp.USER32.dll_GetClipboardData]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x4346bb
push 0xff
push dword [ebp - 0x28]
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.MSVCR100.dll_strncpy]
add esp, 0xc
call dword [sym.imp.USER32.dll_CloseClipboard]
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0x30
push dword [eax + 0x3c34]
push dword [eax + 0x3c30]
call fcn.0045bd70
movzx eax, byte [esi + eax + 0x125]
mov byte [ebp + eax - 0x128], 0
lea eax, [ebp - 0x128]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [eax + 0x3c50]
call dword [sym.imp.MSVCR100.dll_strcpy]
pop ecx
pop ecx
lea eax, [ebp - 0x128]
push eax
push dword [0x45c6b8]
call dword [sym.imp.MSVCR100.dll_strcpy]
pop ecx
pop ecx
push dword [0x45c6b8]
call dword [sym.imp.MSVCR100.dll_strlen]
pop ecx
xor ecx, ecx
mov dword [0x45c678], eax
mov dword [0x45c67c], ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + 0x3c02], 1
pop edi
pop esi
leave
ret 4