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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov esi, ebx
lea edi, [esp + 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0xcc]
mov dword [esp + 0x18], esi
lea edi, [esp + 0x78]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1c], ecx
xor ecx, ecx
movsd dword es:[edi], dword [esi]
cmp dword [eax + 0x84], ecx
jne 0x42d500
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.USER32.dll_SetRectEmpty]
mov edi, dword [ebp + 8]
jmp 0x42db96
cmp dword [eax + 0x34], ecx
jne 0x42d50e
cmp dword [eax + 0x38], ecx
je 0x42d58f
sub esp, 0x10
mov edi, esp
lea esi, [ebp + 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
mov esi, ebx
mov ebx, dword [ebp + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x68]
movsd dword es:[edi], dword [esi]
push eax
push dword [esp + 0x40]
movsd dword es:[edi], dword [esi]
call fcn.0042d3fb
mov edx, dword [ebp + 0xc]
mov esi, ebx
cmp dword [esi + 0x34], 0
je 0x42d561
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x50]
sub eax, dword [edx]
sub ecx, dword [esp + 0x48]
mov dword [esp + 0x20], eax
cmp eax, ecx
jl 0x42d55a
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fstp dword [esi + 4]
cmp dword [esi + 0x38], 0
je 0x42d588
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x54]
sub eax, dword [edx + 4]
sub ecx, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
cmp eax, ecx
jl 0x42d581
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fstp dword [esi + 8]
mov ebx, dword [ebp + 0xc]
mov edi, esi
jmp 0x42d591
mov edi, eax
xor ecx, ecx
cmp dword [edi + 0x3c], ecx
je 0x42d5a9
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x10]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fstp dword [edi + 4]
cmp dword [edi + 0x40], ecx
je 0x42d5bf
mov eax, dword [ebp + 0x1c]
sub eax, dword [ebp + 0x14]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fstp dword [edi + 8]
mov eax, dword [edi + 0xf0]
mov esi, dword [edi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42d61c
add eax, 0xdc
cmp dword [eax], ecx
jne 0x42d5e7
cmp dword [eax + 8], ecx
jne 0x42d5e7
cmp dword [eax + 4], ecx
jne 0x42d5e7
cmp dword [eax + 0xc], ecx
je 0x42d61c
cmp esi, 0xc
je 0x42d600
cmp esi, 0xd
je 0x42d600
cmp esi, 0xe
je 0x42d600
cmp esi, 0xf
je 0x42d600
cmp esi, 0x10
jne 0x42d61c
mov ecx, dword [eax + 0xc]
add dword [ebx + 4], ecx
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
cmp ecx, edx
jl 0x42d612
mov ecx, edx
push eax
mov dword [ebx + 4], ecx
call dword [sym.imp.USER32.dll_SetRectEmpty]
lea eax, [esi - 1]
cmp eax, 0xf
ja case.default.0x42d62f
movzx eax, byte [eax + 0x42dea1]
jmp dword [eax*4 + 0x42de7d]
mov esi, ebx
lea edi, [esp + 0x28]
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 edi, dword [ebp + 8]
jmp case.default.0x42d62f
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
sub ecx, eax
push ecx
mov esi, edi
call fcn.0042d0bd
fldz
fcomp dword [edi + 4]
mov dword [esp + 0x10], eax
fnstsw ax
test ah, 0x44
jnp 0x42d67a
mov ecx, dword [ebx]
mov eax, dword [ebx + 8]
sub eax, ecx
push eax
call fcn.0042d1a2
mov ecx, dword [ebx + 8]
jmp 0x42d683
mov ecx, dword [ebx + 8]
mov edx, dword [ebx]
mov eax, ecx
sub eax, edx
mov edx, dword [esp + 0x1c]
cmp dword [edx + 8], 0
mov esi, dword [esp + 0x10]
mov edx, dword [ebx + 4]
je 0x42d69f
add edx, esi
push edx
push ecx
push dword [ebx + 4]
sub ecx, eax
jmp 0x42d6a9
lea ecx, [edx + esi]
push ecx
mov ecx, dword [ebx]
add eax, ecx
push eax
push edx
push ecx
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.USER32.dll_SetRect]
add dword [ebx + 4], esi
jmp case.default.0x42d62f
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 4]
mov esi, edi
push eax
call fcn.0042d0bd
fldz
fcomp dword [edi + 4]
mov dword [esp + 0x10], eax
fnstsw ax
test ah, 0x44
jnp 0x42d6ed
mov ecx, dword [ebx]
mov eax, dword [ebx + 8]
sub eax, ecx
push eax
call fcn.0042d1a2
mov ecx, dword [ebx + 8]
jmp 0x42d6f6
mov ecx, dword [ebx + 8]
mov edx, dword [ebx]
mov eax, ecx
sub eax, edx
mov edx, dword [esp + 0x1c]
cmp dword [edx + 8], 0
je 0x42d70f
mov edx, dword [ebx + 0xc]
push edx
sub edx, dword [esp + 0x14]
push ecx
push edx
sub ecx, eax
push ecx
jmp 0x42d71e
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx]
push ecx
add eax, edx
sub ecx, dword [esp + 0x14]
push eax
push ecx
push edx
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esp + 0x10]
sub dword [ebx + 0xc], eax
jmp case.default.0x42d62f
mov eax, dword [ebx]
mov ecx, dword [ebx + 8]
sub ecx, eax
push ecx
mov esi, edi
call fcn.0042d1a2
fldz
fcomp dword [edi + 8]
mov dword [esp + 0x10], eax
fnstsw ax
test ah, 0x44
jnp 0x42d764
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
sub ecx, eax
push ecx
call fcn.0042d0bd
jmp 0x42d76c
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
sub eax, ecx
mov ecx, dword [ebx + 4]
mov esi, dword [esp + 0x10]
add eax, ecx
push eax
mov eax, dword [ebx]
lea edx, [eax + esi]
push edx
push ecx
push eax
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.USER32.dll_SetRect]
add dword [ebx], esi
jmp case.default.0x42d62f
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
mov esi, edi
push eax
call fcn.0042d1a2
fldz
fcomp dword [edi + 8]
mov dword [esp + 0x10], eax
fnstsw ax
test ah, 0x44
jnp 0x42d7bd
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
sub ecx, eax
push ecx
call fcn.0042d0bd
jmp 0x42d7c5
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
sub eax, ecx
mov ecx, dword [ebx + 4]
mov esi, dword [esp + 0x10]
add eax, ecx
push eax
mov eax, dword [ebx + 8]
push eax
push ecx
sub eax, esi
push eax
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.USER32.dll_SetRect]
sub dword [ebx + 8], esi
jmp case.default.0x42d62f
fld dword [edi + 0x20]
call fcn.00460830
fld dword [edi + 0x1c]
mov dword [esp + 0x20], eax
call fcn.00460830
mov esi, edi
mov dword [esp + 0x14], eax
call fcn.0042d09c
add eax, dword [esp + 0x20]
add eax, dword [ebp + 0x14]
push eax
call fcn.0042d07b
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
mov edx, eax
mov eax, dword [esp + 0x18]
add edx, eax
add edx, ecx
push edx
mov edx, dword [esp + 0x28]
add edx, esi
push edx
add eax, ecx
push eax
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.USER32.dll_SetRect]
xor eax, eax
inc eax
cmp dword [esp + 0x10], eax
jne 0x42d89a
fld dword [edi + 0x58]
call fcn.00460830
mov ecx, dword [ebp + 0x14]
add eax, ecx
cmp dword [esp + 0x2c], eax
jg 0x42d85c
mov dword [esp + 0x2c], eax
fld dword [edi + 0x54]
call fcn.00460830
mov ecx, dword [ebp + 0x10]
add eax, ecx
cmp dword [esp + 0x28], eax
jg 0x42d873
mov dword [esp + 0x28], eax
fld dword [edi + 0x5c]
call fcn.00460830
mov ecx, dword [ebp + 0x18]
sub ecx, eax
cmp dword [esp + 0x30], ecx
jl 0x42d88a
mov dword [esp + 0x30], ecx
fld dword [edi + 0x60]
call fcn.00460830
mov ecx, dword [ebp + 0x1c]
jmp 0x42d994
cmp dword [esp + 0x10], 2
jne case.default.0x42d62f
mov dword [edi + 0xf4], eax
jmp case.default.0x42d62f
mov esi, edi
call fcn.0042d07b
mov ecx, dword [ebx]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 8]
sub eax, dword [esp + 0x20]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
jns 0x42d8d4
and dword [esp + 0x14], 0
jmp 0x42d8d8
mov dword [esp + 0x14], eax
mov esi, edi
call fcn.0042d09c
mov ecx, dword [ebx + 4]
mov esi, eax
mov eax, dword [ebx + 0xc]
sub eax, esi
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
jns 0x42d8f6
xor edx, edx
jmp 0x42d8f8
mov edx, eax
cmp dword [esp + 0x10], 4
jne 0x42d91c
mov eax, dword [ebx]
add esi, ecx
add esi, edx
push esi
mov esi, dword [esp + 0x24]
add esi, eax
add esi, dword [esp + 0x18]
add ecx, edx
push esi
push ecx
mov ecx, dword [esp + 0x20]
add eax, ecx
jmp 0x42d939
cmp dword [esp + 0x10], 5
jne 0x42d945
mov eax, dword [ebx]
mov edx, dword [esp + 0x20]
add esi, ecx
push esi
lea esi, [edx + eax]
mov edx, dword [esp + 0x18]
add esi, edx
push esi
push ecx
add eax, edx
push eax
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.USER32.dll_SetRect]
fld dword [edi + 0x54]
call fcn.00460830
mov ecx, dword [ebx]
add eax, ecx
cmp dword [esp + 0x28], eax
jg 0x42d95b
mov dword [esp + 0x28], eax
fld dword [edi + 0x58]
call fcn.00460830
mov ecx, dword [ebx + 4]
add eax, ecx
cmp dword [esp + 0x2c], eax
jg 0x42d972
mov dword [esp + 0x2c], eax
fld dword [edi + 0x5c]
call fcn.00460830
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp dword [esp + 0x30], ecx
jl 0x42d989
mov dword [esp + 0x30], ecx
fld dword [edi + 0x60]
call fcn.00460830
mov ecx, dword [ebx + 0xc]
sub ecx, eax
cmp dword [esp + 0x34], ecx
jl case.default.0x42d62f
mov dword [esp + 0x34], ecx
jmp case.default.0x42d62f
mov esi, edi
call fcn.0042d07b
mov dword [esp + 0x14], eax
call fcn.0042d09c
cmp dword [esp + 0x10], 6
mov ecx, eax
jne 0x42d9d4
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push eax
push edx
sub eax, ecx
sub edx, dword [esp + 0x1c]
push eax
push edx
jmp 0x42da4a
mov eax, dword [esp + 0x10]
cmp eax, 7
jne 0x42d9ee
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx]
mov esi, dword [esp + 0x14]
push eax
add esi, edx
push esi
sub eax, ecx
jmp 0x42d9d0
cmp eax, 8
jne 0x42d9f8
mov edx, dword [ebx + 4]
jmp 0x42da3d
cmp eax, 9
jne 0x42da0e
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
add ecx, eax
push ecx
mov ecx, dword [esp + 0x18]
add ecx, edx
push ecx
jmp 0x42d9d0
cmp eax, 0xa
jne 0x42da26
mov esi, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
sub eax, esi
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, esi
jmp 0x42da00
cmp eax, 0xb
jne 0x42da55
mov esi, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
sub eax, esi
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [eax + esi]
mov eax, dword [ebx + 8]
add ecx, edx
push ecx
push eax
sub eax, dword [esp + 0x1c]
push edx
push eax
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [ebx]
cmp dword [esp + 0x28], eax
jg 0x42da61
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 4]
cmp dword [esp + 0x2c], eax
jg 0x42da6e
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 8]
cmp dword [esp + 0x30], eax
jl 0x42da7b
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0xc]
cmp dword [esp + 0x34], eax
jl case.default.0x42d62f
mov dword [esp + 0x34], eax
jmp case.default.0x42d62f
mov esi, edi
call fcn.0042d07b
mov dword [esp + 0x20], eax
call fcn.0042d09c
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xf0]
test eax, eax
je 0x42de74
mov ecx, dword [ebx + 8]
sub ecx, dword [ebx]
lea esi, [eax + 0xdc]
mov eax, dword [esi + 8]
sub eax, dword [esi]
add eax, dword [esp + 0x20]
cmp eax, ecx
jle 0x42dadb
mov eax, dword [esi + 0xc]
push eax
push 0
push eax
push 0
push esi
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 8]
add edx, eax
push edx
mov edx, dword [esp + 0x24]
add edx, ecx
push edx
push eax
push ecx
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.USER32.dll_SetRect]
push dword [ebx + 4]
lea eax, [esp + 0x2c]
push dword [ebx]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [ebx + 0xc]
cmp dword [esp + 0x34], eax
jl 0x42db19
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 8]
cmp dword [esp + 0x30], eax
jl 0x42db26
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
add dword [esi + 8], eax
mov eax, dword [esi + 4]
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x14]
sub edx, eax
cmp ecx, edx
jle case.default.0x42d62f
add eax, ecx
mov dword [esi + 0xc], eax
fld dword [edi + 0x44]
call fcn.00460830
fld dword [edi + 0x48]
add dword [esp + 0x28], eax
call fcn.00460830
fld dword [edi + 0x4c]
add dword [esp + 0x2c], eax
call fcn.00460830
fld dword [edi + 0x50]
sub dword [esp + 0x30], eax
call fcn.00460830
sub dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x28]
jns 0x42db84
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x2c]
jns 0x42db96
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
cmp dword [edi + 0x88], 0
je 0x42dc33
mov eax, dword [edi]
cmp eax, 0xe
je 0x42dbfb
cmp eax, 0xf
je 0x42dbfb
cmp eax, 0xd
je 0x42dbe2
cmp eax, 0x10
je 0x42dbe2
cmp eax, 0xc
je 0x42dc33
fldz
fcom dword [edi + 4]
fnstsw ax
test ah, 0x44
jnp 0x42dbe4
mov esi, dword [esp + 0x30]
fld dword [edi + 4]
sub esi, dword [esp + 0x28]
call fcn.00460830
cmp eax, esi
jle 0x42dbe4
fstp st(0)
jmp 0x42dc1b
fldz
fcomp dword [edi + 8]
fnstsw ax
test ah, 0x44
jnp 0x42dc33
mov esi, dword [esp + 0x34]
fld dword [edi + 8]
sub esi, dword [esp + 0x2c]
jmp 0x42dc12
fldz
fcomp dword [edi + 4]
fnstsw ax
test ah, 0x44
jnp 0x42dc33
mov esi, dword [esp + 0x30]
fld dword [edi + 4]
sub esi, dword [esp + 0x28]
call fcn.00460830
cmp eax, esi
jle 0x42dc33
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.USER32.dll_SetRectEmpty]
lea esi, [esp + 0x58]
mov edi, ebx
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 edi, dword [ebp + 8]
xor eax, eax
inc eax
cmp dword [edi + 0x8c], 0
je 0x42dc45
mov dword [edi + 0xf4], eax
and dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
cmp dword [edi + 0x90], eax
je 0x42dc69
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_EqualRect]
test eax, eax
jne 0x42dc7d
mov edi, dword [esp + 0x18]
lea esi, [esp + 0x28]
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 [esp + 0x10], 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb4]
push eax
lea ebx, [esp + 0x3c]
mov dword [esp + 0x24], ecx
call fcn.0042d27d
fldz
mov esi, dword [esp + 0x18]
mov ebx, dword [ebp + 8]
fcom dword [ebx + 0x94]
lea edi, [esp + 0x48]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fnstsw ax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test ah, 0x41
jnp 0x42dcd7
fcomp dword [ebx + 0x98]
fnstsw ax
test ah, 5
jnp 0x42dcd9
xor esi, esi
cmp dword [ebx + 0xac], esi
jne 0x42dcd9
cmp dword [ebx + 0xb0], esi
je 0x42ddc5
jmp 0x42dcd9
fstp st(0)
cmp dword [ebx + 0xb0], 0
je 0x42dd59
lea esi, [esp + 0x58]
lea edi, [esp + 0x68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp + 0x10]
lea edi, [esp + 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [esp + 0x6c], 0
movsd dword es:[edi], dword [esi]
and dword [esp + 0x5c], 0
sub esp, 0x10
mov edi, esp
mov eax, 0x186a0
mov dword [esp + 0x74], eax
lea esi, [esp + 0x68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov dword [esp + 0x94], eax
mov edi, esp
lea esi, [esp + 0x88]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x88]
movsd dword es:[edi], dword [esi]
push eax
push dword [esp + 0x40]
movsd dword es:[edi], dword [esi]
call fcn.0042d3fb
mov eax, dword [esp + 0x74]
sub eax, dword [esp + 0x6c]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
mov eax, ebx
fstp dword [eax + 0x98]
fldz
lea ecx, [ebx + 0x98]
fcomp dword [ecx]
fnstsw ax
test ah, 0x41
jp 0x42ddb9
mov esi, dword [esp + 0x44]
fld dword [ecx]
sub esi, dword [esp + 0x3c]
call fcn.00460830
cmp esi, eax
mov ecx, esi
jg 0x42dd81
mov ecx, eax
mov edx, dword [esp + 0x3c]
lea esi, [edx + ecx]
mov ecx, dword [esp + 0x54]
sub ecx, dword [esp + 0x4c]
cmp ecx, eax
mov edx, ecx
jg 0x42dd98
mov edx, eax
mov ecx, dword [ebx + 0xa8]
mov eax, dword [esp + 0x4c]
sub dword [esp + 0x3c], ecx
sub esi, ecx
sub eax, ecx
lea ecx, [eax + edx]
mov dword [esp + 0x44], esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x4c], eax
mov dword [ebx + 0xf4], 1
xor esi, esi
cmp dword [esp + 0x10], esi
je 0x42ddf1
cmp dword [ebp + 0x20], esi
jne 0x42ddf1
mov ecx, dword [ebx + 0xec]
cmp ecx, esi
je 0x42dde9
push dword [esp + 0x18]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov dword [esp + 0x14], eax
jmp 0x42ddf1
mov dword [esp + 0x14], 1
lea eax, [ebx + 0xdc]
push eax
call dword [sym.imp.USER32.dll_SetRectEmpty]
cmp dword [esp + 0x20], esi
je 0x42de41
lea ecx, [esp + 0x20]
call fcn.0041af0d
push dword [ebp + 0x20]
mov eax, dword [eax]
mov ecx, dword [ebx + 0xf4]
sub esp, 0x10
mov edi, esp
lea esi, [esp + 0x5c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [eax + 0xf4], ecx
lea ecx, [esp + 0x4c]
movsd dword es:[edi], dword [esi]
push ecx
mov ecx, dword [esp + 0x34]
push eax
movsd dword es:[edi], dword [esi]
call fcn.0042d4b1
cmp dword [esp + 0x20], 0
jne 0x42de04
xor esi, esi
cmp dword [esp + 0x14], esi
jne 0x42de63
cmp dword [ebp + 0x20], esi
jne 0x42de68
mov ebx, dword [ebx + 0xec]
cmp ebx, esi
je 0x42de74
push dword [esp + 0x18]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
cmp dword [ebp + 0x20], esi
je 0x42de74
mov edi, dword [esp + 0x18]
lea esi, [esp + 0x78]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c