Function at 0x10223820
Capabilities:
Inspect section memory permissions
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x180
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov edi, ecx
mov byte [ebp - 0x16d], 0
cmp byte [edi + 0x5784], 1
jne 0x10223884
mov ecx, dword [edi + 0x5788]
cmp ecx, 0xa
jae 0x1022386d
lea eax, [ecx + 1]
mov dword [edi + 0x5788], eax
cmp ecx, 3
je 0x10223866
cmp ecx, 9
jne 0x1022386d
mov byte [edi + 0x5785], 1
cmp byte [edi + 0x5785], 1
jne 0x10223884
mov ecx, edi
call fcn.10236080
mov byte [edi + 0x5785], 0
mov al, byte [edi + 0xb3]
test al, 2
jne 0x102238b1
test byte [edi + 0xb1], 0x20
jne 0x102238b1
test byte [edi + 0xb0], 1
jne 0x102238b1
cmp dword [edi + 0xc4], 0
jne 0x102238b1
test al, 1
jne 0x102238b1
xor cl, cl
jmp 0x102238b3
mov cl, 1
mov al, byte [edi + 0xa4]
test al, 8
jne 0x102238dc
test cl, cl
jne 0x102238dc
and al, 0xfe
mov byte [edi + 0xa4], al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 4
test al, 2
je 0x10223950
cmp dword [edi + 0xec], 0x20
jne 0x10223950
cmp byte [edi + 0xe8c], 0
je 0x10223950
cmp dword [edi + 0x724], 0
jne 0x10223950
test byte [edi + 0xa9], 4
jne 0x10223950
push dword [edi + 0xe9c]
lea eax, [ebp - 0x164]
push dword [edi + 0xe98]
push dword [edi + 0xe94]
push dword [edi + 0xe90]
push 0x1046e9c0
push eax
call fcn.100086a0
add esp, 0x18
lea eax, [ebp - 0x164]
lea ecx, [edi + 0x4438]
push 0xff0000
push 0xa
push eax
call fcn.1023fdd0
or byte [edi + 0xa9], 4
cmp dword [edi + 0x730], 0
je 0x10224718
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0xa0
mov dword [0x11d0d8f4], 0
call esi
test ax, ax
jns 0x10223983
or dword [0x11d0d8f4], 0x100
push 0xa1
call esi
test ax, ax
jns 0x10223999
or dword [0x11d0d8f4], 0x100
push 0xa2
call esi
test ax, ax
jns 0x102239af
or dword [0x11d0d8f4], 0x200
push 0xa3
call esi
test ax, ax
jns 0x102239c5
or dword [0x11d0d8f4], 0x200
push 0xa4
call esi
test ax, ax
jns 0x102239db
or dword [0x11d0d8f4], 0x400
push 0xa5
call esi
test ax, ax
jns 0x102239f1
or dword [0x11d0d8f4], 0x400
lea ecx, [edi + 0x3f58]
call fcn.102010d0
or byte [edi + 0xb2], al
test al, al
je 0x10223a1d
cmp dword [edi + 0x3744], 0
je 0x10223a1d
cmp byte [0x11d0d1eb], 0
sete byte [0x11d0d1eb]
lea eax, [ebp - 0x17c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
push 0
push 0x2710
push dword [ebp - 0x178]
push dword [ebp - 0x17c]
call fcn.10451250
test byte [edi + 0xad], 0x40
mov esi, eax
mov ebx, edx
mov dword [edi + 0x9d8], esi
mov dword [edi + 0x9dc], ebx
je 0x10223aaa
mov ecx, dword [edi + 0x4a48]
mov eax, ecx
mov edx, dword [edi + 0x4a4c]
or eax, edx
jne 0x10223a7b
mov dword [edi + 0x4a48], esi
mov dword [edi + 0x4a4c], ebx
jmp 0x10223aaa
sub esi, ecx
push 0
push 0x2710
sbb ebx, edx
push ebx
push esi
call fcn.10451250
test edx, edx
jl 0x10223aaa
jg 0x10223a97
test eax, eax
je 0x10223aaa
mov ecx, edi
mov dword [edi + 0x4a48], esi
mov dword [edi + 0x4a4c], ebx
call fcn.1022e840
movss xmm0, dword [edi + 0x78]
ucomiss xmm0, dword [0x1122d240]
lahf
test ah, 0x44
jp 0x10223ac3
mov ecx, edi
call fcn.1022b750
mov ecx, dword [edi + 0x4494]
lea ebx, [edi + 0x4438]
mov eax, dword [ecx + 0x730]
cmp eax, dword [edi + 0x463c]
jne 0x10223aeb
mov eax, dword [ecx + 0x734]
cmp eax, dword [edi + 0x4640]
je 0x10223b4d
lea eax, [ebp - 0x180]
mov ecx, edi
push eax
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.1022b570
movss xmm0, dword [ebp - 0x16c]
call fcn.10451080
movss xmm0, dword [ebp - 0x168]
push eax
call fcn.10451080
movss xmm0, dword [ebp - 0x180]
push eax
call fcn.10451080
movss xmm0, dword [ebp - 0x178]
push eax
call fcn.10451080
push eax
mov ecx, ebx
call fcn.1023d890
mov eax, dword [edi + 0x4a34]
mov esi, dword [edi + 0x9d8]
inc eax
inc dword [edi + 0x4a30]
mov ecx, esi
sub ecx, dword [edi + 0x4a40]
mov edx, dword [edi + 0x9dc]
sbb edx, dword [edi + 0x4a44]
mov dword [edi + 0x4a34], eax
js 0x10223bd9
jg 0x10223b86
cmp ecx, dword [edi + 0x4a38]
jbe 0x10223bd9
mov dword [edi + 0x4670], 0xffffffff
mov dword [edi + 0x4674], 0x7fffffff
mov dword [edi + 0x47bc], eax
call fcn.10451200
movss xmm1, dword [0x1122d540]
cvtsd2ss xmm0, xmm0
mov dword [edi + 0x4a40], esi
mov dword [edi + 0x4a34], 0
divss xmm1, xmm0
movss dword [edi + 0x47c0], xmm1
mov eax, dword [edi + 0x9dc]
mov dword [edi + 0x4a44], eax
test dword [edi + 0x6c], 0x2000
je 0x10223bfe
lea ecx, [edi + 0x3e08]
call fcn.102010d0
or byte [edi + 0xb2], al
test al, al
je 0x10223bfe
xor dword [edi + 0x4644], 4
cmp dword [edi + 0x3ed4], 0
je 0x10223c23
lea ecx, [edi + 0x3ecc]
call fcn.102010d0
or byte [edi + 0xb2], al
test al, al
je 0x10223c23
mov byte [edi + 0xa70], 1
mov eax, dword [edi + 4]
mov dword [ebp - 0x16c], 0
test al, 8
jne 0x10223c3d
cmp dword [edi + 0x379c], 2
jne 0x10223c60
and eax, 0xfffffff7
test byte [edi + 0xa4], 1
mov dword [edi + 4], eax
jne 0x10223c60
mov dword [edi + 0x9cc], 1
mov dword [ebp - 0x16c], 1
mov ecx, dword [edi + 0x6c]
mov eax, ecx
mov esi, dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
and eax, 0x300
cmp eax, 0x300
jne 0x10223cd0
and ecx, 0xfffffdff
lea eax, [ebp - 0x17c]
mov dword [edi + 0x6c], ecx
or dword [edi + 0x4644], 0x20
push eax
call esi
push 0
push 0x2710
push dword [ebp - 0x178]
push dword [ebp - 0x17c]
call fcn.10451250
add eax, 0x4e20
mov dword [ebp - 0x16c], 1
mov dword [edi + 0x46a0], eax
adc edx, 0
mov dword [edi + 0x46a4], edx
mov dword [edi + 0x9cc], 1
test byte [edi + 0xa4], 2
jne 0x1022458e
test byte [edi + 0xaa], 8
jne 0x10223cf3
test byte [edi + 0xa8], 0x10
jne 0x1022458e
lea ecx, [edi + 0x3f20]
call fcn.102010d0
or byte [edi + 0xb2], al
test al, al
je 0x10223d93
lea ecx, [edi + 0x3f3c]
call fcn.102010d0
or byte [edi + 0xb2], al
test al, al
je 0x10223d93
mov ecx, dword [edi + 0x9d8]
sub ecx, dword [0x11d23cd0]
mov eax, dword [edi + 0x9dc]
sbb eax, dword [0x11d23cd4]
mov dword [ebp - 0x178], eax
js 0x10223d93
jg 0x10223d4b
cmp ecx, 0x1f4
jbe 0x10223d93
lea eax, [ebp - 0x17c]
push eax
call esi
push 0
push 0x2710
push dword [ebp - 0x178]
push dword [ebp - 0x17c]
call fcn.10451250
cmp byte [0x11d23ccc], 0
mov ecx, ebx
mov dword [0x11d23cd0], eax
sete al
mov dword [0x11d23cd4], edx
mov byte [0x11d23ccc], al
push 9
movzx eax, al
push eax
call fcn.1023fe90
test byte [edi + 0xa4], 8
jne 0x10223dbb
test byte [edi + 0xa8], 8
jne 0x10223dbb
cmp byte [edi + 0x59c5], 0
je 0x10223db7
cmp byte [edi + 0x59c6], 0
jne 0x10223dbb
xor eax, eax
jmp 0x10223dcb
push 0
push 1
push edi
lea ecx, [edi + 0x4a5c]
call fcn.102279a0
cmp byte [0x11ad3cc6], 0
mov dword [ebp - 0x168], eax
je 0x10223dea
mov cl, byte [edi + 0xa8]
not cl
test cl, cl
jns 0x10223f07
test byte [edi + 0xa8], 8
je 0x10223f07
test eax, 0x4000000
je 0x10223f07
test eax, 0x10000000
je 0x10223ec9
and eax, 0x60000000
cmp eax, 0x20000000
je 0x10223ec9
cmp eax, 0x40000000
je 0x10223e89
cmp eax, 0x60000000
mov eax, dword [edi + 0x4644]
je 0x10223e4f
or eax, 0x80
mov dword [edi + 0x46c0], 0xffffffff
mov dword [edi + 0x46c4], 0x7fffffff
jmp 0x10223ee8
and eax, 0xffffff7f
mov dword [edi + 0x46c0], 0
mov dword [edi + 0x46c4], 0
and eax, 0xfffffeff
mov dword [edi + 0x4644], eax
mov dword [ebx + 0x298], 0
mov dword [ebx + 0x29c], 0
jmp 0x10223f07
mov eax, dword [edi + 0x4644]
or eax, 0x100
mov dword [edi + 0x46d0], 0xffffffff
mov dword [edi + 0x46d4], 0x7fffffff
and eax, 0xffffff7f
mov dword [edi + 0x4644], eax
mov dword [edi + 0x46c0], 0
mov dword [edi + 0x46c4], 0
jmp 0x10223f07
mov eax, dword [edi + 0x4644]
mov dword [edi + 0x46c4], 0
and eax, 0xffffff7f
mov dword [edi + 0x46c0], 0
mov dword [edi + 0x46d4], 0
and eax, 0xfffffeff
mov dword [edi + 0x46d0], 0
mov dword [edi + 0x4644], eax
cmp byte [edi + 0x5400], 0
je 0x10223f17
xor eax, eax
jmp 0x10224019
mov eax, dword [ebp - 0x168]
test eax, eax
jns 0x10223f42
mov ecx, 1
mov dword [edi + 0x9cc], 1
mov dword [ebp - 0x16c], ecx
mov byte [ebp - 0x16d], cl
mov dword [ebp - 0x168], eax
cmp byte [edi + 0x573c], 0
jne 0x10224019
cmp byte [edi + 0x59c5], 0
je 0x10223f61
cmp byte [edi + 0x59c6], 0
jne 0x10223f7a
test byte [edi + 0xa4], 8
jne 0x10223f7a
mov eax, dword [edi + 0xc8]
shr eax, 1
test al, 1
jne 0x10224013
cmp byte [edi + 0x1238], 0
jne 0x10223fb4
lea ecx, [edi + 0x1158]
call fcn.102010d0
or byte [edi + 0xb2], al
test al, al
mov eax, dword [ebp - 0x168]
je 0x10224019
mov dword [edi + 0x9cc], 1
mov dword [ebp - 0x16c], 1
jmp 0x10224019
cmp byte [edi + 0x123e], 0
je 0x10223fd7
test byte [edi + 0xa4], 1
je 0x10223fd7
push 1
push ecx
mov ecx, edi
call fcn.102236c0
mov byte [edi + 0x123e], 0
lea esi, [edi + 0x1239]
push esi
push ecx
mov ecx, edi
call fcn.10223500
mov al, byte [edi + 0xa4]
and al, 1
cmp al, byte [esi]
je 0x10224013
cmp dword [edi + 0x379c], 3
je 0x10224013
test byte [edi + 0xae], 4
mov eax, dword [ebp - 0x168]
jne 0x10224019
mov byte [ebp - 0x16d], 1
jmp 0x10223f9e
mov eax, dword [ebp - 0x168]
and eax, 0x3ffffff
mov dword [ebp - 0x168], eax
mov al, byte [edi + 0xac]
test al, 2
je 0x1022405c
test byte [edi + 0xa4], 1
jne 0x1022405c
cmp byte [edi + 0x573c], 0
jne 0x1022405c
and al, 0xfd
mov dword [edi + 0x9cc], 1
mov dword [ebp - 0x16c], 1
mov byte [edi + 0xac], al
mov eax, dword [edi + 0xcc]
test eax, eax
je 0x102240c0
cmp byte [edi + 0x573c], 0
jne 0x102240c0
cmp eax, 1
jne 0x10224094
test byte [edi + 0xa4], al
jne 0x10224088
mov dword [edi + 0x9cc], eax
mov dword [ebp - 0x16c], eax
mov dword [edi + 0xcc], 2
jmp 0x102240c0
cmp eax, 3
jne 0x102240c0
test byte [edi + 0xa4], 1
je 0x102240b6
mov dword [edi + 0x9cc], 1
mov dword [ebp - 0x16c], 1
mov dword [edi + 0xcc], 4
mov dl, byte [edi + 0xae]
test dl, 2
je 0x1022416c
mov dh, byte [edi + 0xa4]
and dl, 0xfd
mov dword [edi + 0x9cc], 1
mov esi, 1
mov dword [ebp - 0x16c], esi
mov byte [edi + 0xae], dl
test dh, 1
jne 0x102241de
mov eax, dword [edi + 0xc8]
shr eax, 1
test al, 1
je 0x10224115
test byte [edi + 0xb0], 0x40
jne 0x102241de
mov eax, dword [edi + 0x53c8]
xor esi, esi
mov byte [edi + 0x573c], 0
test eax, eax
je 0x1022412e
mov esi, dword [eax + 0xb8]
mov ch, byte [edi + 0xb3]
test ch, 2
je 0x10224163
test si, si
setne cl
bt esi, 0x11
setb al
test al, cl
je 0x10224163
mov eax, dword [0x11d0d8ec]
test eax, eax
jne 0x10224163
test ch, 8
jne 0x10224163
test dh, 8
cmove eax, esi
mov dword [0x11d0d8ec], eax
and dl, 0xfb
mov byte [edi + 0xae], dl
mov esi, dword [ebp - 0x16c]
mov ecx, dword [edi + 0xfc]
test ecx, ecx
je 0x102241e9
test byte [edi + 0xa4], 8
jne 0x102241e9
cmp byte [edi + 0x59c5], 0
je 0x10224197
cmp byte [edi + 0x59c6], 0
jne 0x102241e9
mov eax, dword [edi + 0xc8]
shr eax, 1
test al, 1
je 0x102241e9
cmp byte [edi + 0x573c], 0
jne 0x102241e9
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
mov al, byte [edi + 0xa4]
setne cl
and al, 1
cmp al, cl
je 0x102241e9
test byte [edi + 0xae], 4
jne 0x102241e9
mov dword [edi + 0x9cc], 1
jmp 0x102241ed
or dl, 4
mov byte [edi + 0xae], dl
jmp 0x10224172
test esi, esi
je 0x10224263
mov eax, dword [edi + 0xc4]
shr eax, 1
test al, 1
je 0x1022420b
cmp dword [edi + 0xc8], 0
je 0x1022420b
mov eax, dword [ebp + 8]
test byte [eax + 0x10], 4
je 0x10224222
mov al, byte [edi + 0xa8]
test al, 0x10
je 0x10224222
test al, 0x20
je 0x10224263
test byte [edi + 0xaa], 8
je 0x10224263
mov ecx, edi
call fcn.10222de0
cmp byte [edi + 0x1238], 0
je 0x10224263
mov al, byte [edi + 0xa4]
and al, 1
cmp byte [edi + 0x1239], al
je 0x10224263
cmp byte [ebp - 0x16d], 0
mov byte [edi + 0x1239], al
push eax
je 0x1022425c
push ecx
mov ecx, edi
call fcn.102236c0
jmp 0x10224263
mov ecx, edi
call fcn.10223690
mov al, byte [edi + 0xaa]
test al, 0x10
je 0x102242fc
test byte [edi + 0xa4], 1
je 0x102242de
cmp dword [0x11c4d988], 0x10234530
jne 0x102242de
test byte [edi + 0xa8], 0x10
jne 0x1022429a
test byte [edi + 0xab], 4
jne 0x102242fc
jmp 0x102242b5
test al, 0x60
jne 0x102242b5
mov ecx, edi
call fcn.1022e810
test al, al
jne 0x102242b5
test dword [edi + 0x4aa8], 0x400
je 0x102242be
cmp dword [edi + 0x4a68], 0
jne 0x102242fc
or dword [edi + 0x4644], 0x800
mov dword [edi + 0x4700], 0xffffffff
mov dword [edi + 0x4704], 0x7fffffff
jmp 0x102242fc
and dword [edi + 0x4644], 0xfffff7ff
mov dword [edi + 0x4700], 0
mov dword [edi + 0x4704], 0
test byte [edi + 0xa4], 1
je 0x10224718
mov edx, dword [edi + 0x9d8]
mov ecx, edx
sub ecx, dword [edi + 0x9e0]
mov esi, dword [edi + 0x9dc]
mov eax, esi
sbb eax, dword [edi + 0x9e4]
test eax, eax
jg 0x1022433d
jl 0x10224330
cmp ecx, 0x64
jae 0x1022433d
cmp dword [ebp - 0x168], 0
je 0x10224718
cmp byte [edi + 0x5400], 0
mov dword [edi + 0x9e0], edx
mov dword [edi + 0x9e4], esi
jne 0x10224718
lea ecx, [edi + 0x3e24]
call fcn.102010d0
or byte [edi + 0xb2], al
test al, al
je 0x102243bd
mov eax, dword [edi + 4]
test eax, 0x400000
je 0x102243bd
or dword [edi + 0x70], 1
xor eax, 0x8000
mov dword [edi + 4], eax
test eax, 0x8000
mov ecx, 0x1046eb10
mov eax, 0x1046eb00
cmove eax, ecx
push eax
lea eax, [ebp - 0x9c]
push 0x1046eb20
push eax
call fcn.10098560
add esp, 0xc
lea eax, [ebp - 0x9c]
mov ecx, ebx
push 0xff00
push 4
push eax
call fcn.1023fdd0
cmp dword [edi + 0xa0], 0
je 0x102243f0
cmp byte [edi + 0x533e], 0
je 0x102243f0
push 0
mov ecx, ebx
mov byte [edi + 0x533e], 0
call fcn.1023fe50
push ecx
push 0
push 0
push 0x1046d670
mov ecx, edi
call fcn.102278d0
lea ecx, [edi + 0x3dec]
call fcn.102010d0
or byte [edi + 0xb2], al
test al, al
je 0x10224454
cmp byte [edi + 0x533e], 0
sete al
cmp dword [edi + 0xa0], 0
mov byte [edi + 0x533e], al
movzx esi, al
mov byte [ebp - 0x16c], al
je 0x10224437
xor esi, esi
mov byte [edi + 0x533e], 0
mov byte [ebp - 0x16c], 0
push dword [ebp - 0x16c]
mov ecx, ebx
call fcn.1023fe50
push ecx
push 0
push esi
push 0x1046d670
mov ecx, edi
call fcn.102278d0
test dword [edi + 4], 0x800
je 0x102244a3
movss xmm3, dword [edi + 0x3784]
ucomiss xmm3, dword [0x1122d5f8]
lahf
test ah, 0x44
jnp 0x102244a3
movss xmm2, dword [edi + 0x14]
movaps xmm0, xmm2
movss dword [edi + 0x24], xmm2
mulss xmm0, xmm3
movss xmm3, dword [0x1122d240]
divss xmm3, xmm0
subss xmm3, dword [edi + 0x38]
mulss xmm3, dword [edi + 0x48]
addss xmm3, dword [edi + 0x38]
movss dword [edi + 0x38], xmm3
movss xmm0, dword [edi + 0x3784]
comiss xmm0, dword [edi + 0x3f98]
jbe 0x102244bc
movss dword [edi + 0x3f98], xmm0
cmp dword [edi + 0x9c], 0
mov ebx, dword [ebp - 0x168]
mov dword [edi + 0x3784], 0xc61c3c00
jne 0x1022453a
lea ecx, [edi + 0x1174]
movsx esi, bl
call fcn.102010d0
or byte [edi + 0xb2], al
test al, al
je 0x102244f0
add esi, 0xa
lea ecx, [edi + 0x1190]
call fcn.102010d0
or byte [edi + 0xb2], al
test al, al
je 0x10224508
sub esi, 0xa
test esi, esi
je 0x1022453a
movd xmm1, esi
mov ecx, edi
cvtdq2ps xmm1, xmm1
push 1
mulss xmm1, dword [edi + 0xc]
mulss xmm1, dword [edi + 0x78]
divss xmm1, dword [0x1122d4a0]
addss xmm1, dword [edi + 8]
call fcn.102231c0
or dword [edi + 0x70], 0x400
lea ecx, [edi + 0x11e4]
call fcn.102010d0
or byte [edi + 0xb2], al
test al, al
je 0x10224556
or byte [edi + 0xad], 0x80
test dword [edi + 0x6c], 0x3000
je 0x10224567
push ebx
mov ecx, edi
call fcn.10224730
test dword [edi + 0x6c], 0x2000
je 0x10224718
mov ecx, edi
call fcn.10224b50
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 4
mov al, byte [edi + 0xa8]
test al, 0x10
je 0x10224718
mov cl, byte [edi + 0xa9]
test cl, 4
jne 0x10224718
test byte [edi + 0xaa], 8
je 0x10224711
test al, al
js 0x102245d7
push 0xff0000
push 0x98967f
push 0x1046ea30
mov ecx, ebx
call fcn.1023fdd0
jmp 0x10224711
test cl, 2
je 0x102245f4
push 0xff0000
push 0xa
push 0x1046ea60
mov ecx, ebx
call fcn.1023fdd0
jmp 0x10224711
test al, 0x20
jne 0x10224711
mov edx, dword [edi + 0x738]
mov eax, dword [edi + 0x734]
mov ecx, dword [edi + 0x730]
test edx, edx
je 0x10224628
push edx
push eax
push ecx
lea eax, [ebp - 0x4c]
push 0x1046ea90
push eax
call fcn.100086a0
add esp, 0x14
jmp 0x1022463b
push eax
push ecx
lea eax, [ebp - 0x4c]
push 0x1046ead0
push eax
call fcn.100086a0
add esp, 0x10
mov ecx, edi
call fcn.10232b30
test al, al
lea eax, [ebp - 0x17c]
push eax
jne 0x102246aa
call esi
push 0
push 0x2710
push dword [ebp - 0x178]
push dword [ebp - 0x17c]
call fcn.10451250
add eax, 0x2710
lea ecx, [ebp - 0x4c]
mov dword [ebx + 0x358], eax
mov eax, ecx
adc edx, 0
mov dword [ebx + 0x35c], edx
mov edx, ebx
sub edx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx + 0x4ef], al
test al, al
jne 0x10224684
or dword [ebx + 0x20c], 0x100000
mov dword [ebx + 0x5f0], 0xff0000
jmp 0x10224711
call esi
push 0
push 0x2710
push dword [ebp - 0x178]
push dword [ebp - 0x17c]
call fcn.10451250
mov cl, byte [ebp - 0x4c]
add eax, 0x2710
mov dword [edi + 0x47b0], eax
lea eax, [edi + 0x4928]
adc edx, 0
mov dword [edi + 0x47b4], edx
test cl, cl
je 0x102246fa
lea edx, [ebp - 0x4c]
sub edx, eax
nop word [eax + eax]
mov byte [eax], cl
inc eax
mov cl, byte [eax + edx]
test cl, cl
jne 0x102246f0
mov byte [eax], 0
or dword [edi + 0x4644], 0x400000
mov dword [edi + 0x4a28], 0xff0000
or byte [edi + 0xa9], 4
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1045066c
mov esp, ebp
pop ebp
ret 4