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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x100
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
movaps xmmword [esp + 0xb0], xmm0
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [eax]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x14]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], eax
xor ecx, ecx
nop dword [eax + eax]
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + ecx*4]
mov eax, ebx
mov dword [esp + 0x10], ebx
mul dword [esp + 0x40]
add dword [esp + ecx*4 + 0xa0], eax
mov edi, edx
mov eax, ebx
adc edi, 0
cmp ecx, 7
jb 0x534370
mul dword [esp + 0x1c]
mov esi, edx
add edi, eax
adc esi, 0
add dword [esp + ecx*4 + 0x54], edi
adc esi, 0
jmp 0x53438e
mul dword [esp + 0x1c]
mov esi, edx
add edi, eax
adc esi, 0
add dword [esp + ecx*4 + 0xa4], edi
adc esi, 0
cmp ecx, 6
jne 0x534430
mov eax, ebx
mul dword [esp + 0x2c]
mov edi, edx
add eax, esi
adc edi, 0
add dword [esp + ecx*4 + 0x58], eax
adc edi, 0
mov eax, ebx
mul dword [esp + 0x18]
mov esi, edx
add eax, edi
adc esi, 0
add dword [esp + ecx*4 + 0x5c], eax
adc esi, 0
mov eax, ebx
mul dword [esp + 0x20]
mov edi, edx
add eax, esi
adc edi, 0
add dword [esp + ecx*4 + 0x60], eax
adc edi, 0
mov eax, ebx
mov esi, ebx
mul dword [esp + 0xc]
mov ebx, edx
add eax, edi
adc ebx, 0
add dword [esp + ecx*4 + 0x64], eax
adc ebx, 0
mov eax, esi
mul dword [esp + 0x28]
mov esi, edx
add eax, ebx
adc esi, 0
add dword [esp + ecx*4 + 0x68], eax
adc esi, 0
mov edi, 0xffffffff
lea ebx, [esp + 0x70]
mov eax, dword [esp + 0x10]
add edi, ecx
mul dword [esp + 0x34]
add eax, esi
adc edx, 0
add dword [ebx + edi*4], eax
adc edx, 0
mov dword [esp + ecx*4 + 0x70], edx
inc ecx
cmp ecx, 8
jne 0x534330
jmp 0x5344e2
mov eax, ebx
mul dword [esp + 0x2c]
mov edi, edx
add esi, eax
adc edi, 0
add dword [esp + ecx*4 + 0xa8], esi
adc edi, 0
cmp ecx, 5
jae 0x5343a2
mov eax, ebx
mul dword [esp + 0x18]
mov esi, edx
add edi, eax
adc esi, 0
add dword [esp + ecx*4 + 0xac], edi
adc esi, 0
cmp ecx, 4
je 0x5343b6
mov eax, ebx
mul dword [esp + 0x20]
mov edi, edx
add esi, eax
adc edi, 0
add dword [esp + ecx*4 + 0xb0], esi
adc edi, 0
cmp ecx, 3
jae 0x5343ca
mov eax, ebx
mov esi, ebx
mul dword [esp + 0xc]
mov ebx, edx
add edi, eax
adc ebx, 0
add dword [esp + ecx*4 + 0xb4], edi
adc ebx, 0
cmp ecx, 2
je 0x5343e0
mov eax, esi
mul dword [esp + 0x28]
mov esi, edx
add ebx, eax
adc esi, 0
add dword [esp + ecx*4 + 0xb8], ebx
adc esi, 0
test ecx, ecx
jne 0x5343f4
mov edi, 7
lea ebx, [esp + 0xa0]
jmp 0x5343fd
mov eax, dword [esp + 0xbc]
movups xmm1, xmmword [esp + 0x7c]
movss xmm4, dword [esp + 0x84]
movups xmm0, xmmword [esp + 0x78]
movss xmm3, dword [esp + 0x80]
mov esi, dword [esp + 0xb8]
mov edx, dword [esp + 0x74]
movd xmm2, dword [esp + 0x70]
mov ecx, dword [esp + 0xa0]
unpcklps xmm1, xmm4
mov dword [esp + 0x34], eax
movd xmm4, eax
mov eax, dword [esp + 0xac]
unpcklps xmm0, xmm3
movd xmm5, esi
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x40], esi
mov dword [esp + 0xdc], edx
unpcklps xmm0, xmm1
movd xmm1, edx
punpckldq xmm5, xmm2
punpckldq xmm4, xmm1
punpckldq xmm5, xmm4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x28], ecx
movdqa xmmword [esp + 0xe0], xmm5
lea ecx, [esp + 0x70]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xb0]
movdqu xmmword [esp + 0xa0], xmm5
movups xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xa0]
push eax
push ecx
call fcn.00533210
add esp, 8
mov ebx, dword [esp + 0x70]
mov ecx, 0xfc632551
pshufd xmm0, xmmword [esp + 0xe0], 0xee
mov eax, ebx
mov dword [esp + 0xc], ebx
mul ecx
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x74]
mov edi, edx
mov dword [esp + 0x10], eax
mul ecx
mov ecx, eax
mov esi, edx
mov edx, 0xf3b9cac2
mov eax, ebx
add ecx, edi
mov edi, dword [esp + 0x10]
adc esi, 0
mul edx
mov ebx, edx
add eax, ecx
mov edx, 0xf3b9cac2
adc ebx, esi
mov dword [esp + 0xd4], eax
mov esi, dword [esp + 0xc]
mov eax, edi
setb cl
mul edx
add eax, ebx
mov dword [esp + 0x58], eax
movzx eax, cl
mov ecx, 0xa7179e84
adc edx, eax
mov eax, esi
mov dword [esp + 0x14], edx
mul ecx
mov dword [esp + 0x24], eax
mov eax, edi
mov dword [esp + 0x54], edx
mul ecx
mov ecx, eax
mov ebx, edx
mov edx, 0xbce6faad
mov eax, esi
add ecx, dword [esp + 0x54]
adc ebx, 0
mul edx
mov esi, eax
mov eax, dword [esp + 0x10]
mov edi, edx
mov edx, 0xbce6faad
add esi, ecx
adc edi, ebx
setb cl
mul edx
movzx ecx, cl
mov ebx, edx
add eax, edi
adc ebx, ecx
mov ecx, dword [esp + 0x58]
add dword [esp + 0x24], ecx
mov ecx, 0xffffffff
adc esi, dword [esp + 0x14]
adc eax, 0
mov dword [esp + 0x6c], esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
adc ebx, 0
mul ecx
mov esi, eax
mov eax, dword [esp + 0x10]
mov edi, edx
mov dword [esp + 0xc], edx
mul ecx
mov ecx, eax
mov dword [esp + 0x10], edx
add ecx, edi
mov edi, edx
mov edx, esi
adc edi, 0
mov dword [esp + 0x54], ecx
add esi, ecx
mov ecx, dword [esp + 0xc]
adc ecx, edi
setb byte [esp + 0xc]
add ecx, eax
movzx eax, byte [esp + 0xc]
adc eax, dword [esp + 0x10]
add dword [esp + 0x14], edx
adc esi, ebx
adc ecx, 0
mov dword [esp + 0x38], esi
adc eax, 0
mov dword [esp + 0xc], ecx
mov ecx, 0xfc632551
add eax, edx
adc dword [esp + 0x54], 0
mov dword [esp + 0x50], eax
adc edi, 0
mov dword [esp + 0xd0], edi
mov edi, dword [esp + 0x78]
mov eax, edi
mov dword [esp + 0x10], edi
mul ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x7c]
mov esi, edx
mov dword [esp + 0x30], eax
mul ecx
mov ebx, eax
mov ecx, edx
mov eax, edi
mov edx, 0xf3b9cac2
add ebx, esi
mov esi, dword [esp + 0x30]
adc ecx, 0
mul edx
add eax, ebx
mov edi, edx
mov edx, 0xf3b9cac2
adc edi, ecx
mov ebx, eax
mov eax, esi
setb cl
mul edx
add eax, edi
mov edi, eax
movzx eax, cl
mov ecx, 0xa7179e84
adc edx, eax
mov eax, dword [esp + 0x24]
add dword [esp + 0x58], eax
adc ebx, dword [esp + 0x6c]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x10]
adc edi, 0
adc edx, 0
mov dword [esp + 0x68], edi
mov dword [esp + 0x4c], edx
mov eax, ebx
mul ecx
mov dword [esp + 0x24], eax
mov eax, esi
mov dword [esp + 0x48], edx
mul ecx
mov edi, eax
mov ecx, edx
mov eax, ebx
mov edx, 0xbce6faad
add edi, dword [esp + 0x48]
adc ecx, 0
mul edx
mov esi, eax
mov ebx, edx
mov edx, 0xbce6faad
add esi, edi
adc ebx, ecx
mov ecx, dword [esp + 0x30]
setb byte [esp + 0x48]
mov eax, ecx
mul edx
mov edi, eax
movzx eax, byte [esp + 0x48]
add edi, ebx
adc edx, eax
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x14]
adc esi, dword [esp + 0x38]
adc edi, 0
adc edx, 0
add eax, dword [esp + 0x68]
adc esi, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
adc edi, 0
mov dword [esp + 0x4c], esi
adc edx, 0
mov dword [esp + 0x14], edx
mov edx, 0xffffffff
mul edx
mov ebx, eax
mov eax, ecx
mov ecx, 0xffffffff
mov esi, edx
mul ecx
mov ecx, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], edx
mov eax, esi
add ecx, esi
mov esi, ebx
adc edx, 0
add ecx, ebx
adc edx, eax
setb al
add edx, dword [esp + 0x30]
mov ebx, edx
movzx edx, al
mov eax, dword [esp + 0xc]
adc edx, dword [esp + 0x38]
add eax, esi
mov esi, dword [esp + 0x80]
adc ecx, dword [esp + 0x50]
mov dword [esp + 0x50], esi
adc ebx, 0
adc edx, 0
add eax, edi
adc ecx, dword [esp + 0x14]
mov dword [esp + 0xc], eax
mov eax, esi
adc ebx, 0
mov dword [esp + 0x30], ecx
mov ecx, 0xfc632551
adc edx, 0
mov dword [esp + 0x48], ebx
mov dword [esp + 0x68], edx
mul ecx
mov ebx, eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x38], edx
mov dword [esp + 0x14], eax
mul ecx
mov edi, eax
mov ecx, edx
mov eax, esi
mov edx, 0xf3b9cac2
add edi, dword [esp + 0x38]
adc ecx, 0
mul edx
add eax, edi
mov esi, edx
mov edx, 0xf3b9cac2
adc esi, ecx
mov ecx, dword [esp + 0x14]
mov edi, eax
setb byte [esp + 0x38]
mov eax, ecx
mul edx
add eax, esi
mov esi, eax
movzx eax, byte [esp + 0x38]
adc edx, eax
add ebx, dword [esp + 0x24]
adc edi, dword [esp + 0x4c]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x50]
adc esi, 0
mov eax, ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x60], esi
adc edx, 0
mov esi, 0xa7179e84
mov dword [esp + 0x64], edx
mul esi
mov dword [esp + 0x24], eax
mov eax, ecx
mov edi, edx
mul esi
mov ecx, eax
mov esi, edx
mov eax, ebx
mov edx, 0xbce6faad
add ecx, edi
adc esi, 0
mul edx
mov ebx, eax
mov eax, dword [esp + 0x14]
mov edi, edx
mov edx, 0xbce6faad
add ebx, ecx
adc edi, esi
mov esi, dword [esp + 0x88]
setb cl
mul edx
movzx ecx, cl
add eax, edi
adc edx, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x5c], esi
add ecx, dword [esp + 0xc]
adc ebx, dword [esp + 0x30]
adc eax, 0
adc edx, 0
add ecx, dword [esp + 0x60]
adc ebx, dword [esp + 0x64]
mov dword [esp + 0x24], ecx
mov ecx, 0xfc632551
adc eax, 0
mov dword [esp + 0x60], eax
adc edx, 0
mov eax, esi
mov dword [esp + 0x64], edx
mul ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x30], edx
mov dword [esp + 0xcc], eax
mul ecx
mov edi, eax
mov ecx, edx
mov eax, esi
mov edx, 0xf3b9cac2
add edi, dword [esp + 0x30]
adc ecx, 0
mul edx
mov esi, edx
add eax, edi
mov edx, 0xf3b9cac2
adc esi, ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x30], eax
setb byte [esp + 0x47]
mov eax, ecx
mul edx
mov edi, eax
movzx eax, byte [esp + 0x47]
add edi, esi
mov esi, dword [esp + 0x5c]
adc edx, eax
mov eax, dword [esp + 0x24]
add dword [esp + 0xc], eax
mov eax, esi
adc dword [esp + 0x30], ebx
adc edi, 0
adc edx, 0
mov dword [esp + 0x24], edx
mov edx, 0x58e8617c
mul edx
mov ebx, eax
imul eax, ecx, 0x58e8617c
imul ecx, esi, 0x43190552
mov esi, dword [esp + 0x90]
add eax, edx
mov edx, 0x39cdaaf
add ecx, eax
mov eax, esi
mul edx
mov dword [esp + 0x5c], eax
imul eax, dword [esp + 0x94], 0x39cdaaf
add eax, edx
imul edx, esi, 0xc46353d
mov esi, 0
add edx, eax
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x14]
add ebx, dword [esp + 0x50]
adc eax, ecx
add ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
adc eax, edx
mov edx, eax
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x54]
adc ecx, dword [esp + 0xd0]
add eax, dword [esp + 0x60]
adc ecx, dword [esp + 0x64]
add eax, edi
mov edi, dword [esp + 0x20]
adc ecx, dword [esp + 0x24]
sub ebx, eax
mov eax, dword [esp + 0xd8]
sbb edx, ecx
sub dword [esp + 0x3c], eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], edx
mov edx, 0
sbb dword [esp + 0x28], eax
mov eax, 0
sbb eax, eax
mov eax, 0
sbb edx, edx
sar edx, 0x1f
sub edi, dword [esp + 0x58]
sbb ecx, dword [esp + 0x6c]
sbb esi, esi
sbb eax, eax
add edi, edx
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x2c]
adc ecx, edx
adc esi, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x1c]
mov esi, 0
adc eax, edx
mov edx, 0
sar eax, 0x1f
sub edi, dword [esp + 0x38]
sbb ecx, dword [esp + 0x4c]
sbb esi, esi
sbb edx, edx
add edi, eax
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x40]
adc ecx, eax
adc esi, eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x34]
mov esi, 0
adc edx, eax
mov eax, 0
sar edx, 0x1f
sub edi, dword [esp + 0xc]
sbb ecx, dword [esp + 0x30]
sbb esi, esi
sbb eax, eax
add edi, edx
adc ecx, edx
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x10]
adc esi, edx
adc eax, edx
movd edx, xmm0
sar eax, 0x1f
add edx, ebx
mov ebx, dword [esp + 0x20]
adc ecx, dword [esp + 0xdc]
add edx, eax
mov esi, edx
adc ecx, eax
add dword [esp + 0x3c], 0x39cdaaf
mov eax, 0
mov edx, ecx
mov ecx, 0
adc dword [esp + 0x28], 0xc46353d
adc eax, 0xffffffff
adc ecx, 0xffffffff
sar ecx, 0x1f
add ebx, ecx
mov eax, ecx
adc edi, ecx
adc eax, 0
adc ecx, 0
add ebx, 0x58e8617c
adc edi, 0x43190552
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x2c]
adc eax, 0xffffffff
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x1c]
adc ecx, 0xffffffff
sar ecx, 0x1f
add ebx, ecx
mov eax, ecx
adc edi, ecx
adc eax, 0
adc ecx, 0
add ebx, 1
adc edi, 0
mov dword [esp + 0x2c], ebx
adc eax, 0xffffffff
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x34]
adc ecx, 0xffffffff
sar ecx, 0x1f
add dword [esp + 0x40], ecx
mov eax, ecx
adc edi, ecx
adc eax, 0
adc ecx, 0
add edi, 1
adc eax, 0xffffffff
mov dword [esp + 0x34], edi
adc ecx, 0xffffffff
sar ecx, 0x1f
add esi, ecx
adc edx, ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
mov edx, ecx
adc edx, 0
adc ecx, 0
mov eax, edx
mov dword [esp + 0xc], edx
and edx, 0xa7179e84
mov ebx, ecx
mov edi, ecx
and eax, 0xfc632551
and ebx, 0xf3b9cac2
and edi, 0xbce6faad
add edx, dword [esp + 0x20]
adc edi, dword [esp + 0x18]
mov esi, edx
setb dl
add eax, dword [esp + 0x3c]
adc ebx, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
movzx eax, dl
adc esi, 0
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
adc edi, 0
mov esi, eax
setb dl
adc esi, 0
mov esi, dword [esp + 0xc]
setb byte [esp + 0x28]
add esi, dword [esp + 0x2c]
adc ebx, ecx
setb dh
add dl, 0xff
adc esi, eax
movzx eax, byte [esp + 0x28]
mov dword [esp + 0xc], esi
movzx esi, dh
adc eax, ebx
mov dword [esp + 0x1c], eax
mov eax, esi
setb dl
adc eax, 0
setb dh
xor eax, eax
add ecx, dword [esp + 0x34]
setb al
add dl, 0xff
movzx edx, dh
adc dword [esp + 0x40], esi
mov ebx, eax
adc edx, ecx
mov ecx, 0
mov dword [esp + 0x34], edx
setb dl
adc ebx, 0
mov ebx, dword [esp + 0x14]
setb dh
add dl, 0xff
adc ebx, eax
movzx eax, dh
mov edx, dword [esp + 0x18]
adc eax, dword [esp + 0x10]
add dword [esp + 0x3c], 0x39cdaaf
adc dword [esp + 0x20], 0xc46353d
mov dword [esp + 0x2c], eax
mov eax, 0
adc eax, 0xffffffff
adc ecx, 0xffffffff
sar ecx, 0x1f
add edx, ecx
mov eax, ecx
adc edi, ecx
adc eax, 0
adc ecx, 0
add edx, 0x58e8617c
adc edi, 0x43190552
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xc]
adc eax, 0xffffffff
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], edi
adc ecx, 0xffffffff
sar ecx, 0x1f
add edx, ecx
mov esi, ecx
adc eax, ecx
adc esi, 0
adc ecx, 0
add edx, 1
adc eax, 0
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x34]
adc esi, 0xffffffff
mov dword [esp + 0x1c], eax
adc ecx, 0xffffffff
sar ecx, 0x1f
add dword [esp + 0x40], ecx
mov eax, ecx
adc edx, ecx
adc eax, 0
adc ecx, 0
add edx, 1
adc eax, 0xffffffff
mov dword [esp + 0x34], edx
adc ecx, 0xffffffff
sar ecx, 0x1f
add ebx, ecx
mov esi, ecx
mov dword [esp + 0x10], ecx
mov eax, ecx
adc dword [esp + 0x2c], ecx
adc esi, 0
mov ecx, esi
setb byte [esp + 0x2c]
adc eax, 0
mov edx, esi
mov ebx, ecx
mov edi, eax
mov esi, eax
and edx, 0xfc632551
and ebx, 0xa7179e84
and edi, 0xf3b9cac2
and esi, 0xbce6faad
add ebx, dword [esp + 0x18]
adc esi, dword [esp + 0x28]
setb byte [esp + 0x14]
add edx, dword [esp + 0x3c]
adc edi, dword [esp + 0x20]
mov dword [esp + 0x18], edx
adc ebx, 0
mov dword [esp + 0x20], edi
adc esi, 0
mov dword [esp + 0x28], esi
movzx esi, byte [esp + 0x14]
setb dh
mov edi, esi
adc edi, 0
setb byte [esp + 0x3c]
add ecx, dword [esp + 0xc]
adc eax, dword [esp + 0x1c]
setb dl
add dh, 0xff
adc ecx, esi
movzx esi, byte [esp + 0x3c]
movzx edx, dl
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x10]
mov edi, edx
adc esi, eax
setb al
add byte [esp + 0x2c], 0xff
mov ah, al
adc ecx, dword [esp + 0x34]
add ah, 0xff
adc edi, 0
mov edi, dword [esp + 0x18]
setb ah
add al, 0xff
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x40]
adc ecx, edx
movzx edx, ah
mov eax, dword [ebp + 8]
adc edx, dword [esp + 0x10]
mov dword [eax], edi
mov edi, dword [esp + 0x20]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x28]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
mov edi, dword [esp + 0x1c]
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], esi
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret