Function at 0x43d840
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4d06a1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a0
push ebx
push ebp
push esi
push edi
mov eax, dword [ecx + 0x1c]
fld dword [ecx + 0x10]
mov edx, dword [ecx + 0x20]
fchs
mov dword [esp + 0x90], eax
fst dword [esp + 0x84]
mov eax, dword [ecx + 0x24]
fld dword [ecx + 0x14]
mov dword [esp + 0x94], edx
fchs
mov edx, dword [ecx + 0x28]
fld st(0)
mov dword [esp + 0x98], eax
fstp dword [esp + 0x70]
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0xa0], edx
mov edx, dword [ecx + 0x30]
mov dword [esp + 0xa4], eax
mov eax, dword [ecx + 0x34]
mov dword [esp + 0xa8], edx
mov edx, dword [ecx + 0x38]
mov dword [esp + 0xb0], eax
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0xb4], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0xb8], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0xc0], edx
mov edx, dword [ecx + 0xc]
mov dword [esp + 0xc4], eax
mov eax, dword [ecx + 0x10]
mov esi, dword [esp + 0x84]
mov dword [esp + 0xc8], edx
or edx, 0xffffffff
mov dword [esp + 0x6c], eax
mov dword [esp + 0x9c], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xcc], 0x3f800000
mov dword [esp + 0x10], edx
lea eax, [esp + 0x150]
mov ebp, 1
jmp 0x43d940
fild dword [esp + 0x10]
mov edi, eax
add eax, 0xc
add edx, 2
fmul dword [ecx + 0x18]
mov dword [esp + 0x10], edx
fld dword [ecx + 0x14]
fld st(3)
fstp dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov dword [edi], ebx
fstp dword [esp + 0x1c]
mov ebx, dword [esp + 0x1c]
mov dword [edi + 4], ebx
fst dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
fld dword [ecx + 0x14]
mov dword [edi + 8], ebx
mov edi, dword [ecx + 0x10]
fstp dword [esp + 0x7c]
mov dword [esp + 0x78], edi
mov ebx, dword [esp + 0x78]
fst dword [esp + 0x80]
mov edi, eax
fld st(1)
mov dword [edi], ebx
fstp dword [esp + 0x88]
mov ebx, dword [esp + 0x7c]
mov dword [edi + 4], ebx
fst dword [esp + 0x8c]
mov ebx, dword [esp + 0x80]
mov dword [edi + 8], ebx
mov ebx, dword [esp + 0x88]
add eax, 0xc
mov edi, eax
mov dword [edi], esi
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x8c]
mov dword [edi + 8], ebx
mov ebx, dword [esp + 0x6c]
add eax, 0xc
mov edi, eax
mov dword [edi], ebx
mov ebx, dword [esp + 0x70]
fstp dword [esp + 0x74]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x74]
add eax, 0xc
cmp edx, ebp
mov dword [edi + 8], ebx
jle 0x43d940
mov edx, 3
fstp st(0)
xor esi, esi
fstp st(0)
mov ecx, 5
mov edi, 2
mov eax, 6
mov word [esp + 0x2c], dx
mov word [esp + 0x3a], cx
mov word [esp + 0x3e], cx
mov word [esp + 0x40], dx
mov word [esp + 0x42], dx
mov word [esp + 0x44], cx
mov word [esp + 0x4a], dx
mov word [esp + 0x4e], dx
mov word [esp + 0x64], cx
mov word [esp + 0x66], cx
mov edx, 7
mov word [esp + 0x24], si
mov word [esp + 0x28], di
mov word [esp + 0x2e], di
mov word [esp + 0x30], si
mov word [esp + 0x48], di
mov word [esp + 0x54], di
mov word [esp + 0x58], si
mov word [esp + 0x5a], si
mov ebx, 4
mov word [esp + 0x50], dx
mov word [esp + 0x6a], dx
mov edx, dword [esp + 0x1c4]
mov word [esp + 0x4c], ax
mov word [esp + 0x52], ax
mov word [esp + 0x56], ax
mov word [esp + 0x5c], ax
mov word [esp + 0x62], ax
mov word [esp + 0x68], ax
mov eax, dword [edx]
mov ecx, 0x10
lea esi, [esp + 0x90]
lea edi, [esp + 0xd0]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xd0]
push ecx
add eax, ebx
push eax
lea ecx, [esp + 0x98]
push ecx
mov word [esp + 0x32], bp
mov word [esp + 0x36], bp
mov word [esp + 0x3e], bx
mov word [esp + 0x40], bp
mov word [esp + 0x42], bp
mov word [esp + 0x44], bx
mov word [esp + 0x48], bp
mov word [esp + 0x52], 7
mov word [esp + 0x6a], bx
mov word [esp + 0x6c], bx
call fcn.00421aaa
mov eax, dword [0x51aa30]
mov ecx, 0x10
lea esi, [esp + 0x90]
lea edi, [esp + 0x110]
mov dword [esp + 0x10], eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
or ebx, 0xffffffff
cmp ecx, ebp
je 0x43db5c
cmp ecx, ebx
je 0x43db37
dec ecx
mov dword [eax], ecx
mov esi, dword [esp + 0x10]
push 0x44
call fcn.004354d0
mov dword [esp + 0x14], eax
mov dword [eax], ebp
mov edi, dword [esp + 0x14]
add esi, 4
add esp, 4
add edi, 4
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x10]
add edi, 4
mov ecx, 0x10
lea esi, [esp + 0x110]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x1c0]
lea edx, [esp + 0x10]
push edx
mov ecx, esi
mov dword [esp + 0x1bc], 0
call fcn.0043a5e0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
cmp ecx, ebx
mov dword [esp + 0x1b8], ebx
je 0x43dbb7
mov edx, ecx
dec edx
mov dword [eax], edx
mov eax, dword [esp + 0x10]
cmp dword [eax], 0
jg 0x43dbb7
push eax
call fcn.004352c0
add esp, 4
mov edx, dword [0x4dd6a0]
mov eax, dword [esi + 0xf0]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + pe_nt_image_headers32]
test eax, eax
jge 0x43dc08
push eax
call fcn.0042ef38
push eax
lea ecx, [esp + 0x14]
call fcn.00431b00
push 0x71
push str.c:my_documentsg_e_n_i_m_oprojects_butterfly_escapecodecommondirectxDX.inl
push eax
mov dword [esp + 0x1c4], ebp
call fcn.004324b0
add esp, 0xc
lea ecx, [esp + 0x10]
mov dword [esp + 0x1b8], ebx
call fcn.00431a00
mov eax, dword [0x4dd720]
mov ecx, dword [0x4dd724]
lea eax, [eax + eax*2]
shl eax, 2
test ecx, ecx
je 0x43dc22
imul ecx, ecx, 0xb
sub eax, ecx
mov ecx, dword [esi + 0xf0]
mov esi, dword [0x4dd6a4]
mov edx, dword [ecx]
push esi
lea esi, [esp + 0x154]
push esi
push 0x65
lea esi, [esp + 0x30]
push esi
push 0xc
push eax
mov eax, dword [0x4dd71c]
push 0
push eax
push ecx
call dword [edx + 0x124]
test eax, eax
jge 0x43dc91
push eax
call fcn.0042ef38
push eax
lea ecx, [esp + 0x1c]
call fcn.00431b00
push 0x72
push str.c:my_documentsg_e_n_i_m_oprojects_butterfly_escapecodecommondirectxDX.inl
push eax
mov dword [esp + 0x1c4], 2
call fcn.004324b0
add esp, 0xc
lea ecx, [esp + 0x18]
mov dword [esp + 0x1b8], ebx
call fcn.00431a00
mov ecx, dword [esp + 0x1b0]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1ac
ret 8