Function at 0x434890
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
push esi
mov esi, ecx
mov dword [esp + 0xc], 8
mov ecx, dword [ebp + 8]
mov ebx, 0x6f
push edi
mov eax, ebx
mov dword [esp + 0x1c], 0xb4
mov edi, 0x3f
mov dl, byte [ecx]
test dl, dl
cmove eax, edi
lea edi, [esi + 0x60]
mov byte [esp + 0x18], al
mov eax, 0xff
cmove eax, ebx
xor ebx, ebx
mov dword [esp + 0x14], eax
nop dword [eax]
push dword [esp + 0x18]
push eax
movsx eax, byte [esi + 8]
cmp ebx, eax
sete al
movzx eax, al
push eax
movzx eax, byte [ecx]
lea ecx, [edi - 0x24]
push eax
call fcn.004221d0
movsx eax, byte [esi + 8]
cmp ebx, eax
je 0x43490c
xor eax, eax
mov dword [edi], eax
jmp 0x434964
mov ax, word [edi]
add ax, 4
movzx ecx, ax
movzx edx, ax
mov word [edi], ax
cmp ax, word [esp + 0x1c]
jl 0x434931
lea eax, [edx - 0xb4]
mov word [edi], ax
movzx eax, ax
jmp 0x434933
mov eax, ecx
mov ecx, 0xff
mov word [edi + 2], cx
movsx ecx, ax
call fcn.00401030
mulss xmm0, dword [0x4f3d60]
movss xmm1, dword [edi - 0x18]
subss xmm1, xmm0
addss xmm0, dword [edi - 0x10]
movss dword [edi - 0x14], xmm1
movss dword [edi - 0xc], xmm0
mov eax, dword [esp + 0x14]
inc ebx
mov ecx, dword [ebp + 8]
add edi, 0x4c
sub dword [esp + 0x10], 1
jne 0x4348e0
movsx ecx, word [esi + 0x40]
call fcn.004010e0
mulss xmm0, dword [0x4f3ffc]
mov edx, dword [ebp + 8]
mov dword [esi], 0x43e40000
addss xmm0, dword [0x4f3f60]
movss dword [esi + 4], xmm0
cmp byte [edx], 0
movzx eax, word [esi + 0xa]
mov ecx, eax
je 0x4349c5
mov ecx, 0xf7
cmp ax, cx
jge 0x4349be
add eax, 8
movzx eax, ax
jmp 0x4349d4
mov eax, 0xff
jmp 0x4349d4
xor edx, edx
lea eax, [ecx - 8]
cmp cx, 8
movzx eax, ax
cmovle eax, edx
movzx eax, ax
mov word [esi + 0xa], ax
mov eax, dword [esp + 0x14]
movzx edi, al
movzx eax, word [esi + 0xc]
cmp ax, di
jge 0x434a00
add eax, 8
movzx eax, ax
mov word [esi + 0xc], ax
cmp ax, di
jle 0x434a1b
mov word [esi + 0xc], di
jmp 0x434a1b
jle 0x434a1b
add eax, 0xfffffff8
movzx ecx, ax
mov eax, edi
cmp cx, di
movzx edx, cx
mov word [esi + 0xc], cx
cmovl edx, eax
mov word [esi + 0xc], dx
cmp dword [esi + 0x28c], 0
movzx eax, word [esi + 0x290]
jne 0x434a6c
test ax, ax
jns 0x434a4d
add eax, 0xd
movzx eax, ax
mov word [esi + 0x290], ax
test ax, ax
jle 0x434aa5
xor eax, eax
mov word [esi + 0x290], ax
jmp 0x434aa5
jle 0x434aa5
add eax, 0xfffffff3
movzx eax, ax
mov word [esi + 0x290], ax
test ax, ax
jns 0x434aa5
xor eax, eax
mov word [esi + 0x290], ax
jmp 0x434aa5
mov ecx, 0xff
cmp ax, cx
jge 0x434a8a
add eax, 0xd
movzx eax, ax
mov word [esi + 0x290], ax
cmp ax, cx
jle 0x434aa5
jmp 0x434a9e
jle 0x434aa5
add eax, 0xfffffff3
movzx eax, ax
mov word [esi + 0x290], ax
cmp ax, cx
jge 0x434aa5
mov word [esi + 0x290], cx
mov edi, dword [ebp + 8]
cmp byte [edi], 0
je 0x4354a3
push 0x2e
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, 0x10000
je 0x434c17
call fcn.00423ed0
push 0
sub esp, 8
mov esi, dword [eax]
mov bl, byte [esi]
mov ecx, dword [esi + 4]
movzx edx, bl
inc bl
movzx ecx, word [ecx + edx*2]
push ecx
lea ecx, [eax + 0xdc]
mov byte [esi], bl
call fcn.00446390
mov al, byte [esi]
cmp al, byte [esi + 1]
jb 0x434af7
mov byte [esi], 0
call fcn.0041fac0
mov ecx, eax
call fcn.0041fb20
call fcn.00420dc0
mov word [eax + 1], 0x909
mov byte [eax], 5
mov dword [eax + 4], 0xa00
mov dword [eax + 8], 0x2010000
mov dword [eax + 0xc], 0x1010200
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x50a7b8]
cmp eax, dword [ecx + 4]
jle 0x434b7e
push 0x50a7b8
call fcn.0047d453
add esp, 4
cmp dword [0x50a7b8], 0xffffffff
jne 0x434b7e
xorps xmm0, xmm0
movups xmmword [0x50a7bc], xmm0
push 0x4c8930
mov word [0x50a7c8], 0x101
call fcn.0047d765
add esp, 4
push 0x50a7b8
call fcn.0047d409
add esp, 4
cmp byte [0x50a7c8], 0
sete bl
call fcn.00420dc0
mov byte [eax + 4], bl
call fcn.0041fac0
mov ecx, eax
call fcn.00420060
call fcn.00420dc0
mov esi, eax
movzx ecx, byte [esi + 9]
push ecx
movzx ecx, byte [esi + 2]
push ecx
movzx ecx, byte [esi + 1]
push ecx
movzx ecx, byte [esi]
push ecx
call fcn.00423ed0
mov ecx, eax
call fcn.00424370
mov cl, byte [esi + 7]
xor al, al
movaps xmm0, xmmword [0x4f4340]
cmp al, cl
movzx edx, cl
sbb eax, eax
movups xmmword [esp + 0x20], xmm0
and eax, edx
movaps xmm0, xmmword [0x4f4350]
movups xmmword [esp + 0x30], xmm0
cmp eax, 7
jae 0x434bf7
xor al, al
cmp al, cl
sbb esi, esi
and esi, edx
jmp 0x434bfc
mov esi, 7
call fcn.00443960
mov ecx, dword [esp + esi*4 + 0x20]
mov dword [eax + 0x138], ecx
mov byte [edi], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ebx, dword [ebp + 0xc]
movzx eax, word [ebx]
test al, al
js 0x434dd4
cmp dword [ebx + 0x14], 0
je 0x434dd4
cmp byte [ebx + 0x18], 0
je 0x434dd4
movss xmm1, dword [ebx + 4]
xor cl, cl
movss xmm5, dword [ebx + 8]
movss xmm4, dword [0x4f3e98]
mov dword [esp + 0x10], 0xffffffff
movzx eax, cl
mov dword [esp + 0x1c], eax
imul eax, eax, 0x4c
mov edx, dword [eax + esi + 0x74]
lea edi, [eax + esi]
mov dword [esp + 0x18], edx
movss xmm0, dword [eax + esi + 0x5c]
comiss xmm0, xmm5
ja 0x434cc2
addss xmm0, xmm4
comiss xmm5, xmm0
ja 0x434cc2
mov dl, byte [eax + esi + 0x46]
cmp dl, byte [eax + esi + 0x44]
je 0x434ca2
movss xmm0, dword [eax + esi + 0x58]
addss xmm0, dword [eax + esi + 0x48]
comiss xmm1, xmm0
jb 0x434ca2
addss xmm0, xmm4
comiss xmm0, xmm1
jae 0x434d1b
cmp dl, byte [eax + esi + 0x45]
je 0x434cc2
movss xmm0, dword [eax + esi + 0x58]
addss xmm0, dword [eax + esi + 0x50]
comiss xmm1, xmm0
jb 0x434cc2
addss xmm0, xmm4
comiss xmm0, xmm1
jae 0x434d22
mov dword [edi + 0x74], 0
movss xmm1, dword [ebx + 4]
movss xmm5, dword [ebx + 8]
movaps xmm6, xmm1
subss xmm6, dword [esi]
movss xmm2, dword [eax + esi + 0x64]
movaps xmm3, xmm5
subss xmm3, dword [esi + 4]
comiss xmm2, xmm6
ja 0x434d0e
movss xmm0, dword [eax + esi + 0x68]
comiss xmm0, xmm3
ja 0x434d0e
addss xmm2, dword [eax + esi + 0x6c]
comiss xmm6, xmm2
ja 0x434d0e
addss xmm0, dword [eax + esi + 0x70]
comiss xmm3, xmm0
jbe 0x434d2c
inc cl
cmp cl, 8
jb 0x434c55
jmp 0x434d7d
mov eax, 1
jmp 0x434d27
mov eax, 2
lea edx, [edi + 0x74]
mov dword [edx], eax
cmp dword [esp + 0x18], 0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov byte [esi + 9], cl
jne 0x434d7d
cmp dword [edi + 0x74], 0
je 0x434d7d
call fcn.00423ed0
push 0
sub esp, 8
mov edi, dword [eax]
mov bl, byte [edi + 8]
mov ecx, dword [edi + 0xc]
movzx edx, bl
inc bl
movzx ecx, word [ecx + edx*2]
push ecx
lea ecx, [eax + 0xdc]
mov byte [edi + 8], bl
call fcn.00446390
mov al, byte [edi + 8]
mov ebx, dword [ebp + 0xc]
cmp al, byte [edi + 9]
jb 0x434d7d
mov byte [edi + 8], 0
movsx eax, byte [esi + 8]
mov ecx, dword [esp + 0x10]
cmp eax, ecx
je 0x434dcb
cmp ecx, 0xffffffff
je 0x434dcb
call fcn.00423ed0
push 0
sub esp, 8
mov edi, dword [eax]
mov bl, byte [edi + 8]
mov ecx, dword [edi + 0xc]
movzx edx, bl
inc bl
movzx ecx, word [ecx + edx*2]
push ecx
lea ecx, [eax + 0xdc]
mov byte [edi + 8], bl
call fcn.00446390
mov al, byte [edi + 8]
mov ebx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x10]
cmp al, byte [edi + 9]
jb 0x434dcb
mov byte [edi + 8], 0
mov edi, dword [ebp + 8]
mov byte [esi + 8], cl
movzx eax, word [ebx]
movzx edx, ax
test eax, 0x800
je 0x434e24
mov byte [edi], 0
call fcn.00423ed0
push 0
sub esp, 8
mov esi, dword [eax]
mov bl, byte [esi + 0x10]
mov ecx, dword [esi + 0x14]
movzx edx, bl
inc bl
movzx ecx, word [ecx + edx*2]
push ecx
lea ecx, [eax + 0xdc]
mov byte [esi + 0x10], bl
call fcn.00446390
mov al, byte [esi + 0x10]
cmp al, byte [esi + 0x11]
jb 0x4354a3
mov byte [esi + 0x10], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov cl, byte [esi + 8]
and edx, 0x7f
mov byte [esp + 0xf], cl
cmp cl, 0xff
jne 0x434e8f
test dx, dx
je case.default.0x434f92
mov al, byte [esi + 9]
mov byte [esi + 8], al
movsx eax, al
imul eax, eax, 0x4c
mov dword [eax + esi + 0x74], 0
call fcn.00423ed0
push 0
sub esp, 8
mov edi, dword [eax]
mov bl, byte [edi + 8]
mov ecx, dword [edi + 0xc]
movzx edx, bl
inc bl
movzx ecx, word [ecx + edx*2]
push ecx
lea ecx, [eax + 0xdc]
mov byte [edi + 8], bl
call fcn.00446390
mov al, byte [edi + 8]
cmp al, byte [edi + 9]
jb case.default.0x434f92
mov byte [edi + 8], 0
jmp case.default.0x434f92
xor ecx, ecx
movzx eax, ax
test dx, dx
je 0x434ea8
movsx eax, byte [esp + 0xf]
imul eax, eax, 0x4c
mov dword [eax + esi + 0x74], ecx
movzx eax, word [ebx]
cmp ax, 4
jne 0x434ebd
mov al, byte [esi + 8]
test al, al
je case.default.0x434f92
dec al
jmp 0x434ed0
cmp ax, 8
jne 0x434ee5
mov al, byte [esi + 8]
cmp al, 7
jge case.default.0x434f92
inc al
mov byte [esi + 8], al
mov byte [esi + 9], al
mov al, 1
test al, al
je case.default.0x434f92
jmp 0x43536c
test eax, 0x410
jne 0x434f99
test al, 0x20
je 0x434f41
cmp byte [esi + 8], 7
je 0x434f00
mov byte [esi + 8], 7
jmp 0x434f02
mov byte [edi], cl
call fcn.00423ed0
push 0
sub esp, 8
mov edi, dword [eax]
mov bl, byte [edi + 0x10]
mov ecx, dword [edi + 0x14]
movzx edx, bl
inc bl
movzx ecx, word [ecx + edx*2]
push ecx
lea ecx, [eax + 0xdc]
mov byte [edi + 0x10], bl
call fcn.00446390
mov al, byte [edi + 0x10]
cmp al, byte [edi + 0x11]
jb case.default.0x434f92
mov byte [edi + 0x10], 0
jmp case.default.0x434f92
cmp ax, 1
je 0x434f71
mov edx, 0x1000
cmp ax, dx
je 0x434f71
cmp ax, 2
je 0x434f61
mov edx, 0x2000
cmp ax, dx
jne case.default.0x434fa2
movsx eax, byte [esi + 8]
cmp eax, 6
ja case.default.0x434fa2
jmp dword [eax*4 + 0x4354ac]
movsx eax, byte [esi + 8]
cmp eax, 6
ja case.default.0x434fa2
jmp dword [eax*4 + 0x4354c8]
mov ecx, 0xd
lea eax, [ecx - 1]
cmp eax, 0xd
ja case.default.0x434f92
jmp dword [eax*4 + 0x4354e4]
movsx edx, byte [esi + 8]
cmp edx, 7
ja case.default.0x434fa2
jmp dword [edx*4 + 0x43551c]
test eax, 0x400
je case.default.0x434fa2
mov eax, dword [esi + 0x74]
cmp eax, 1
jne 0x434fbc
xor eax, eax
jmp switch.0x00434f92
cmp eax, 2
jne case.default.0x434fa2
mov ecx, eax
jmp case.default.0x434fa2
test eax, 0x400
je case.default.0x434fa2
mov eax, dword [esi + 0xc0]
cmp eax, 1
jne 0x434fde
mov eax, 2
jmp switch.0x00434f92
cmp eax, 2
jne case.default.0x434fa2
lea ecx, [eax + 2]
jmp case.default.0x434fa2
test eax, 0x400
je case.default.0x434fa2
mov eax, dword [esi + 0x10c]
cmp eax, 1
jne 0x435001
mov eax, 4
jmp switch.0x00434f92
cmp eax, 2
jne case.default.0x434fa2
lea ecx, [eax + 4]
jmp case.default.0x434fa2
test eax, 0x400
je case.default.0x434fa2
mov eax, dword [esi + 0x158]
cmp eax, 1
jne 0x43502e
mov eax, 6
jmp switch.0x00434f92
cmp eax, 2
jne case.default.0x434fa2
lea ecx, [eax + 6]
jmp case.default.0x434fa2
test eax, 0x400
je case.default.0x434fa2
mov eax, dword [esi + 0x1a4]
cmp eax, 1
jne 0x43505f
mov eax, 8
jmp switch.0x00434f92
cmp eax, 2
jne case.default.0x434fa2
lea ecx, [eax + 8]
jmp case.default.0x434fa2
test eax, 0x400
je case.default.0x434fa2
mov eax, dword [esi + 0x1f0]
cmp eax, 1
jne 0x435090
mov eax, 0xa
jmp switch.0x00434f92
cmp eax, 2
jne case.default.0x434fa2
lea ecx, [eax + 0xa]
jmp case.default.0x434fa2
test eax, 0x400
je case.default.0x434fa2
mov eax, dword [esi + 0x23c]
cmp eax, 1
jne 0x4350c1
mov eax, 0xc
jmp switch.0x00434f92
cmp eax, 2
jne case.default.0x434fa2
lea ecx, [eax + 0xc]
jmp case.default.0x434fa2
call fcn.00423ed0
push 0
sub esp, 8
mov edi, dword [eax]
mov bl, byte [edi]
mov ecx, dword [edi + 4]
movzx edx, bl
inc bl
movzx ecx, word [ecx + edx*2]
push ecx
lea ecx, [eax + 0xdc]
mov byte [edi], bl
call fcn.00446390
mov al, byte [edi]
cmp al, byte [edi + 1]
jb 0x435104
mov byte [edi], 0
mov edx, dword [ebp + 8]
mov byte [edx], 0
jmp case.default.0x434f92
call fcn.00420dc0
mov cl, byte [eax + 4]
test cl, cl
je case.default.0x434f92
dec cl
mov byte [eax + 4], cl
call fcn.00420dc0
mov bl, byte [esi + 0x44]
mov dh, byte [esi + 0x45]
mov dl, byte [eax + 4]
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
cmp cl, dh
jae 0x435154
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
mov byte [esi + 0x46], cl
jmp 0x43536c
mov cl, dh
mov byte [esi + 0x46], cl
jmp 0x43536c
call fcn.00420dc0
mov cl, byte [eax + 4]
cmp cl, 1
jae case.default.0x434f92
inc cl
mov byte [eax + 4], cl
call fcn.00420dc0
mov bl, byte [esi + 0x44]
mov dh, byte [esi + 0x45]
mov dl, byte [eax + 4]
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
cmp cl, dh
jae 0x435154
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
mov byte [esi + 0x46], cl
jmp 0x43536c
call fcn.00420dc0
mov cl, byte [eax + 0xa]
test cl, cl
je case.default.0x434f92
dec cl
mov byte [eax + 0xa], cl
call fcn.00420dc0
mov bl, byte [esi + 0x90]
mov dh, byte [esi + 0x91]
mov dl, byte [eax + 0xa]
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
cmp cl, dh
jae 0x4351f2
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
mov byte [esi + 0x92], cl
jmp 0x435366
mov cl, dh
mov byte [esi + 0x92], cl
jmp 0x435366
call fcn.00420dc0
mov cl, byte [eax + 0xa]
cmp cl, 2
jae case.default.0x434f92
inc cl
jmp 0x4351b6
call fcn.00420dc0
mov cl, byte [eax + 0xb]
test cl, cl
je case.default.0x434f92
dec cl
mov byte [eax + 0xb], cl
call fcn.00420dc0
mov bl, byte [esi + 0xdc]
mov dh, byte [esi + 0xdd]
mov dl, byte [eax + 0xb]
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
cmp cl, dh
jae 0x435269
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
mov byte [esi + 0xde], cl
mov ecx, esi
call fcn.00434440
jmp 0x435366
mov cl, dh
mov byte [esi + 0xde], cl
mov ecx, esi
call fcn.00434440
jmp 0x435366
mov bl, byte [esi + 0x294]
call fcn.00420dc0
mov cl, byte [eax + 0xb]
cmp cl, bl
jae case.default.0x434f92
inc cl
jmp 0x435226
call fcn.00420dc0
mov cl, byte [eax + 0xc]
test cl, cl
je case.default.0x434f92
dec cl
mov byte [eax + 0xc], cl
call fcn.00420dc0
mov bl, byte [esi + 0x128]
mov dh, byte [esi + 0x129]
mov dl, byte [eax + 0xc]
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
cmp cl, dh
jae 0x4352e5
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
mov byte [esi + 0x12a], cl
jmp 0x435366
mov cl, dh
mov byte [esi + 0x12a], cl
jmp 0x435366
call fcn.00420dc0
mov cl, byte [eax + 0xc]
cmp cl, 2
jae case.default.0x434f92
inc cl
jmp 0x4352a9
call fcn.00420dc0
mov cl, byte [eax + 9]
test cl, cl
je case.default.0x434f92
dec cl
jmp 0x43532b
call fcn.00420dc0
mov cl, byte [eax + 9]
cmp cl, 1
jae case.default.0x434f92
inc cl
mov byte [eax + 9], cl
call fcn.00420dc0
mov bl, byte [esi + 0x174]
mov dh, byte [esi + 0x175]
mov dl, byte [eax + 9]
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
cmp cl, dh
jae 0x43535e
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
jmp 0x435360
mov cl, dh
mov byte [esi + 0x176], cl
mov eax, dword [ebp + 0x10]
mov byte [eax], 1
call fcn.00423ed0
push 0
sub esp, 8
mov edi, dword [eax]
mov bl, byte [edi + 8]
mov ecx, dword [edi + 0xc]
movzx edx, bl
inc bl
movzx ecx, word [ecx + edx*2]
push ecx
lea ecx, [eax + 0xdc]
mov byte [edi + 8], bl
call fcn.00446390
mov al, byte [edi + 8]
cmp al, byte [edi + 9]
jb case.default.0x434f92
mov byte [edi + 8], 0
jmp case.default.0x434f92
call fcn.00423ed0
push 1
lea ecx, [eax + 8]
call fcn.00445ae0
call fcn.00420dc0
mov bl, byte [esi + 0x1c0]
mov dh, byte [esi + 0x1c1]
mov dl, byte [eax]
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
cmp cl, dh
jae 0x4353f2
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
mov byte [esi + 0x1c2], cl
jmp case.default.0x434f92
mov cl, dh
mov byte [esi + 0x1c2], cl
jmp case.default.0x434f92
call fcn.00423ed0
push 0
jmp 0x4353b2
call fcn.00423ed0
push 1
jmp 0x435418
call fcn.00423ed0
push 0
lea ecx, [eax + 0xdc]
call fcn.00446420
test al, al
je 0x435459
call fcn.00423ed0
push 0
sub esp, 8
mov edi, dword [eax]
mov bl, byte [edi]
mov ecx, dword [edi + 4]
movzx edx, bl
inc bl
movzx ecx, word [ecx + edx*2]
push ecx
lea ecx, [eax + 0xdc]
mov byte [edi], bl
call fcn.00446390
mov al, byte [edi]
cmp al, byte [edi + 1]
jb 0x435459
mov byte [edi], 0
call fcn.00420dc0
mov bl, byte [esi + 0x20c]
mov dh, byte [esi + 0x20d]
mov dl, byte [eax + 1]
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
cmp cl, dh
jae 0x435489
cmp dl, bl
movzx ecx, dl
movzx eax, bl
cmovbe ecx, eax
jmp 0x43548b
mov cl, dh
mov byte [esi + 0x20e], cl
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0
je 0x4354a3
mov dword [esi + 0x28c], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc