Function at 0x48e7c0
Capabilities:
Capture webcam image
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [0x517b80]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 0x18]
push esi
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0xc], esi
push edi
mov edi, ecx
sub eax, 0
je 0x48eedb
sub eax, 1
je 0x48eace
sub eax, 2
jne 0x48e9dd
mov eax, dword [ebp + 0xc]
cmp eax, 0x200
jne 0x48e957
call dword [sym.imp.USER32.dll_GetMessagePos]
movsx ecx, ax
shr eax, 0x10
test byte [edi + 0x84], 1
cwde
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0
je 0x48e924
mov esi, dword [edi + 4]
push eax
push ecx
call dword [sym.imp.USER32.dll_WindowFromPoint]
cmp eax, esi
jne 0x48e931
lea eax, [ebp - 0x14]
push eax
push esi
call dword [sym.imp.USER32.dll_ScreenToClient]
lea eax, [ebp - 0x14]
push eax
push 0
push 0x445
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x14]
mov esi, eax
cmp ecx, dword [0x517b08]
jne 0x48e87f
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [0x517b0c]
je 0x48e931
test esi, esi
js 0x48e931
push dword [edi + 0x44]
call dword [sym.imp.USER32.dll_GetMenuItemCount]
cmp esi, eax
jge 0x48e931
mov eax, dword [edi + 0x88]
cmp esi, eax
je 0x48e931
cmp eax, 0xffffffff
je 0x48e931
lea eax, [ebp - 0x30]
xorps xmm0, xmm0
push eax
push esi
lfence
push 0x417
push dword [edi + 4]
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0
call dword [sym.imp.USER32.dll_SendMessageW]
test byte [ebp - 0x28], 4
je 0x48e931
or esi, 0xffff0000
lea ecx, [edi + 8]
mov dword [edi + 0x8c], esi
call fcn.0048b280
movzx edx, word [ebp - 0x10]
mov esi, eax
movzx ecx, word [ebp - 0x14]
shl edx, 0x10
or edx, ecx
push edx
push 0
push 0x202
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0x1b
push 0x100
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [ebp - 0xc], 1
jmp 0x48e931
lea eax, [ebp - 0x14]
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [ebp - 0xc], 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov dword [0x517b08], eax
mov dword [0x517b0c], ecx
mov dword [ebx], 0
jne 0x48efbd
jmp 0x48e9dd
cmp eax, 0x104
jne 0x48ea1a
mov esi, dword [ebp + 0x10]
cmp esi, 0x12
jne 0x48e991
cmp byte [edi + 0x84], 0
jge 0x48e996
mov cl, byte [edi + 0x85]
mov al, cl
and al, 6
cmp al, 2
jne 0x48e996
test cl, 8
je 0x48e996
push 1
mov ecx, edi
call fcn.004918d0
jmp 0x48e996
cmp esi, 0x20
je 0x48e9f2
test byte [edi + 0x84], 1
jne 0x48ea12
mov eax, dword [edi + 4]
mov dword [ebp - 0xc], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [ebp - 0xc]
cmp eax, ecx
jne 0x48ea12
and byte [edi + 0x85], 0xf7
push 0
push 0xffffffffffffffff
push 0x448
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, edi
call fcn.0048ba60
or byte [edi + 0x84], 0x40
mov dword [ebx], 0
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
mov cl, byte [edi + 0x85]
mov al, cl
and al, 6
cmp al, 6
jne 0x48ea12
or cl, 8
mov byte [edi + 0x85], cl
mov ecx, edi
push 0
call fcn.004918d0
mov dword [edi + 0xa8], esi
jmp 0x48e9d7
cmp eax, 0x105
jne 0x48ea35
mov al, byte [edi + 0x85]
test al, 8
jne 0x48e9d7
or al, 8
mov byte [edi + 0x85], al
jmp 0x48e9d7
cmp eax, 0x106
jne 0x48ea71
test byte [edi + 0x84], 1
jne 0x48e9d7
mov eax, dword [edi + 0x20]
cmp eax, dword [edi + 4]
je 0x48e9d7
cmp dword [ebp + 0x10], 0x20
je 0x48e9d7
pop edi
pop esi
mov dword [ebx], 0
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x100
jne 0x48eaa3
lea eax, [ebp - 8]
mov dword [ebp - 8], 1
push eax
push esi
mov esi, dword [ebp + 0x10]
push esi
push 0x100
call fcn.0048c570
cmp dword [ebp - 8], 0
mov dword [ebx], eax
jne 0x48efbd
jmp 0x48e9dd
cmp eax, 0x213
je 0x48ee95
cmp eax, 0x102
jne 0x48e9dd
cmp dword [ebp + 0x10], 0x1b
mov dword [ebx], 0
je 0x48efbd
jmp 0x48e9dd
mov eax, dword [ebp + 0xc]
cmp eax, 0x4e
jne 0x48ec2d
cmp dword [esi + 8], 0xfffffd37
jne 0x48eb72
mov eax, dword [esi]
cmp eax, dword [edi + 4]
jne 0x48eb6c
test byte [edi + 0x58], 8
mov byte [ebp - 0x45], 0
jne 0x48eb16
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp eax, dword [ebp - 8]
setne byte [ebp - 0x45]
push dword [edi + 0x5c]
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x48eb29
cmp byte [ebp - 0x45], 0
je 0x48eb33
test byte [esi + 0x14], 1
jne 0x48ef78
mov eax, dword [esi + 0x14]
test al, 0x85
jne 0x48eb6c
test al, 0x10
je 0x48eb51
push dword [edi + 0x44]
push 0
push 0x11f
push dword [edi + 0x5c]
call dword [sym.imp.USER32.dll_SendMessageW]
test byte [esi + 0x14], 0x20
je 0x48eb6c
push 0
push 0xffff0000
push 0x11f
push dword [edi + 0x5c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebx], 0
cmp dword [esi + 8], 0xfffffd3a
jne 0x48eb88
mov eax, dword [esi]
cmp eax, dword [edi + 4]
je 0x48ebdc
mov dword [ebx], 1
mov esi, dword [ebp + 0x10]
call fcn.0048b2a0
mov ecx, dword [ebp + 0xc]
cmp ecx, eax
jne 0x48ec7d
test esi, esi
je 0x48eba7
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [esi], eax
push dword [edi + 4]
lea esi, [edi + 4]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x48ec63
xor eax, eax
test edi, edi
pop edi
cmove esi, eax
mov eax, 1
mov dword [ebx], esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [edi + 4]
je 0x48ec0b
test byte [edi + 0x58], 4
je 0x48ec02
cmp dword [edi + 0xac], 0
jne 0x48ec02
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [edi + 0xac], eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetFocus]
push 0
push dword [esi + 0xc]
push 0x419
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
and byte [edi + 0x84], 0xcf
push 1
push eax
jmp 0x48efb0
cmp eax, 0x117
jne 0x48eb88
lea eax, [ebp - 8]
mov dword [ebp - 8], 1
push eax
push esi
mov esi, dword [ebp + 0x10]
push esi
push 0x117
call fcn.0048c8e0
cmp dword [ebp - 8], 0
mov dword [ebx], eax
jne 0x48efbd
jmp 0x48eb8b
xor esi, esi
pop edi
mov dword [ebx], esi
lea eax, [esi + 1]
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x112
jne 0x48ed32
mov eax, dword [edi + 0xa8]
cmp eax, 0x12
je 0x48ecae
cmp eax, 0x79
jne 0x48eca5
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test al, al
jns 0x48ecae
cmp dword [edi + 0xa8], 0x20
jne 0x48ecda
cmp esi, 0xf100
jne 0x48ecda
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [edi + 4]
jne 0x48ecf6
mov ecx, edi
call fcn.0048ba60
push 0
push 0xffffffffffffffff
push 0x448
push dword [edi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
and byte [edi + 0x84], 0xbf
mov dword [ebx], 0
test eax, eax
jne 0x48efbd
jmp 0x48e9dd
cmp dword [edi + 0xa8], 0x20
je 0x48ecda
test byte [edi + 0x84], 0x40
jne 0x48ed2b
mov cl, byte [edi + 0x85]
mov al, cl
and al, 6
cmp al, 2
jne 0x48ed24
test cl, 8
je 0x48ed24
push 1
mov ecx, edi
call fcn.004918d0
mov ecx, edi
call fcn.00491f70
mov eax, 1
jmp 0x48ecdc
cmp ecx, 0x52e
jne 0x48ed57
mov eax, dword [edi + 0x44]
pop edi
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x120
je 0x48f110
cmp ecx, 0x52f
jne 0x48ed9a
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push ecx
push esi
push 0x52f
mov ecx, edi
call fcn.0048be00
pop edi
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x52d
jne 0x48edbf
mov eax, dword [edi + 4]
pop edi
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x1a
jne 0x48edef
cmp esi, 0x2a
je 0x48eddd
cmp esi, 0x100b
je 0x48eddd
cmp esi, 0x1023
jne 0x48ee95
mov ecx, edi
call fcn.0048b680
mov dword [ebx], 1
jmp 0x48e9dd
cmp ecx, 0x2b
jne 0x48ee1e
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push ecx
push esi
push 0x2b
mov ecx, edi
mov dword [ebp - 8], 1
call fcn.0048c500
cmp dword [ebp - 8], 0
mov dword [ebx], eax
jne 0x48efbd
jmp 0x48e9dd
cmp ecx, 0x2c
jne 0x48ee4d
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push ecx
push esi
push 0x2c
mov ecx, edi
mov dword [ebp - 8], 1
call fcn.0048cf50
cmp dword [ebp - 8], 0
mov dword [ebx], eax
jne 0x48efbd
jmp 0x48e9dd
cmp ecx, 6
jne 0x48eea0
mov ecx, dword [ebp + 0x10]
mov al, byte [edi + 0x84]
neg cx
sbb cl, cl
and al, 0x7f
and cl, 0x80
or cl, al
mov byte [edi + 0x84], cl
jl 0x48ee7f
mov al, byte [edi + 0x85]
and al, 6
cmp al, 6
je 0x48f152
push 1
push 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov dword [ebx], 1
jmp 0x48e9dd
cmp ecx, 0x4e
jne 0x48e9dd
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 8], 0xfffffff4
jne 0x48e9dd
lea eax, [ebp - 8]
mov dword [ebp - 8], 1
push eax
push ecx
push esi
mov ecx, edi
call fcn.0048d760
cmp dword [ebp - 8], 0
mov dword [ebx], eax
jne 0x48efbd
jmp 0x48e9dd
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x48ef0d
lea eax, [ebp - 8]
push eax
push esi
mov esi, dword [ebp + 0x10]
push esi
push 1
call fcn.0048c070
pop edi
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 2
jne 0x48ef3c
lea eax, [ebp - 8]
push eax
push esi
mov esi, dword [ebp + 0x10]
push esi
push 2
call fcn.0048c330
pop edi
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x14
jne 0x48efd5
test byte [edi + 0x84], 2
jne 0x48ef96
test byte [edi + 0x58], 1
jne 0x48ef96
lea eax, [ebp - 0x1c]
xorps xmm0, xmm0
push eax
push dword [edi + 4]
movups xmmword [ebp - 0x1c], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
mov esi, dword [ebp + 0x10]
lea eax, [ebp - 0x1c]
push 5
push eax
push esi
call dword [sym.imp.USER32.dll_FillRect]
pop edi
pop esi
mov dword [ebx], 1
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
mov dword [ebx], 0
mov esi, dword [ebp + 0x10]
call fcn.0048b230
cmp dword [ebp + 0xc], eax
jne 0x48f074
push 0
push esi
mov ecx, edi
call fcn.00488f20
mov dword [ebx], 0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x116
jne 0x48f010
push 0
push 0
push 0x447
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [edi + 0x44]
movzx eax, ax
or eax, 0x900000
push eax
push 0x11f
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebx], 1
jmp 0x48ef9c
cmp eax, 0x117
jne 0x48f03e
lea eax, [ebp - 8]
mov dword [ebp - 8], 1
push eax
push esi
mov esi, dword [ebp + 0x10]
push esi
push 0x117
call fcn.0048c8e0
cmp dword [ebp - 8], 0
mov dword [ebx], eax
jne 0x48efbd
jmp 0x48ef9f
cmp eax, 0x11f
jne 0x48ef9c
lea eax, [ebp - 8]
mov dword [ebp - 8], 1
push eax
push esi
mov esi, dword [ebp + 0x10]
push esi
push 0x11f
call fcn.0048d530
cmp dword [ebp - 8], 0
mov dword [ebx], eax
jne 0x48efbd
jmp 0x48ef9f
call fcn.0048b2a0
mov ecx, dword [ebp + 0xc]
cmp ecx, eax
jne 0x48f0d7
test esi, esi
je 0x48f08c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [esi], eax
push dword [edi + 4]
lea esi, [edi + 4]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x48f0bd
xor eax, eax
test edi, edi
pop edi
cmove esi, eax
mov eax, 1
mov dword [ebx], esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
xor esi, esi
pop edi
mov dword [ebx], esi
lea eax, [esi + 1]
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x1a
jne 0x48f108
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push ecx
push esi
push 0x1a
mov ecx, edi
call fcn.0048d980
pop edi
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x120
jne 0x48f13d
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push ecx
push esi
push 0x120
mov ecx, edi
mov dword [ebp - 8], 1
call fcn.0048d130
cmp dword [ebp - 8], 0
mov dword [ebx], eax
jne 0x48efbd
jmp 0x48e9dd
cmp ecx, 8
jne 0x48f166
mov al, byte [edi + 0x85]
and al, 6
cmp al, 6
jne 0x48ee95
push 0
mov ecx, edi
call fcn.004918d0
mov dword [ebx], 1
jmp 0x48e9dd
cmp ecx, 0x100
jne 0x48f231
mov dl, byte [edi + 0x84]
xor ecx, ecx
test dl, 2
jne 0x48ee95
cmp esi, 0x20
jne 0x48f1a6
mov ecx, dword [ebp - 0xc]
or ecx, 0x20000000
push ecx
push esi
push 0x104
push dword [edi + 0x5c]
call dword [sym.imp.USER32.dll_PostMessageW]
lea ecx, [esi - 0x1f]
jmp 0x48f21e
cmp esi, 0x25
je 0x48f1b0
cmp esi, 0x27
jne 0x48f21e
movzx eax, byte [edi + 0x85]
shr eax, 5
not eax
and eax, 2
or eax, 0x25
mov dword [ebp - 0xc], eax
test dl, 1
jne 0x48f21e
push 0
push 0
push 0x447
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, edi
push eax
cmp esi, dword [ebp - 0xc]
jne 0x48f1eb
call fcn.0048b380
jmp 0x48f1f0
call fcn.0048b5a0
cmp eax, 0xfffffffe
jne 0x48f21c
push 0
push 0xffffffffffffffff
push 0x448
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, edi
call fcn.00488ac0
xor ecx, ecx
test al, al
mov eax, 1
cmovne ecx, eax
jmp 0x48f21e
xor ecx, ecx
mov dword [ebx], 0
test ecx, ecx
jne 0x48efbd
jmp 0x48e9dd
cmp ecx, 0x101
jne 0x48f25a
test byte [edi + 0x84], 2
jne 0x48ee95
mov dword [ebx], 0
cmp esi, 0x20
je 0x48efbd
jmp 0x48e9dd
cmp ecx, 0x102
jne 0x48f39e
test byte [edi + 0x84], 2
mov eax, 1
jne 0x48ee95
cmp esi, 0x20
je 0x48f2e0
push dword [edi + 0x5c]
mov dword [ebp - 8], 0
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x48e9d7
mov eax, dword [edi + 4]
mov dword [ebp - 0x10], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [ebp - 0x10]
cmp eax, ecx
jne 0x48e9d7
mov dword [ebp - 0xc], 0
cmp esi, 0xd
je 0x48f2f3
lea eax, [ebp - 0xc]
push eax
movzx eax, si
push eax
push 0x45a
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x48f2f3
cmp si, 0x2f
je 0x48f2dd
push eax
call dword [sym.imp.USER32.dll_MessageBeep]
mov eax, dword [ebp - 8]
mov dword [ebx], 0
test eax, eax
jne 0x48efbd
jmp 0x48e9dd
lea eax, [ebp - 0x2c]
xorps xmm0, xmm0
push eax
push dword [edi + 4]
movups xmmword [ebp - 0x2c], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x1c]
xorps xmm0, xmm0
push eax
push dword [ebp - 0xc]
movups xmmword [ebp - 0x1c], xmm0
push 0x41d
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x44]
mov dword [ebp - 0x34], 0
push eax
push dword [ebp - 0xc]
xorps xmm0, xmm0
push 0x417
push dword [edi + 4]
movups xmmword [ebp - 0x44], xmm0
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [ebp - 0x3c]
test al, 4
je 0x48f38c
test al, 8
jne 0x48f38c
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x24]
jg 0x48f38c
push 0
push 0x28
push 0x100
push dword [edi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
cmp esi, 0xd
je 0x48f2dd
push 0
push dword [ebp - 0xc]
push 0x448
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x48f2dd
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
mov eax, 1
jmp 0x48f2e0
cmp ecx, 0x104
je 0x48e9d7
cmp ecx, 0x105
je 0x48e9d7
cmp ecx, 0x106
je 0x48e9d7
cmp ecx, 0x52e
jne 0x48f3e7
mov eax, dword [edi + 0x44]
pop edi
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x52f
jne 0x48f41e
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push ecx
push esi
push 0x52f
mov ecx, edi
call fcn.0048be00
pop edi
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x52d
jne 0x48f443
mov eax, dword [edi + 4]
pop edi
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x2b
jne 0x48f485
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push ecx
push esi
push 0x2b
mov ecx, edi
mov dword [ebp - 8], 1
call fcn.0048c500
cmp dword [ebp - 8], 0
mov dword [ebx], eax
je 0x48e9dd
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x2c
jne 0x48f4c0
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push ecx
push esi
push 0x2c
mov ecx, edi
mov dword [ebp - 8], 1
call fcn.0048cf50
mov dword [ebx], eax
xor eax, eax
cmp dword [ebp - 8], eax
pop edi
pop esi
setne al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x37f
jne 0x48e9dd
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
lea eax, [edx - 0x200]
cmp eax, 0xe
ja 0x48f4e6
and byte [edi + 0x85], 0xef
jmp 0x48f4f8
lea eax, [edx - 0x100]
cmp eax, 9
ja 0x48f4f8
or byte [edi + 0x85], 0x10
mov esi, dword [edi]
lea eax, [ebp - 0xc]
push 3
push eax
push dword [ecx + 0xc]
mov esi, dword [esi]
push dword [ecx + 8]
mov dword [ebp - 0xc], 0
push dword [ecx + 4]
push dword [ecx]
mov ecx, esi
call dword [0x4dc8a4]
mov ecx, edi
call esi
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
pop edi
mov dword [ebx], eax
xor ecx, ebp
pop esi
mov eax, 1
pop ebx
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x18