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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44c
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov ebx, dword [edi]
mov eax, dword [ebx + 0x88]
mov edx, dword [edi + 4]
mov ecx, dword [ebx + 0x8c]
mov dword [esp + 0x20], eax
mov eax, dword [edx]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x98]
test eax, 0x4000000
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0xffffffff
je 0x869add
mov dword [esp + 0x18], 0
jmp 0x869ae7
mov ecx, dword [ebx + 0x190]
mov dword [esp + 0x18], ecx
test eax, 0x400000
jne 0x869b1e
mov edx, dword [ebp + 0x10]
push edx
push 0x640a7c
call fcn.00926cd6
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0xb0]
push eax
push 0
push ecx
call fcn.00917942
push eax
push 0x640710
call fcn.00926cd6
add esp, 0x1c
mov edx, dword [esi + 0x98]
or edx, 0x20000
mov dword [esi + 0x98], edx
mov eax, edx
mov edx, dword [edi]
test byte [edx + 0x1ec], 0x24
je 0x869b46
or eax, 8
mov dword [esi + 0x98], eax
xor eax, eax
mov ecx, 0x1c
lea edi, [esp + 0x38]
rep stosd dword es:[edi], eax
mov ecx, 0xe6
lea edi, [esp + 0xc0]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x120]
mov ecx, dword [esi + 0x78]
push esi
call fcn.00865ba2
add esp, 4
test eax, eax
mov dword [esp + 0x70], eax
je 0x86a3d9
mov ecx, dword [ebx + 0x190]
mov edx, dword [esi + 0x6c]
mov edi, dword [ebp + 0xc]
push 0x10
push 1
push 0
push ecx
mov ecx, dword [edi + 0xdc]
push 0
push edx
lea eax, [esi + 0x2b8]
push ecx
push eax
mov dword [esp + 0x54], eax
call fcn.00845f42
add esp, 0x20
test eax, eax
jne 0x86a3d9
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x869bf6
mov edx, dword [esi + 0x2b4]
mov ecx, dword [esi + 0x70]
and edx, 0x30
push edx
mov edx, dword [edi + 0xdc]
push 1
xor eax, eax
push eax
mov eax, dword [esp + 0x24]
push eax
push 1
push ecx
push edx
lea eax, [edi + 0x128]
push eax
call fcn.00845f42
add esp, 0x20
test eax, eax
jne 0x86a3d9
mov ecx, dword [esi + 0x78]
mov edx, dword [esp + 0x70]
imul ecx, ecx, 0x41c
mov eax, dword [edi + 0xe0]
add ecx, edx
mov edx, dword [edi + 0xdc]
or eax, 0x10
mov dword [esp + 0x74], ecx
mov dword [edi + 0xe0], eax
mov dword [edi + 0x1a8], edx
mov eax, dword [ebx + 0xf0]
push 0
push eax
call fcn.008415b2
add esp, 8
test eax, eax
mov dword [esp + 0x430], eax
je 0x86a558
lea ecx, [esp + 0x424]
push ecx
push 0xffffffffffffffff
push edi
call fcn.0085e192
add esp, 0xc
test eax, eax
je 0x86a558
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x869d23
mov edx, dword [esi + 0x2b0]
mov ecx, dword [ebx + 0x1a4]
push 0
push edx
push 0
push 6
push 0x5ff28c
push 0x5df350
lea eax, [esi + 0xa7]
push ecx
push eax
call fcn.00844412
add esp, 0x14
push eax
call fcn.00844d82
add esp, 0x10
test eax, eax
mov dword [esp + 0x14], eax
jge 0x869cc2
lea eax, [esi + 0xa7]
push eax
push 0x6406f0
push esi
call fcn.0077c6d2
add esp, 0xc
jmp 0x86a3d9
mov edx, dword [esp + 0x18]
push 0x6406e0
xor ecx, ecx
push ecx
push edx
push ecx
push ecx
mov ecx, dword [edi + 0xdc]
push ecx
push eax
push esi
call fcn.00864232
add esp, 0x20
test eax, eax
jne 0x86a3d9
test dword [esi + 0x98], 0x4000000
je 0x869d10
mov edx, dword [ebx + 0x1ec]
and edx, 0xfffffffb
mov eax, edx
mov byte [ebx + 5], al
shr eax, 8
mov dword [ebx + 0x1ec], edx
mov byte [ebx + 4], al
mov edx, dword [esp + 0x14]
or eax, 0xffffffff
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], eax
mov dword [edi + 0x1a8], edx
mov dword [edi + 0xe4], 0x401
mov al, byte [esi + 0x98]
mov ecx, dword [ebx + 0x1b0]
test al, 0x40
mov eax, dword [ebx + 0x204]
jne 0x869daf
push 2
push eax
push ecx
call fcn.0084a8e2
mov ecx, dword [ebx + 0x110]
add esp, 0xc
xor eax, eax
test ecx, ecx
jbe 0x869d79
or ecx, 0xffffffff
lea esp, [esp]
mov edx, dword [ebx + 0x6c]
mov dword [edx + eax*8], ecx
mov dword [edx + eax*8 + 4], ecx
mov edx, dword [ebx + 0x110]
inc eax
cmp eax, edx
jb 0x869d62
jmp 0x869d7c
or ecx, 0xffffffff
mov dl, byte [ebx + 0x15]
xor eax, eax
test dl, dl
jbe 0x869d98
mov edx, dword [ebx + 0x70]
mov dword [edx + eax*8], ecx
mov dword [edx + eax*8 + 4], ecx
movzx edx, byte [ebx + 0x15]
inc eax
cmp eax, edx
jb 0x869d85
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0xc0]
mov dword [eax + 0x18], ecx
mov edx, dword [ebx + 0xc4]
mov dword [eax + 0x1c], edx
jmp 0x869dd7
push 3
push eax
push ecx
call fcn.0084a8e2
add esp, 0xc
test eax, eax
jne 0x86a3d9
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
not edx
not eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], esi
call fcn.008662a2
mov edx, dword [esi + 0x338]
mov ecx, dword [esp + 0x18]
xor eax, eax
push eax
push 2
push eax
push eax
push edx
mov dword [esp + 0x3f4], ecx
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x80], eax
call fcn.00847ac2
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
mov dword [esi + 0x2c0], eax
mov dword [esi + 0x2c4], edx
mov dword [esp + 0x43c], 0
mov eax, dword [ebx + 0x228]
add esp, 0x14
cmp eax, 1
jne 0x869e5e
mov eax, dword [ebx + 0xf4]
mov ecx, dword [ebx + 0xfc]
inc eax
cmp eax, ecx
ja 0x869e71
mov eax, ecx
jmp 0x869e71
cmp eax, 2
jne 0x869e6b
mov eax, dword [ebx + 0xfc]
jmp 0x869e71
mov eax, dword [ebx + 0xf0]
test byte [esi + 0x98], 0x40
je 0x869e85
mov eax, dword [edi + 4]
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
jmp 0x869e9c
mov edx, dword [esp + 0x3c]
push 0
push eax
mov eax, dword [esp + 0x40]
push edx
push eax
call fcn.009248b2
inc eax
mov dword [esp + 0x50], eax
mov ecx, dword [esi + 0x2ac]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x434], ecx
xor ecx, ecx
cmp eax, ecx
lea edx, [esp + 0x38]
mov dword [esp + 0x41c], edx
mov edx, dword [edi + 4]
sete al
mov dword [esp + 0x438], 0x500f80
mov dword [esp + 0x444], 0x49e250
mov byte [esp + 0x410], al
mov byte [esp + 0x411], 1
mov eax, dword [edx + 4]
test byte [esi + 0x98], 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esi + 0x64], ecx
je 0x869f04
mov byte [esi + 0xa6], 1
lea edx, [esi + 0x568]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x3f0], 0
mov edx, dword [ebx + 0x110]
test edx, edx
jbe 0x86a339
jmp 0x869f32
mov esi, dword [esp + 0x34]
mov ecx, 0x28
lea edi, [esp + 0xc8]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x3f0]
mov edx, dword [ebx + 0x180]
mov esi, edi
imul esi, esi, 0x38
add esi, edx
mov dword [esp + 0x414], esi
mov eax, dword [esi + 0x18]
mov dword [esp + 0x418], eax
mov eax, 1
xor edx, edx
mov ecx, edi
call fcn.00924782
and eax, dword [esp + 0x20]
and edx, dword [esp + 0x24]
or eax, edx
jne 0x869fb8
movzx ecx, word [esi]
mov eax, dword [esp + 0x1c]
mov esi, dword [ebp + 8]
mov edx, eax
sub edx, esi
mov esi, dword [ebx + 0x68]
shl ecx, 2
sub edx, 0x568
sar edx, 2
lea esi, [esi + edx*4]
mov edx, ecx
shr ecx, 2
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x86a2ff
mov eax, dword [ebp + 8]
test dword [eax + 0x98], 0x400000
jne 0x869fd6
inc edi
push edi
push 0x640a68
call fcn.00926cd6
add esp, 8
mov eax, dword [ebx + 0x190]
mov edx, dword [esp + 0x418]
xor ecx, ecx
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3d4], ecx
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3dc], ecx
xor eax, eax
mov ecx, 0x22
lea edi, [esp + 0x2c0]
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 0x1fc]
mov dword [esp + 0x3f4], ecx
cmp byte [edx], 0
je 0x86a08b
mov eax, edx
mov esi, 0xff
jmp 0x86a032
movzx edi, word [eax + 8]
add ecx, edi
mov dword [esp + 0x3f4], ecx
test byte [eax + 6], 1
je 0x86a05a
cmp word [eax + 8], si
sbb edi, edi
and edi, 0xfffffffe
add edi, 3
add ecx, edi
mov dword [esp + 0x3f4], ecx
test byte [eax + 6], 0x28
je 0x86a073
cmp word [eax + 8], 0x7f
sbb edi, edi
inc edi
lea ecx, [ecx + edi + 2]
mov dword [esp + 0x3f4], ecx
test byte [eax + 6], 0x10
je 0x86a081
inc ecx
mov dword [esp + 0x3f4], ecx
add edx, 0x18
cmp byte [edx], 0
mov eax, edx
jne 0x86a032
mov esi, dword [ebp + 0xc]
mov dword [ebx + 0x40], 0
mov edx, dword [esi + 4]
xor ecx, ecx
mov dword [edx + 4], ecx
mov eax, dword [esi + 4]
mov dword [eax], ecx
mov edx, dword [esi + 4]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
mov eax, dword [esp + 0x414]
mov dl, byte [eax + 2]
test dl, dl
jns 0x86a10d
mov eax, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [0x67ee80]
mov edi, dword [edx + 0x50]
mov edx, dword [esp + 0x38]
imul edi, edi, 0x1f
push ecx
mov ecx, dword [esp + 0x40]
push eax
push ecx
push edx
call fcn.009248b2
inc eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3f4]
lea ecx, [eax + edi - 0xfe]
mov dword [esp + 0x43c], 0x504450
mov dword [esp + 0x440], 0x504940
mov dword [esp + 0x3f4], ecx
jmp 0x86a123
mov dword [esp + 0x43c], 0x5043c0
mov dword [esp + 0x440], 0x504570
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x98]
mov edx, dword [edi + 0x74]
shr eax, 0x1c
not al
push edx
lea ecx, [esp + 0xc4]
and eax, 0xffffff01
push eax
push ecx
call fcn.0087e812
add esp, 0xc
test eax, eax
jne 0x86a3cf
test dword [edi + 0x98], 0x2000000
mov byte [edi + 0xa6], al
mov eax, dword [esi + 4]
mov edx, dword [eax]
mov dword [esp + 0x50], edx
je 0x86a1a9
mov eax, dword [eax]
push 0
push eax
mov eax, dword [edi + 0x1578]
xor ecx, ecx
cmp eax, 2
setne cl
lea edx, [esp + 0x350]
lea eax, [esp + 0x2c8]
dec ecx
and ecx, edx
mov edx, dword [esp + 0x41c]
push ecx
mov ecx, dword [esp + 0x28]
push eax
push ecx
push edx
call fcn.00866012
add esp, 0x18
mov ecx, dword [esp + 0x3f0]
mov eax, 1
xor edx, edx
call fcn.00924782
or dword [ebx + 0x88], eax
or dword [ebx + 0x8c], edx
mov al, byte [esp + 0x410]
test al, al
je 0x86a2bc
mov eax, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3e4]
lea edx, [esp + 0x38]
push 1
push edx
mov dword [edi + 0x2c0], eax
mov dword [edi + 0x2c4], ecx
call fcn.00865c12
add esp, 8
test eax, eax
jne 0x86a3d6
mov eax, dword [ebp + 0xc]
add eax, 0x128
push eax
call fcn.00845a02
add esp, 4
test eax, eax
jne 0x86a3d6
mov ecx, dword [ebp + 8]
test dword [ecx + 0x98], 0x200000
mov esi, dword [ebp + 0xc]
je 0x86a245
mov edx, dword [esi + 4]
mov ecx, dword [edx]
mov eax, dword [esp + 0x30]
inc ecx
cmp ecx, eax
jb 0x86a419
mov eax, dword [esp + 0x3e0]
mov edx, dword [esi + 4]
mov dword [edx + 0x20], eax
mov ecx, dword [esp + 0x3e4]
mov dword [edx + 0x24], ecx
mov edx, dword [esp + 0x3e0]
mov dword [ebx + 0x38], edx
mov eax, dword [esp + 0x3e4]
push 0
mov dword [ebx + 0x3c], eax
call fcn.00926391
mov dword [ebx + 0x94], eax
mov ecx, dword [esi + 0xdc]
push 0
push ecx
call fcn.00844022
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x24]
mov edi, dword [ebp + 8]
mov dword [esi + 0xdc], edx
mov esi, dword [ebp + 0xc]
mov dword [ebx + 0x228], eax
mov dword [ebx + 0x190], ecx
add esp, 0xc
mov byte [esp + 0x410], 0
jmp 0x86a2d3
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x3d8]
mov dword [edx + 0x20], eax
mov ecx, dword [esp + 0x3dc]
mov dword [edx + 0x24], ecx
mov edx, dword [esi + 0xdc]
mov ecx, dword [esp + 0x34]
push 1
push 1
mov dword [edi + 0x338], edx
mov eax, dword [ebx + 0x190]
push 0
push eax
push 0
push ecx
call fcn.00846182
mov eax, dword [esp + 0x34]
add esp, 0x18
mov edx, dword [esp + 0x414]
movzx ecx, word [edx]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x3f0]
inc eax
mov dword [esp + 0x3f0], eax
cmp eax, dword [ebx + 0x110]
mov dword [esp + 0x1c], edx
jb 0x869f32
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esi + 0x98]
test edx, edx
jns 0x86a367
push 0x75a7b0
push 0x64044c
call fcn.00925512
push 0x75a7b0
call fcn.00926757
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
add esp, 0xc
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x86a420
add eax, dword [esp + 0x40]
mov edx, dword [edi + 4]
adc ecx, dword [esp + 0x44]
mov edx, dword [edx + 4]
mov dword [esp + 0x2c], ecx
xor ecx, ecx
cmp eax, edx
jne 0x86a394
cmp dword [esp + 0x2c], ecx
je 0x86a420
push 0x640620
push esi
call fcn.0077c6d2
push 0x6405fc
push esi
call fcn.0077c6d2
mov eax, dword [esi + 0x98]
add esp, 0x10
or eax, 0x100000
mov dword [esp + 0x10], 1
mov byte [esi + 0xa4], 1
mov dword [esi + 0x98], eax
jmp 0x86a3d9
mov byte [edi + 0xa4], 1
mov esi, dword [ebp + 8]
mov eax, dword [ebx + 0x204]
mov edi, dword [ebx + 0x1b0]
push 1
push eax
push edi
call fcn.0084a8e2
add esp, 0xc
test eax, eax
je 0x86a56b
call fcn.00844ef2
mov eax, dword [eax]
push eax
push 0x63f890
push esi
call fcn.0077c6d2
add esp, 0xc
mov eax, 1
jmp 0x86a582
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x86a3d6
mov eax, dword [ebp + 0x14]
test ah, 0x10
je 0x86a487
mov eax, dword [ebx + 0x1ec]
mov ecx, dword [edi + 4]
and al, 4
neg al
sbb eax, eax
and eax, 7
cdq
add eax, dword [ecx + 0x20]
adc edx, dword [ecx + 0x24]
cmp eax, dword [esp + 0x38]
jne 0x86a44d
cmp edx, dword [esp + 0x3c]
je 0x86a487
mov ecx, dword [edi]
cmp dword [ecx + 0x130], 0
jne 0x86a487
push 0
push 0
push edx
mov edx, dword [edi + 0xdc]
push eax
push edx
call fcn.0084e7d2
add esp, 0x14
test eax, eax
je 0x86a487
call fcn.00844ef2
mov eax, dword [eax]
push eax
push 0x640a3c
push esi
call fcn.0077c732
add esp, 0xc
test byte [esi + 0x98], 8
je 0x86a499
mov ecx, dword [esi + 0x64]
mov dword [ebx + 0x90], ecx
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x1c]
mov ecx, dword [edx + 0x18]
mov edx, dword [ebx + 0x204]
push 0
push 0
push eax
push ecx
push edx
call fcn.0084e7d2
add esp, 0x14
test eax, eax
je 0x86a4d1
call fcn.00844ef2
mov eax, dword [eax]
push eax
push 0x640670
push esi
call fcn.0077c732
add esp, 0xc
test dword [esi + 0x98], 0x400000
jne 0x86a532
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
cmp dword [esp + 0x30], eax
je 0x86a506
lea edx, [esp + 0xa8]
push edx
push 0
push eax
call fcn.00917942
push eax
push 0x640710
call fcn.00926cd6
add esp, 0x14
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, eax
or edx, ecx
je 0x86a532
lea edx, [esp + 0xa8]
push edx
push ecx
push eax
call fcn.00917942
push eax
push 0x6405dc
push esi
call fcn.0077c732
add esp, 0x18
mov edi, dword [edi + 4]
lea eax, [ebx + 0x18]
cmp eax, edi
mov dword [esp + 0x10], 0
je 0x86a3d9
mov esi, edi
mov ecx, 0xa
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x86a3d6
push 0x63feac
push esi
call fcn.0077c6d2
add esp, 8
jmp 0x86a3d9
mov al, byte [esi + 0xa1]
test al, al
jne 0x86a580
push 1
push edi
call fcn.00849bc2
add esp, 8
xor eax, eax
or dword [esp + 0x10], eax
mov edi, dword [ebp + 0xc]
lea ecx, [edi + 0x128]
push ecx
call fcn.00845a02
mov eax, dword [esp + 0x14]
add esp, 4
test eax, eax
jne 0x86a60a
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x86a67a
push 0
push eax
call fcn.00844022
or eax, 0xffffffff
mov dword [edi + 0xdc], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebx + 0x1a4]
and edx, 4
shl edx, 6
push edx
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x134]
push eax
push 0x5ff28c
push 0x5e2db8
push ecx
call fcn.008641c2
add esp, 0x1c
test eax, eax
jne 0x86a602
push 0xffffffffffffffff
push ebx
push edi
call fcn.0085fdf2
add esp, 0xc
test eax, eax
je 0x86a67a
mov dword [esp + 0x10], 1
mov eax, dword [esi + 0x84]
test eax, eax
jne 0x86a62a
call fcn.00844ef2
mov edx, dword [eax]
push edx
push 0x640a24
push esi
call fcn.0077c6d2
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x86a668
push 0
push eax
call fcn.00844022
mov ecx, dword [ebx + 0x134]
push ecx
lea edx, [esi + 0xa7]
push edx
call fcn.0084ee42
mov eax, dword [esp + 0x24]
mov ecx, dword [edi + 0xdc]
add esp, 0x10
cmp ecx, eax
jne 0x86a668
mov dword [edi + 0xdc], 0xffffffff
mov eax, dword [edi]
or byte [eax + 0xac], 6
or dword [edi + 0xe4], 1
jmp 0x86a699
mov ecx, dword [esp + 0x20]
cmp ecx, dword [ebx + 0x88]
jne 0x86a699
mov edx, dword [esp + 0x24]
cmp edx, dword [ebx + 0x8c]
jne 0x86a699
and byte [ebx + 0xac], 0xef
or byte [ebx + 0xac], 0x20
mov eax, dword [edi]
test byte [eax + 0x1ec], 1
mov eax, dword [esp + 0x424]
je 0x86a6b9
test eax, eax
je 0x86a6b9
add eax, 0xffffffe8
push eax
call fcn.00841642
mov ecx, dword [esp + 0x434]
push ecx
call fcn.00841642
mov edx, dword [esp + 0x78]
push edx
call fcn.00841642
mov eax, dword [esp + 0x84]
push eax
call fcn.00841642
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.00841642
lea edx, [esi + 0x2b8]
push edx
call fcn.00845a02
mov ecx, dword [edi + 0xe0]
mov eax, dword [esp + 0x28]
and ecx, 0xffffffed
add esp, 0x18
test eax, eax
mov dword [edi + 0xe0], ecx
jne 0x86a72d
test dword [esi + 0x98], 0x4000000
je 0x86a72d
and byte [ebx + 4], 0xfb
mov dword [ebx + 0x190], 0
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret