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

Disassembly:
sub esp, 0x6c
push ebx
mov ebx, dword [esp + 0x84]
mov edx, 1
push ebp
mov ebp, dword [esp + 0x84]
push esi
push edi
mov edi, dword [esp + 0x80]
mov eax, dword [edi + 0x5c]
mov esi, dword [edi + 4]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0xc0]
mov dword [esp + 0x80], eax
mov eax, dword [edi + 0xcc]
mov ecx, eax
neg ecx
mov dword [esp + 0x10], esi
sbb ecx, ecx
add eax, 2
add ecx, eax
mov eax, dword [edi + 8]
mov dword [esp + 0x3c], eax
mov eax, ebp
sub eax, esi
mov dword [esp + 0x58], ecx
mov ecx, dword [edi + 0xb8]
add eax, ebx
shl edx, cl
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x28], eax
sub eax, ecx
sub dword [esp + 0x28], edx
cmp eax, edx
mov edx, dword [esp + 0x28]
cmovbe edx, ecx
cmp dword [edi + 0x18], 0
cmovne edx, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], edx
lea eax, [edx + ecx]
mov dword [esp + 0x74], eax
mov eax, dword [edi + 0xc]
cmp eax, edx
cmovb eax, edx
add ecx, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], ecx
lea ecx, [ebx + ebp]
mov dword [esp + 0x1c], ecx
add ecx, 0xfffffff8
lea edx, [eax + esi]
mov dword [esp + 0x44], ecx
mov esi, ebp
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x88]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
cmp eax, dword [esp + 0x28]
jne 0x77e987
mov eax, dword [edi + 0xc8]
add eax, 0xfffffffc
cmp dword [edi + 0xcc], 1
jbe 0x77e8f7
cmp eax, 3
ja case.0x77e86c.0
jmp dword [eax*4 + 0x77f2e4]
push ebx
push ebp
push dword [esp + 0x90]
push dword [esp + 0x90]
push edi
call fcn.007807e0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
push ebx
push ebp
push dword [esp + 0x90]
push dword [esp + 0x90]
push edi
call fcn.00781630
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
push ebx
push ebp
push dword [esp + 0x90]
push dword [esp + 0x90]
push edi
call fcn.00782480
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
push ebx
push ebp
push dword [esp + 0x90]
push dword [esp + 0x90]
push edi
call fcn.0077fa20
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
cmp eax, 3
ja case.0x77e8fc.0
jmp dword [eax*4 + 0x77f2f4]
push ebx
push ebp
push dword [esp + 0x90]
push dword [esp + 0x90]
push edi
call fcn.007800d0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
push ebx
push ebp
push dword [esp + 0x90]
push dword [esp + 0x90]
push edi
call fcn.00780f20
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
push ebx
push ebp
push dword [esp + 0x90]
push dword [esp + 0x90]
push edi
call fcn.00781d70
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
push ebx
push ebp
push dword [esp + 0x90]
push dword [esp + 0x90]
push edi
call fcn.0077f390
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
mov edi, esi
xor ebp, ebp
mov eax, edi
mov ebx, edx
sub eax, dword [esp + 0x28]
sub eax, dword [esp + 0x10]
cmp edx, eax
cmovb ebx, ebp
mov dword [esp + 0x68], ebx
sbb ebx, ebx
and ebx, edx
cmp ecx, eax
mov edx, ecx
cmovb edx, ebp
mov ebp, dword [esp + 0x58]
sbb eax, eax
mov dword [esp + 0x78], edx
and eax, ecx
lea edx, [edi + 1]
add ebp, edi
mov dword [esp + 0x18], eax
lea eax, [edi + 0x80]
mov dword [esp + 0x24], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x5c], ebp
lea eax, [ebp + 1]
mov dword [esp + 0x30], eax
cmp eax, dword [esp + 0x44]
jae 0x77f2a8
mov eax, dword [esp + 0x80]
mov edi, 0x40
mov dword [esp + 0x40], ebx
sub edi, eax
mov ebx, dword [esp + 0x94]
mov ecx, 0x20
sub ecx, eax
mov dword [esp + 0x80], edi
mov eax, dword [esp + 0x18]
add ebx, 0xfffffffc
mov dword [esp + 0x90], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
cmp ebx, 4
ja case.0x77ea25.0
jmp dword [ebx*4 + 0x77f304]
push 0xcf1bbcdc
push 0xbb000000
push dword [esi + 4]
push dword [esi]
call fcn.007bcf30
mov ecx, edi
call fcn.007bcf90
mov edx, dword [esp + 0x24]
mov edi, eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x38], edi
jmp switch.0x0077ea93
push 0xcf1bbcdc
push 0xbf9b0000
jmp 0x77ea36
push 0xcf1bbcdc
push 0xbfa56300
jmp 0x77ea36
push 0xcf1bbcdc
push 0xb7a56463
jmp 0x77ea36
imul edi, dword [esi], 0x9e3779b1
shr edi, cl
mov dword [esp + 0x38], edi
cmp ebx, 4
ja case.0x77ea93.0
jmp dword [ebx*4 + 0x77f318]
push 0xcf1bbcdc
push 0xbb000000
push dword [edx + 4]
push dword [edx]
call fcn.007bcf30
mov ecx, dword [esp + 0x80]
call fcn.007bcf90
mov ebx, eax
jmp 0x77eb32
push 0xcf1bbcdc
push 0xbf9b0000
push dword [edx + 4]
push dword [edx]
call fcn.007bcf30
mov ecx, dword [esp + 0x80]
call fcn.007bcf90
mov ebx, eax
jmp 0x77eb32
push 0xcf1bbcdc
push 0xbfa56300
push dword [edx + 4]
push dword [edx]
call fcn.007bcf30
mov ecx, dword [esp + 0x80]
call fcn.007bcf90
mov ebx, eax
jmp 0x77eb32
push 0xcf1bbcdc
push 0xb7a56463
push dword [edx + 4]
push dword [edx]
call fcn.007bcf30
mov ecx, dword [esp + 0x80]
call fcn.007bcf90
mov ebx, eax
jmp 0x77eb32
imul ebx, dword [edx], 0x9e3779b1
shr ebx, cl
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
mov edi, dword [eax + edi*4]
mov eax, edx
cmp edi, dword [esp + 0x2c]
cmovb eax, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x64], eax
xor eax, eax
cmp eax, dword [esp + 0x18]
sbb eax, eax
neg eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x2c]
mov ecx, ebp
sub ecx, dword [esp + 0x18]
sub ecx, edx
cmp ecx, dword [esp + 0x2c]
mov dword [esp + 0x70], ecx
cmovb edx, dword [esp + 0x3c]
sub eax, ecx
add edx, ecx
cmp eax, 4
sbb eax, eax
inc eax
test dword [esp + 0x6c], eax
je 0x77eb8f
mov eax, dword [edx]
jmp 0x77eb95
mov eax, dword [ebp]
xor eax, 1
mov ebp, dword [esp + 0x38]
mov ecx, esi
sub ecx, dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x48], ecx
mov dword [eax + ebp*4], ecx
mov ebp, dword [esp + 0x5c]
mov ecx, dword [ebp]
cmp ecx, dword [esp + 0x60]
mov ecx, dword [esp + 0x70]
je 0x77edf1
mov ecx, dword [esp + 0x20]
cmp edi, dword [esp + 0x28]
jb 0x77ebd2
mov eax, dword [ecx + edi]
jmp 0x77ebd7
mov eax, dword [esi]
xor eax, 1
cmp dword [esi], eax
je 0x77ed6b
mov eax, dword [esp + 0x34]
mov edi, dword [eax + ebx*4]
lea ecx, [eax + ebx*4]
cmp edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
cmovb edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x20], edx
cmp eax, 4
ja case.0x77ec07.0
jmp dword [eax*4 + 0x77f32c]
push 0xcf1bbcdc
push 0xbb000000
push dword [ebp + 4]
push dword [ebp]
call fcn.007bcf30
mov ecx, dword [esp + 0x80]
call fcn.007bcf90
mov edx, dword [esp + 0x20]
mov ebx, eax
jmp 0x77ec6b
push 0xcf1bbcdc
push 0xbf9b0000
jmp 0x77ec18
push 0xcf1bbcdc
push 0xbfa56300
jmp 0x77ec18
push 0xcf1bbcdc
push 0xb7a56463
jmp 0x77ec18
imul ebx, dword [ebp], 0x9e3779b1
mov ecx, dword [esp + 0x90]
shr ebx, cl
mov esi, dword [esp + 0x24]
mov ecx, esi
mov eax, dword [esp + 0x70]
sub ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x48], ecx
mov dword [eax], ecx
cmp edi, dword [esp + 0x28]
jb 0x77ec8e
mov eax, dword [edx + edi]
jmp 0x77ec93
mov eax, dword [esi]
xor eax, 1
cmp dword [esi], eax
je 0x77ed67
mov eax, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
mov edi, dword [eax + ebx*4]
cmp edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
cmovb eax, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
cmp eax, 4
ja case.0x77ecc0.0
jmp dword [eax*4 + 0x77f340]
push 0xcf1bbcdc
push 0xbb000000
mov eax, dword [esp + 0x38]
push dword [eax + 4]
push dword [eax]
call fcn.007bcf30
mov ecx, dword [esp + 0x80]
call fcn.007bcf90
mov ebx, eax
jmp 0x77ed26
push 0xcf1bbcdc
push 0xbf9b0000
jmp 0x77ecd1
push 0xcf1bbcdc
push 0xbfa56300
jmp 0x77ecd1
push 0xcf1bbcdc
push 0xb7a56463
jmp 0x77ecd1
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x90]
imul ebx, dword [eax], 0x9e3779b1
shr ebx, cl
mov ecx, dword [esp + 0x30]
mov esi, ebp
mov eax, dword [esp + 0x64]
add ebp, eax
mov edx, dword [esp + 0x54]
mov dword [esp + 0x24], ecx
add ecx, eax
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x30], ecx
cmp ebp, edx
jb 0x77ed54
inc eax
sub edx, 0xffffff80
mov dword [esp + 0x64], eax
mov dword [esp + 0x54], edx
cmp ecx, dword [esp + 0x44]
jae 0x77f29d
mov edx, dword [esp + 0x10]
jmp 0x77eb62
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
mov ebp, 4
mov edx, dword [esp + 0x50]
sub eax, edi
cmp edi, dword [esp + 0x2c]
mov dword [esp + 0x38], ebp
cmovb edx, dword [esp + 0x74]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x1c]
cmovb edx, dword [esp + 0x4c]
mov dword [esp + 0x30], edx
lea edx, [ecx + edi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], eax
add eax, 3
cmp dword [esp + 0x64], edx
mov dword [esp + 0x40], ecx
sbb ecx, ecx
mov dword [esp + 0x60], eax
neg ecx
cmp dword [esp + 0x8c], esi
sbb eax, eax
neg eax
test eax, ecx
je 0x77ee24
mov al, byte [esi - 1]
cmp al, byte [edx - 1]
jne 0x77edeb
dec edx
inc ebp
dec esi
mov dword [esp + 0x38], ebp
cmp dword [esp + 0x64], edx
sbb ecx, ecx
neg ecx
cmp dword [esp + 0x8c], esi
sbb eax, eax
neg eax
test eax, ecx
jne 0x77edc5
mov ecx, dword [esp + 0x38]
jmp 0x77ee26
cmp ecx, dword [esp + 0x2c]
mov esi, ebp
mov eax, dword [esp + 0x1c]
cmovb eax, dword [esp + 0x4c]
xor ecx, ecx
mov dword [esp + 0x30], eax
mov al, byte [ebp - 1]
cmp al, byte [edx - 1]
mov dword [esp + 0x60], 1
sete cl
sub esi, ecx
sub edx, ecx
add ecx, 4
mov dword [esp + 0x38], ecx
jmp 0x77ee26
mov ecx, ebp
lea edi, [ecx + edx]
lea edx, [ecx + esi]
mov ecx, dword [esp + 0x1c]
mov eax, edx
mov dword [esp + 0x70], edx
sub eax, edi
add eax, dword [esp + 0x30]
cmp eax, ecx
cmovb ecx, eax
push ecx
push edi
push edx
call fcn.00782bc0
mov ebp, eax
mov dword [esp + 0x70], eax
add esp, 0xc
lea eax, [edi + ebp]
cmp eax, dword [esp + 0x30]
jne 0x77ee78
push dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
push dword [esp + 0x54]
add eax, ebp
push eax
call fcn.00782bc0
add esp, 0xc
add ebp, eax
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0x38]
mov ecx, esi
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x84]
add edx, 0xffffffe0
sub ecx, dword [esp + 0x8c]
add ebp, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov eax, dword [edi + 0xc]
cmp esi, edx
ja 0x77ef01
mov edx, dword [esp + 0x8c]
movups xmm0, xmmword [edx]
movups xmmword [eax], xmm0
cmp ecx, 0x10
jbe 0x77ef17
movups xmm0, xmmword [edx + 0x10]
lea eax, [ecx - 0x10]
mov ecx, dword [edi + 0xc]
add ecx, 0x10
lea edi, [ecx + eax]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x84]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x77ef13
mov eax, dword [esp + 0x8c]
add ecx, 0x10
add edx, 0x20
movups xmm0, xmmword [edx]
lea edx, [edx + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx - 0x10]
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp ecx, eax
jb 0x77eee7
jmp 0x77ef13
push edx
push esi
push dword [esp + 0x94]
push eax
call fcn.0077bba0
add esp, 0x10
mov ecx, dword [esp + 0x38]
add dword [edi + 0xc], ecx
cmp ecx, 0xffff
jbe 0x77ef34
mov eax, dword [edi + 4]
sub eax, dword [edi]
sar eax, 3
mov dword [edi + 0x24], 1
mov dword [edi + 0x28], eax
mov eax, dword [edi + 4]
mov word [eax + 4], cx
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
lea ecx, [ebp - 3]
cmp ecx, 0xffff
jbe 0x77ef61
mov eax, dword [edi + 4]
sub eax, dword [edi]
sar eax, 3
mov dword [edi + 0x24], 2
mov dword [edi + 0x28], eax
mov eax, dword [edi + 4]
add esi, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x8c], esi
mov word [eax + 6], cx
add dword [edi + 4], 8
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
cmp eax, esi
jae 0x77ef8a
sub eax, ebp
mov dword [edi + ebx*4], eax
cmp esi, dword [esp + 0x44]
ja 0x77f25f
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x48]
cmp eax, 4
ja case.0x77efa1.0
jmp dword [eax*4 + 0x77f354]
push 0xcf1bbcdc
push 0xbb000000
push dword [ebx + ebp + 6]
push dword [ebx + ebp + 2]
call fcn.007bcf30
mov ecx, dword [esp + 0x80]
call fcn.007bcf90
mov ecx, eax
lea eax, [ebx + 2]
mov ebx, dword [esp + 0x14]
mov dword [edi + ecx*4], eax
mov ecx, dword [esp + 0x90]
jmp switch.0x0077f024
push 0xcf1bbcdc
push 0xbf9b0000
jmp 0x77efb2
push 0xcf1bbcdc
push 0xbfa56300
jmp 0x77efb2
push 0xcf1bbcdc
push 0xb7a56463
jmp 0x77efb2
imul edx, dword [ebx + ebp + 2], 0x9e3779b1
lea eax, [ebx + 2]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x14]
shr edx, cl
mov dword [edi + edx*4], eax
cmp ebx, 4
ja case.0x77f024.0
jmp dword [ebx*4 + 0x77f368]
push 0xcf1bbcdc
push 0xbb000000
push dword [esi + 2]
push dword [esi - 2]
call fcn.007bcf30
mov ecx, dword [esp + 0x80]
call fcn.007bcf90
mov edx, eax
jmp 0x77f07d
push 0xcf1bbcdc
push 0xbf9b0000
jmp 0x77f035
push 0xcf1bbcdc
push 0xbfa56300
jmp 0x77f035
push 0xcf1bbcdc
push 0xb7a56463
jmp 0x77f035
imul edx, dword [esi - 2], 0x9e3779b1
shr edx, cl
mov eax, esi
sub eax, ebp
sub eax, 2
mov dword [edi + edx*4], eax
mov edi, esi
sub edi, dword [esp + 0x40]
mov edx, edi
sub edx, ebp
mov ebp, dword [esp + 0x2c]
cmp edx, ebp
jae 0x77f09f
mov edi, dword [esp + 0x3c]
add edi, edx
mov eax, ebp
sub eax, edx
dec eax
cmp eax, 3
sbb ecx, ecx
xor eax, eax
inc ecx
cmp eax, dword [esp + 0x40]
sbb eax, eax
neg eax
test eax, ecx
je 0x77f263
mov eax, dword [edi]
cmp eax, dword [esi]
jne 0x77f263
mov ecx, dword [esp + 0x1c]
cmp edx, ebp
mov ebx, ecx
lea edx, [esi + 4]
cmovb ebx, dword [esp + 0x4c]
mov eax, edx
add edi, 4
sub eax, edi
add eax, ebx
cmp eax, ecx
cmovb ecx, eax
push ecx
push edi
push edx
call fcn.00782bc0
mov ebp, eax
add esp, 0xc
lea eax, [edi + ebp]
cmp eax, ebx
jne 0x77f110
push dword [esp + 0x1c]
lea eax, [ebp + 4]
push dword [esp + 0x54]
add eax, esi
push eax
call fcn.00782bc0
add esp, 0xc
add ebp, eax
mov edi, dword [esp + 0x84]
add ebp, 4
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
add ebx, 0xffffffe0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x40], ecx
cmp esi, ebx
ja 0x77f140
movups xmm0, xmmword [esi]
movups xmmword [eax], xmm0
jmp 0x77f14c
push ebx
push esi
push esi
push eax
call fcn.0077bba0
add esp, 0x10
mov eax, dword [edi + 4]
xor ecx, ecx
mov word [eax + 4], cx
lea ecx, [ebp - 3]
mov eax, dword [edi + 4]
mov dword [eax], 1
cmp ecx, 0xffff
jbe 0x77f17b
mov eax, dword [edi + 4]
sub eax, dword [edi]
sar eax, 3
mov dword [edi + 0x24], 2
mov dword [edi + 0x28], eax
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x14]
mov word [eax + 6], cx
add dword [edi + 4], 8
cmp ebx, 4
ja case.0x77f193.0
jmp dword [ebx*4 + 0x77f37c]
push 0xcf1bbcdc
push 0xbb000000
push dword [esi + 4]
push dword [esi]
call fcn.007bcf30
mov ecx, dword [esp + 0x80]
call fcn.007bcf90
mov edx, eax
jmp 0x77f239
push 0xcf1bbcdc
push 0xbf9b0000
push dword [esi + 4]
push dword [esi]
call fcn.007bcf30
mov ecx, dword [esp + 0x80]
call fcn.007bcf90
mov edx, eax
jmp 0x77f239
push 0xcf1bbcdc
push 0xbfa56300
push dword [esi + 4]
push dword [esi]
call fcn.007bcf30
mov ecx, dword [esp + 0x80]
call fcn.007bcf90
mov edx, eax
jmp 0x77f239
push 0xcf1bbcdc
push 0xb7a56463
push dword [esi + 4]
push dword [esi]
call fcn.007bcf30
mov ecx, dword [esp + 0x80]
call fcn.007bcf90
mov edx, eax
jmp 0x77f239
imul edx, dword [esi], 0x9e3779b1
mov ecx, dword [esp + 0x90]
shr edx, cl
mov ecx, dword [esp + 0x34]
mov eax, esi
sub eax, dword [esp + 0x10]
add esi, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x8c], esi
mov dword [ecx + edx*4], eax
cmp esi, dword [esp + 0x44]
jbe 0x77f087
jmp 0x77f263
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x58]
lea eax, [esi + 0x80]
mov edi, dword [esp + 0x80]
lea edx, [esi + 1]
add ebp, esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x5c], ebp
lea ecx, [ebp + 1]
cmp ecx, dword [esp + 0x44]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x90]
jb 0x77ea20
mov edi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x18]
test edx, edx
je 0x77f2bd
test eax, eax
cmovne ecx, edx
test eax, eax
cmovne edx, eax
mov eax, dword [esp + 0x88]
test ebx, ebx
cmovne ecx, ebx
mov dword [eax], edx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x1c]
sub eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret