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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xbc
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x38], 0
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x3c], 0
mov dword [edi + 0x5a8], 0x10
mov eax, dword [ecx]
lea ebx, [ecx + 4]
mov ecx, edi
mov dword [esp + 0x30], 0
mov dword [edi + 0x408], eax
mov dword [esp + 0x24], ebx
mov dword [edi + 0x580], 0
mov dword [edi + 0x584], 0
mov dword [edi + 0x420], 0
mov dword [edi + 0x4b4], 0
call fcn.100b0b30
mov ecx, dword [0x11d0c5b8]
mov eax, dword fs:[0x2c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x48], eax
mov ecx, dword [eax + 0x10]
mov eax, dword [ebx]
mov dword [esp + 0x18], ecx
lea edx, [ecx + 0xfd80]
mov dword [esp + 0x14], edx
cmp eax, 0xffff
je 0x100b1120
add ecx, 0x101c0
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x18]
add ecx, 0x10180
mov dword [esp + 0x40], ecx
movzx ecx, ax
cmp ecx, 0xfffe
jne 0x100b0db3
shr eax, 0x10
and eax, 0x7fff
lea esi, [eax*4 + 4]
jmp case.0x100b0e31.32
cmp dword [edi + 0x408], 0xfffe0200
jb 0x100b0dce
shr eax, 0x18
and eax, 0xf
lea esi, [eax*4 + 4]
jmp 0x100b0e1e
cmp ecx, 0xffff
je case.0x100b0de2.0
cmp ecx, 0x51
ja case.0x100b0de2.3
movzx eax, byte [ecx + 0x100b195c]
jmp dword [eax*4 + 0x100b1940]
mov esi, 0xc
add ecx, 0xffffffe1
jmp 0x100b0e2a
mov esi, 0x18
add ecx, 0xffffffe1
jmp 0x100b0e2a
mov esi, 0xc
jmp 0x100b0e1e
mov esi, 0x10
jmp 0x100b0e1e
mov esi, 0x14
jmp case.0x100b0e31.32
xor esi, esi
jmp 0x100b0e1e
mov esi, 4
add ecx, 0xffffffe1
cmp ecx, 0x32
ja case.0x100b0e31.32
movzx eax, byte [ecx + 0x100b19c4]
jmp dword [eax*4 + 0x100b19b0]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x38]
and edx, 0x7ff
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x14]
mov dword [ecx + eax*4], edx
lea ecx, [edx + 0x48]
mov eax, dword [ebx + 8]
add ecx, ecx
add edx, edx
inc dword [esp + 0x38]
mov dword [edi + ecx*8], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x2c]
mov dword [ecx + edx*8 + 0x10204], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + edx*8 + 0x10208], eax
mov eax, dword [ebx + 0x14]
mov dword [ecx + edx*8 + 0x1020c], eax
jmp 0x100b1108
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x40]
and edx, 0x7ff
mov edi, dword [esp + 0x14]
inc dword [esp + 0x3c]
mov dword [eax], edx
lea ecx, [edx + 0x148]
mov eax, dword [ebx + 8]
add ecx, ecx
add edx, edx
add dword [esp + 0x40], 4
mov dword [edi + ecx*8], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x2c]
mov dword [ecx + edx*8 + 0x11204], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + edx*8 + 0x11208], eax
mov eax, dword [ebx + 0x14]
mov dword [ecx + edx*8 + 0x1120c], eax
jmp 0x100b1108
mov ecx, dword [ebx + 4]
mov eax, dword [esp + 0x44]
and ecx, 0x7ff
inc dword [esp + 0x30]
add dword [esp + 0x44], 4
mov dword [eax], ecx
mov eax, dword [ebx + 8]
mov dword [edx + ecx*4 + 0x1580], eax
jmp case.0x100b0e31.32
mov eax, dword [ebx + 4]
mov ecx, eax
and ecx, 0xf
mov edx, eax
mov dword [esp + 0x28], ecx
mov ecx, dword [ebx + 8]
shr edx, 0x10
mov dword [esp + 0x34], ecx
and edx, 0xf
and ecx, 0x7ff
test eax, 0x78000000
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
mov ecx, eax
jne 0x100b105c
and eax, 0x1800
shr ecx, 0x14
mov dword [esp + 0x20], eax
mov eax, ecx
and eax, 0x700
or eax, dword [esp + 0x20]
and eax, 0xffffff00
cmp eax, 0x600
jne 0x100b1066
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x100b0f8a
test edx, edx
jne 0x100b0f8a
mov eax, 9
mov dword [esp + 0x28], eax
test ecx, ecx
je 0x100b0f8a
mov dword [edi + 0x5a8], ecx
test dword [esp + 0x34], 0x10000
mov word [edi + ecx*8 + 0x4b8], ax
mov word [edi + ecx*8 + 0x4ba], dx
je 0x100b0fc2
mov cl, dl
and al, 0xf
shl cl, 4
or cl, al
mov eax, dword [esp + 0x10]
mov byte [edi + eax*8 + 0x4bc], cl
mov ah, byte [esp + 0x28]
mov ecx, dword [esp + 0x10]
jmp 0x100b0fc4
mov ah, al
mov al, dl
mov bl, al
mov byte [esp + 0xf], al
shl bl, 4
test dword [esp + 0x34], 0x20000
mov byte [esp + 0x1f], bl
je 0x100b0fee
mov al, ah
and al, 0xf
or al, bl
mov byte [edi + ecx*8 + 0x4bd], al
mov al, dl
jmp 0x100b0ff2
mov byte [esp + 0x1f], bl
test dword [esp + 0x34], 0x40000
je 0x100b1018
shl al, 4
mov byte [esp + 0xf], al
mov al, ah
and al, 0xf
or al, byte [esp + 0xf]
mov byte [edi + ecx*8 + 0x4be], al
mov al, byte [esp + 0xf]
jmp 0x100b101c
mov al, byte [esp + 0x1f]
test dword [esp + 0x34], 0x80000
mov ebx, dword [esp + 0x24]
je 0x100b1036
and ah, 0xf
or ah, al
mov byte [edi + ecx*8 + 0x4bf], ah
mov eax, dword [esp + 0x28]
mov ecx, dword [edi + 0x584]
inc eax
inc dword [edi + 0x4b4]
shl edx, 4
add eax, edx
cmp ecx, eax
cmovbe ecx, eax
mov dword [edi + 0x584], ecx
jmp 0x100b1108
shr ecx, 0x14
and eax, 0x1800
jmp 0x100b106a
mov eax, dword [esp + 0x20]
and ecx, 0x700
or ecx, eax
and ecx, 0xffffff00
cmp ecx, 0xa00
je 0x100b1108
mov eax, dword [esp + 0x10]
mov cl, dl
mov ebx, dword [esp + 0x28]
shl cl, 4
mov word [edi + eax*8 + 0x424], bx
mov word [edi + eax*8 + 0x426], dx
mov al, bl
mov ebx, dword [esp + 0x10]
and al, 0xf
or al, cl
shl edx, 4
mov byte [edi + ebx*8 + 0x428], al
mov al, byte [esp + 0x28]
and al, 0xf
or al, cl
mov byte [edi + ebx*8 + 0x429], al
mov al, byte [esp + 0x28]
and al, 0xf
or al, cl
mov byte [edi + ebx*8 + 0x42a], al
mov ebx, dword [esp + 0x28]
mov al, bl
and al, 0xf
or al, cl
mov ecx, dword [esp + 0x10]
mov byte [edi + ecx*8 + 0x42b], al
lea eax, [ebx + 1]
mov ecx, dword [edi + 0x580]
add eax, edx
inc dword [edi + 0x420]
cmp ecx, eax
mov ebx, dword [esp + 0x24]
cmovbe ecx, eax
mov dword [edi + 0x580], ecx
mov edx, dword [esp + 0x14]
mov eax, dword [ebx + esi]
add ebx, esi
mov dword [esp + 0x24], ebx
cmp eax, 0xffff
jne 0x100b0d94
mov ebx, dword [edi + 0x5a8]
cmp ebx, 0x10
je 0x100b115f
mov eax, dword [edi + ebx*8 + 0x4b8]
mov ecx, dword [edi + ebx*8 + 0x4bc]
mov edx, dword [edi + 0x4b8]
mov esi, dword [edi + 0x4bc]
mov dword [edi + 0x4b8], eax
mov dword [edi + 0x4bc], ecx
mov dword [edi + ebx*8 + 0x4b8], edx
mov dword [edi + ebx*8 + 0x4bc], esi
mov al, 1
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x584]
test eax, eax
je 0x100b1294
shl eax, 2
push 0x10
push eax
call fcn.10434a32
add esp, 8
mov dword [edi + 0x58c], eax
test eax, eax
je 0x100b128e
xor ecx, ecx
mov dword [edi + 0x5b4], 0
cmp dword [edi + 0x584], ecx
jbe 0x100b11c6
nop dword [eax]
nop word [eax + eax]
mov eax, dword [edi + 0x58c]
mov dword [eax + ecx*4], 0xffffffff
inc ecx
cmp ecx, dword [edi + 0x584]
jb 0x100b11b0
xor edx, edx
lea esi, [edi + 0x4bd]
nop
mov al, byte [esi - 1]
cmp al, 0xff
je 0x100b11fc
movzx eax, al
mov ecx, eax
and eax, 0xf
and ecx, 0xfffffff0
add ecx, eax
mov eax, dword [edi + 0x58c]
mov dword [eax + ecx*4], edx
mov eax, dword [edi + 0x5b4]
bts eax, edx
mov dword [edi + 0x5b4], eax
mov al, byte [esi]
cmp al, 0xff
je 0x100b1227
movzx eax, al
mov ecx, eax
and eax, 0xf
and ecx, 0xfffffff0
add ecx, eax
mov eax, dword [edi + 0x58c]
mov dword [eax + ecx*4], edx
mov eax, dword [edi + 0x5b4]
bts eax, edx
mov dword [edi + 0x5b4], eax
mov al, byte [esi + 1]
cmp al, 0xff
je 0x100b1253
movzx eax, al
mov ecx, eax
and eax, 0xf
and ecx, 0xfffffff0
add ecx, eax
mov eax, dword [edi + 0x58c]
mov dword [eax + ecx*4], edx
mov eax, dword [edi + 0x5b4]
bts eax, edx
mov dword [edi + 0x5b4], eax
mov al, byte [esi + 2]
cmp al, 0xff
je 0x100b127f
movzx eax, al
mov ecx, eax
and eax, 0xf
and ecx, 0xfffffff0
add ecx, eax
mov eax, dword [edi + 0x58c]
mov dword [eax + ecx*4], edx
mov eax, dword [edi + 0x5b4]
bts eax, edx
mov dword [edi + 0x5b4], eax
inc edx
add esi, 8
cmp edx, 0x19
jb 0x100b11d0
jmp 0x100b1294
xor al, al
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x580]
test eax, eax
je 0x100b1374
shl eax, 2
push 0x10
push eax
call fcn.10434a32
add esp, 8
mov dword [edi + 0x588], eax
test eax, eax
je 0x100b136e
xor ecx, ecx
cmp dword [edi + 0x580], ecx
jbe 0x100b12e6
nop dword [eax + eax]
mov eax, dword [edi + 0x588]
mov dword [eax + ecx*4], 0xffffffff
inc ecx
cmp ecx, dword [edi + 0x580]
jb 0x100b12d0
xor edx, edx
lea esi, [edi + 0x429]
nop
mov al, byte [esi - 1]
cmp al, 0xff
je 0x100b130d
movzx eax, al
mov ecx, eax
and eax, 0xf
and ecx, 0xfffffff0
add ecx, eax
mov eax, dword [edi + 0x588]
mov dword [eax + ecx*4], edx
mov al, byte [esi]
cmp al, 0xff
je 0x100b1329
movzx eax, al
mov ecx, eax
and eax, 0xf
and ecx, 0xfffffff0
add ecx, eax
mov eax, dword [edi + 0x588]
mov dword [eax + ecx*4], edx
mov al, byte [esi + 1]
cmp al, 0xff
je 0x100b1346
movzx eax, al
mov ecx, eax
and eax, 0xf
and ecx, 0xfffffff0
add ecx, eax
mov eax, dword [edi + 0x588]
mov dword [eax + ecx*4], edx
mov al, byte [esi + 2]
cmp al, 0xff
je 0x100b1363
movzx eax, al
mov ecx, eax
and eax, 0xf
and ecx, 0xfffffff0
add ecx, eax
mov eax, dword [edi + 0x588]
mov dword [eax + ecx*4], edx
inc edx
add esi, 8
cmp edx, 0x12
jb 0x100b12f0
jmp 0x100b1374
xor al, al
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x100b14ae
push 0x100b0cc0
push 4
push ebx
push dword [esp + 0x20]
call fcn.104344b0
mov eax, ebx
shl eax, 4
push 0x10
push eax
call fcn.10434a32
mov esi, eax
add esp, 0x18
test esi, esi
je 0x100b1496
xor ecx, ecx
test ebx, ebx
je 0x100b143f
mov edi, dword [esp + 0x14]
mov edx, esi
nop dword [eax + eax]
mov eax, dword [edi + ecx*4]
lea edx, [edx + 0x10]
add eax, 0x48
inc ecx
add eax, eax
movups xmm0, xmmword [edi + eax*8]
movups xmmword [edx - 0x10], xmm0
cmp ecx, ebx
jb 0x100b13c0
mov edi, dword [esp + 0x2c]
xor eax, eax
mov edx, dword [esp + 0x14]
xor ebx, ebx
mov dword [edi + 0x90], esi
xor esi, esi
mov edi, dword [esp + 0x18]
add edi, 0x11340
xor ecx, ecx
mov dword [esp + 0x24], edi
nop dword [eax]
cmp dword [edx], ecx
jne 0x100b1407
inc eax
jmp 0x100b141c
test eax, eax
je 0x100b1413
mov dword [edi + esi*8], ebx
mov dword [edi + esi*8 + 4], eax
inc esi
mov ebx, dword [edx]
mov eax, 1
mov ecx, ebx
add edx, 4
inc ecx
sub dword [esp + 0x38], 1
jne 0x100b1400
mov edi, dword [esp + 0x2c]
test eax, eax
je 0x100b1453
mov ecx, dword [esp + 0x24]
mov dword [ecx + esi*8], ebx
mov ebx, ecx
mov dword [ebx + esi*8 + 4], eax
inc esi
jmp 0x100b1457
mov ebx, dword [esp + 0x18]
mov dword [edi + 0x90], esi
add ebx, 0x11340
xor esi, esi
jmp 0x100b1457
mov ebx, dword [esp + 0x24]
lea eax, [esi*8]
push 0x10
push eax
call fcn.10434a32
add esp, 8
mov dword [edi + 0x8c], eax
test eax, eax
je 0x100b1485
lea ecx, [esi*8]
push ecx
push ebx
push eax
call fcn.10425d60
add esp, 0xc
xor eax, eax
cmp dword [edi + 0x8c], eax
cmovne eax, esi
mov dword [edi + 0x88], eax
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp dword [edi + 0x88], eax
movzx ebx, bl
cmove ebx, eax
mov dword [esp + 0x10], ebx
jmp 0x100b14b2
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x100b15e4
mov ebx, dword [esp + 0x18]
push 0x100b0cc0
push 4
add ebx, 0x10180
push esi
push ebx
call fcn.104344b0
mov eax, esi
shl eax, 4
push 0x10
push eax
call fcn.10434a32
add esp, 0x18
mov dword [esp + 0x20], eax
test eax, eax
je 0x100b15ce
test esi, esi
je 0x100b157d
mov edi, dword [esp + 0x14]
mov ecx, eax
mov edx, ebx
mov eax, dword [edx]
lea edx, [edx + 4]
add eax, 0x148
lea ecx, [ecx + 0x10]
add eax, eax
movups xmm0, xmmword [edi + eax*8]
movups xmmword [ecx - 0x10], xmm0
sub esi, 1
jne 0x100b1502
mov edi, dword [esp + 0x2c]
xor edx, edx
mov eax, dword [esp + 0x20]
mov dword [edi + 0x9c], eax
xor eax, eax
mov edi, dword [esp + 0x18]
add edi, 0x11340
xor ecx, ecx
mov dword [esp + 0x20], edi
cmp dword [ebx], ecx
jne 0x100b1547
inc eax
jmp 0x100b155c
test eax, eax
je 0x100b1553
mov dword [edi + esi*8], edx
mov dword [edi + esi*8 + 4], eax
inc esi
mov edx, dword [ebx]
mov eax, 1
mov ecx, edx
add ebx, 4
inc ecx
sub dword [esp + 0x3c], 1
jne 0x100b1540
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
test eax, eax
je 0x100b158f
mov dword [ebx + esi*8], edx
mov dword [ebx + esi*8 + 4], eax
inc esi
jmp 0x100b158f
mov ebx, dword [esp + 0x18]
add ebx, 0x11340
mov dword [edi + 0x9c], eax
xor esi, esi
lea eax, [esi*8]
push 0x10
push eax
call fcn.10434a32
add esp, 8
mov dword [edi + 0x98], eax
test eax, eax
je 0x100b15bd
lea ecx, [esi*8]
push ecx
push ebx
push eax
call fcn.10425d60
add esp, 0xc
xor eax, eax
cmp dword [edi + 0x98], eax
cmovne eax, esi
mov dword [edi + 0x94], eax
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi + 0x94], ecx
movzx ebx, al
cmove ebx, ecx
mov dword [esp + 0x10], ebx
mov esi, dword [esp + 0x30]
test esi, esi
je 0x100b1716
mov ebx, dword [esp + 0x18]
push 0x100b0cc0
push 4
add ebx, 0x101c0
push esi
push ebx
mov dword [esp + 0x34], ebx
call fcn.104344b0
lea eax, [esi*4]
push 0x10
push eax
call fcn.10434a32
mov esi, eax
add esp, 0x18
test esi, esi
je 0x100b1704
xor ecx, ecx
cmp dword [esp + 0x30], ecx
jbe 0x100b16b3
mov edi, dword [esp + 0x30]
mov edx, ebx
mov ebx, dword [esp + 0x18]
nop
mov eax, dword [edx]
lea edx, [edx + 4]
mov eax, dword [ebx + eax*4 + 0x11300]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edi
jb 0x100b1640
mov edi, dword [esp + 0x2c]
xor eax, eax
xor edx, edx
mov dword [edi + 0xa8], esi
mov edi, ebx
mov ebx, dword [esp + 0x24]
add edi, 0x11340
xor esi, esi
mov dword [esp + 0x20], edi
xor ecx, ecx
cmp dword [ebx], ecx
jne 0x100b167d
inc eax
jmp 0x100b1692
test eax, eax
je 0x100b1689
mov dword [edi + esi*8], edx
mov dword [edi + esi*8 + 4], eax
inc esi
mov edx, dword [ebx]
mov eax, 1
mov ecx, edx
add ebx, 4
inc ecx
sub dword [esp + 0x30], 1
jne 0x100b1676
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
test eax, eax
je 0x100b16c5
mov dword [ebx + esi*8], edx
mov dword [ebx + esi*8 + 4], eax
inc esi
jmp 0x100b16c5
mov ebx, dword [esp + 0x18]
mov dword [edi + 0xa8], esi
add ebx, 0x11340
xor esi, esi
lea eax, [esi*8]
push 0x10
push eax
call fcn.10434a32
add esp, 8
mov dword [edi + 0xa4], eax
test eax, eax
je 0x100b16f3
lea ecx, [esi*8]
push ecx
push ebx
push eax
call fcn.10425d60
add esp, 0xc
xor eax, eax
cmp dword [edi + 0xa4], eax
cmovne eax, esi
mov dword [edi + 0xa0], eax
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi + 0xa0], ecx
movzx ebx, al
cmove ebx, ecx
cmp dword [edi + 0x88], 0
jne 0x100b1746
mov eax, dword [edi + 0x90]
test eax, eax
je 0x100b1746
push eax
mov dword [edi + 0x88], 0
call fcn.10434a18
add esp, 4
mov dword [edi + 0x90], 0
cmp dword [edi + 0x94], 0
jne 0x100b1776
mov eax, dword [edi + 0x9c]
test eax, eax
je 0x100b1776
push eax
mov dword [edi + 0x94], 0
call fcn.10434a18
add esp, 4
mov dword [edi + 0x9c], 0
cmp dword [edi + 0xa0], 0
jne 0x100b17a6
mov eax, dword [edi + 0xa8]
test eax, eax
je 0x100b17a6
push eax
mov dword [edi + 0xa0], 0
call fcn.10434a18
add esp, 4
mov dword [edi + 0xa8], 0
test bl, bl
je 0x100b1934
mov al, byte [esp + 0x5c]
mov cl, byte [edi + 0x5c]
shr cl, 4
xor cl, al
and cl, 1
xor al, cl
cmp dword [edi + 0x408], 0xfffe0300
mov byte [esp + 0x5c], al
mov eax, dword [edi + 0x5a8]
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x5b0]
mov dword [esp + 0x58], eax
jae 0x100b17f3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c78]
add eax, 0x398
jmp 0x100b17f9
mov eax, dword [edi + 0x58c]
mov cl, byte [esp + 0x9c]
mov dword [esp + 0x4c], eax
and cl, 0xdb
lea eax, [edi + 0x4b8]
mov dword [esp + 0xb8], 0
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x48]
mov byte [esp + 0x9c], cl
mov dword [esp + 0xc0], 0
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x7a68]
cmp dword [eax + 0x54], 2
jne 0x100b18ae
or cl, 4
mov dword [esp + 0x60], 6
mov dword [esp + 0x64], 0x222
mov dword [esp + 0x68], 6
mov dword [esp + 0x6c], 0x1fa
mov dword [esp + 0x70], 0x20a
mov byte [esp + 0x9c], cl
mov dword [esp + 0x78], 0xc
mov dword [esp + 0x7c], 0x24
mov dword [esp + 0x80], 0xa
mov dword [esp + 0x84], 0
mov dword [esp + 0x74], 0x22
mov word [esp + 0x88], pe_nt_image_headers32
push ecx
lea eax, [esp + 0x50]
push eax
push ecx
push dword [edi + 0x590]
lea eax, [edi + 0x14]
push eax
push ecx
lea ecx, [esp + 0x78]
call fcn.100b4290
mov al, byte [esp + 0x9c]
mov edx, dword [esp + 0xbc]
mov cl, al
shr cl, 4
and al, 0x10
and cl, 4
mov dword [edi + 0x5b4], edx
or cl, al
mov dword [edi + 0x44], 0
mov al, byte [edi + 0x5c]
shr cl, 2
and al, 0xfa
or cl, al
mov dword [edi + 0x40], 0
mov eax, dword [esp + 0xa0]
and dword [edi + 0x5b0], edx
mov byte [edi + 0x5c], cl
mov ecx, dword [esp + 0xb8]
mov dword [edi + 0x5b8], ecx
mov ecx, dword [edi + 0x18]
mov dword [edi + 0x5cc], eax
mov dword [edi + 0x9f0], ecx
mov dword [edi + 0x18], 0
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret 0xc