Function at 0x1004b03d
Capabilities:
Get keyboard layout

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10081cfa
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1e4
push esi
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x1004b32b
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x88], 0x6f49c23e
mov dword [ebp - 0x128], 0xfffffff9
cmp dword [ebp - 0x10], 0
jne 0x1004b098
cmp dword [ebp - 0x10], 0
jne 0x1004b098
and dword [ebp - 0x12c], 0
jmp 0x1004b0a2
mov dword [ebp - 0x12c], 1
mov eax, dword [ebp - 0x12c]
sub eax, 0x4c0b0b93
je 0x1004b108
mov byte [ebp - 0x36], 0
movzx eax, byte [ebp - 0x36]
test eax, eax
je 0x1004b0d4
push 0x25d0
push 0x1d6e
push 0
push 0
push 0x1165
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
mov dword [ebp - 0x10], 0xe
jmp 0x1004b0e4
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x12
jl 0x1004b103
mov byte [ebp - 0x32], 0
movzx eax, byte [ebp - 0x32]
test eax, eax
je 0x1004b101
push 0x1876
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
jmp 0x1004b0dd
jmp 0x1004b317
mov dword [ebp - 0x158], 0xa5d87207
mov dword [ebp - 0x60], 0
jmp 0x1004b122
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 3
jge 0x1004b138
mov eax, dword [ebp - 0x60]
mov dword [ebp + eax*4 - 0x188], 0x2fdcba86
jmp 0x1004b11b
mov dword [ebp - 0x10], 0x15
jmp 0x1004b148
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffed
je 0x1004b317
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0xa8], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x188]
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x48], 0
jne 0x1004b187
cmp dword [ebp - 0x48], 0
jne 0x1004b187
and dword [ebp - 0x80], 0
jmp 0x1004b18e
mov dword [ebp - 0x80], 1
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x80], eax
jg 0x1004b1a2
mov dword [ebp - 0x138], 1
jmp 0x1004b1a9
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0x40a9
jle 0x1004b1cd
mov dword [ebp - 0x120], 1
jmp 0x1004b1d4
and dword [ebp - 0x120], 0
cmp dword [ebp - 0x120], 0x9a85
jg 0x1004b1ec
mov dword [ebp - 0x90], 1
jmp 0x1004b1f3
and dword [ebp - 0x90], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x188]
cmp eax, dword [ebp - 0x90]
jle 0x1004b213
mov dword [ebp - 0x148], 1
jmp 0x1004b21a
and dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x148], eax
jg 0x1004b231
mov dword [ebp - 0x98], 1
jmp 0x1004b238
and dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x128], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x128]
sub ecx, dword [ebp + eax - 0x188]
cmp dword [ebp - 0x10], ecx
jge 0x1004b26b
mov dword [ebp - 0xa0], 1
jmp 0x1004b272
and dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0xa0], eax
jg 0x1004b289
mov dword [ebp - 0xf4], 1
jmp 0x1004b290
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c0], eax
mov eax, 0xfff6
test eax, eax
je 0x1004b2d6
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x188], 0
je 0x1004b2d6
mov dword [ebp - 0x104], 1
jmp 0x1004b2dd
and dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x104]
sub eax, 0x7802f8b3
neg eax
mov dword [ebp - 0x158], eax
mov byte [ebp - 0x34], 0
movzx eax, byte [ebp - 0x34]
test eax, eax
je 0x1004b312
push 0
push 0
push 0x26c
push 0x17d3
push 0
call dword [sym.imp.USER32.dll_InsertMenuA]
jmp 0x1004b141
push 0x7ab
push 0x73
push 0
call dword [sym.imp.USER32.dll_OffsetRect]
jmp 0x1004bde2
mov eax, dword [ebp + 8]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x6c], 0
jmp 0x1004b344
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 3
jge 0x1004b35a
mov eax, dword [ebp - 0x6c]
mov dword [ebp + eax*4 - 0x1cc], 0
jmp 0x1004b33d
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x1cc]
inc eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x1cc], eax
mov byte [ebp - 0x35], 0
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x1004b395
push 0
push 0
push 0x24fd
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
jmp 0x1004b3b4
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov eax, dword [ebp - 0x58]
cmp dword [eax], 2
jg 0x1004bc54
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
push 2
lea ecx, [ebp - 0x100]
call fcn.10016697
and dword [ebp - 4], 0
mov dword [ebp - 0x30], 0x2bf5f40e
mov dword [ebp - 0x1a4], 0x88307b36
mov dword [ebp - 0x1a0], 0x88307b36
mov dword [ebp - 0x19c], 0x88307b36
mov dword [ebp - 0x198], 0x88307b36
mov dword [ebp - 0xe8], 0xfffffffd
mov dword [ebp - 0x178], 0xdd754719
mov dword [ebp - 0x68], 0
jmp 0x1004b432
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 2
jge 0x1004b44e
push dword [ebp - 0x68]
lea ecx, [ebp - 0x100]
call fcn.10016738
mov dword [eax], 0x725245f5
jmp 0x1004b42b
cmp dword [ebp - 0x20], 0
jne 0x1004b518
push 1
lea ecx, [ebp - 0x100]
call fcn.10016738
cmp dword [eax], 1
jle 0x1004b476
mov dword [ebp - 0xb0], 1
jmp 0x1004b47d
and dword [ebp - 0xb0], 0
mov dword [ebp - 0x2c], 0xffffffff
mov esi, dword [ebp - 0x2c]
push 1
lea ecx, [ebp - 0x100]
call fcn.10016738
mov ecx, dword [ebp - 0xb0]
sub ecx, dword [eax]
cmp esi, ecx
jge 0x1004b4ac
mov dword [ebp - 0x10c], 1
jmp 0x1004b4b3
and dword [ebp - 0x10c], 0
push 1
lea ecx, [ebp - 0x100]
call fcn.10016738
mov ecx, dword [ebp - 0x10c]
cmp ecx, dword [eax]
jge 0x1004b4d6
mov dword [ebp - 0xb8], 1
jmp 0x1004b4dd
and dword [ebp - 0xb8], 0
cmp dword [ebp - 0xb8], 0
je 0x1004b4ea
cmp dword [ebp - 0x2c], 0
mov eax, 0xa5ea
imul esi, eax, 0x623b
sub esi, 0x5d1c
push 0
lea ecx, [ebp - 0x100]
call fcn.10016738
sub esi, dword [eax]
cmp esi, dword [ebp - 0x20]
jg 0x1004b518
and dword [ebp - 0x114], 0
jmp 0x1004b522
mov dword [ebp - 0x114], 1
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], 1
jmp 0x1004b53b
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jl 0x1004b9a4
mov dword [ebp - 0x168], 0x757520c2
mov dword [ebp - 0x2c], 0
jmp 0x1004b55f
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jg 0x1004b99f
mov dword [ebp - 0x44], 0x2089ce37
mov dword [ebp - 0xc0], 0x2edfd682
mov dword [ebp - 0x154], 0xdfba308d
mov dword [ebp - 0x24], 0
jmp 0x1004b594
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x1004b5aa
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1d8], 0x3f0b
jmp 0x1004b58d
mov dword [ebp - 0x24], 0
jmp 0x1004b5ba
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jge 0x1004b5d0
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x164], 0
jmp 0x1004b5b3
mov byte [ebp - 0x33], 0
movzx eax, byte [ebp - 0x33]
test eax, eax
je 0x1004b5f2
push 0
push 0
push 0x26c
push 0x17d3
push 0
call dword [sym.imp.USER32.dll_InsertMenuA]
mov dword [ebp - 0x30], 0
jmp 0x1004b602
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 1
jg 0x1004b99a
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x11c], 0xd8169b41
mov dword [ebp - 0x4c], 0
jmp 0x1004b62d
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 3
jge 0x1004b643
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x1f0], 0
jmp 0x1004b626
mov dword [ebp - 0x28], 0
jmp 0x1004b653
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 1
jg 0x1004b995
push 3
lea ecx, [ebp - 0x194]
call fcn.10016697
mov byte [ebp - 4], 1
mov dword [ebp - 0x1c], 0
jmp 0x1004b67e
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jge 0x1004b694
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x140], 3
jmp 0x1004b677
mov dword [ebp - 0x1c], 0
jmp 0x1004b6a4
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1004b6c0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x194]
call fcn.10016738
mov dword [eax], 0x1ddbc75b
jmp 0x1004b69d
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x1d8]
dec eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x1d8], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x1e0], eax
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x1f0], 0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
je 0x1004b71d
cmp dword [ebp - 0x11c], 0
je 0x1004b71d
mov dword [ebp - 0xc8], 1
jmp 0x1004b724
and dword [ebp - 0xc8], 0
cmp dword [ebp - 0xc8], 0xffffffff
jge 0x1004b739
mov dword [ebp - 0x124], 1
jmp 0x1004b740
and dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x124], eax
je 0x1004b75a
cmp dword [ebp - 0x28], 0
jne 0x1004b75a
and dword [ebp - 0xd0], 0
jmp 0x1004b764
mov dword [ebp - 0xd0], 1
push 2
lea ecx, [ebp - 0x194]
call fcn.10016738
mov ecx, dword [ebp - 0xd0]
cmp ecx, dword [eax]
jle 0x1004b784
mov dword [ebp - 0x78], 1
jmp 0x1004b788
and dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x78]
je 0x1004b799
mov dword [ebp - 0x70], 1
jmp 0x1004b79d
and dword [ebp - 0x70], 0
push 2
lea ecx, [ebp - 0x194]
call fcn.10016738
mov ecx, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x70], eax
jg 0x1004b7c5
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x1a4], 0
mov eax, 0xab93
neg eax
cmp eax, 0xfffffffc
jbe 0x1004b7dd
mov dword [ebp - 0xd8], 1
jmp 0x1004b7e4
and dword [ebp - 0xd8], 0
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0xd8]
mov dword [ebp + eax - 0x1a4], ecx
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x140]
cmp dword [ebp - 0x28], eax
jge 0x1004b815
mov dword [ebp - 0x134], 1
jmp 0x1004b81c
and dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x1004b840
mov eax, 0x85fae11b
test eax, eax
je 0x1004b840
mov dword [ebp - 0xe0], 1
jmp 0x1004b847
and dword [ebp - 0xe0], 0
mov eax, dword [ebp - 0xe0]
neg eax
je 0x1004b866
mov eax, 0xebc4d591
test eax, eax
je 0x1004b866
mov dword [ebp - 0x144], 1
jmp 0x1004b86d
and dword [ebp - 0x144], 0
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x100]
call fcn.10016738
mov dword [ebp - 0x13c], eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x100]
call fcn.10016738
mov ecx, dword [ebp - 0x13c]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0x13c]
mov eax, dword [eax]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0x144]
cmp eax, dword [ebp - 0x20]
je 0x1004b8c4
mov dword [ebp - 0xf0], 1
jmp 0x1004b8cb
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0xf0], eax
jge 0x1004b8e2
mov dword [ebp - 0x14c], 1
jmp 0x1004b8e9
and dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x154], eax
imul eax, dword [ebp - 0x154], 0
add eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x168]
add eax, dword [ebp - 0x20]
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x140]
jne 0x1004b924
mov dword [ebp - 0x108], 1
jmp 0x1004b92b
and dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x108], eax
jl 0x1004b942
mov dword [ebp - 0x130], 1
jmp 0x1004b949
and dword [ebp - 0x130], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x164]
cmp dword [ebp - 0x130], eax
jg 0x1004b96b
xor eax, eax
jne 0x1004b96b
and dword [ebp - 0x110], 0
jmp 0x1004b975
mov dword [ebp - 0x110], 1
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x178], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x194]
call fcn.1001671c
jmp 0x1004b64c
jmp 0x1004b5fb
jmp 0x1004b558
jmp 0x1004b534
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x100]
call fcn.1001671c
mov byte [ebp - 0x37], 0
mov dword [ebp - 0x118], 0xffff
mov dword [ebp - 0x150], 1
push 1
lea ecx, [ebp - 0x1b0]
call fcn.10016697
mov dword [ebp - 4], 2
mov dword [ebp - 0x50], 0
jmp 0x1004b9ef
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 1
jge 0x1004ba0b
push dword [ebp - 0x50]
lea ecx, [ebp - 0x1b0]
call fcn.10016738
mov dword [eax], 0x9d94
jmp 0x1004b9e8
cmp dword [ebp - 0x118], 0
je 0x1004ba49
mov dword [ebp - 0x40], 0x8b108f82
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x40], 0
jmp 0x1004ba34
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x31
jne 0x1004ba47
cmp dword [ebp - 0x150], 0
je 0x1004ba45
jmp 0x1004ba47
jmp 0x1004ba2d
jmp 0x1004ba7e
mov dword [ebp - 0x16c], 0x2a831d26
mov dword [ebp - 0x17c], 0x5c285ce9
mov esi, dword [ebp - 0x118]
push 0
lea ecx, [ebp - 0x1b0]
call fcn.10016738
mov dword [eax], esi
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x17c], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b0]
call fcn.1001671c
movzx eax, byte [ebp - 0x37]
test eax, eax
je 0x1004bc4f
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x3c], 0xffffffff
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jne 0x1004babb
mov dword [ebp - 0x84], 1
jmp 0x1004bac2
and dword [ebp - 0x84], 0
cmp dword [ebp - 0x18], 0
jne 0x1004bad1
mov dword [ebp - 0x7c], 1
jmp 0x1004bad5
and dword [ebp - 0x7c], 0
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x7c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x84], eax
jl 0x1004baf5
mov dword [ebp - 0x8c], 1
jmp 0x1004bafc
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x8c], eax
jge 0x1004bb13
mov dword [ebp - 0x94], 1
jmp 0x1004bb1a
and dword [ebp - 0x94], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x94], eax
jle 0x1004bb31
mov dword [ebp - 0x9c], 1
jmp 0x1004bb38
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x9c], eax
jl 0x1004bb4f
mov dword [ebp - 0xa4], 1
jmp 0x1004bb56
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0xa4]
jle 0x1004bb6d
mov dword [ebp - 0xac], 1
jmp 0x1004bb74
and dword [ebp - 0xac], 0
cmp dword [ebp - 0xac], 0xfffffff8
jne 0x1004bb89
mov dword [ebp - 0xb4], 1
jmp 0x1004bb90
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0xb4]
jne 0x1004bba7
mov dword [ebp - 0xbc], 1
jmp 0x1004bbae
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x3c], 0
jmp 0x1004bbc7
mov eax, dword [ebp - 0x3c]
dec eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xffffffee
je 0x1004bc3d
push 4
lea ecx, [ebp - 0x1bc]
call fcn.10016697
mov dword [ebp - 4], 3
mov dword [ebp - 0x174], 9
mov dword [ebp - 0x54], 0
jmp 0x1004bbfb
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 4
jge 0x1004bc17
push dword [ebp - 0x54]
lea ecx, [ebp - 0x1bc]
call fcn.10016738
mov dword [eax], 0xfffe
jmp 0x1004bbf4
push 3
lea ecx, [ebp - 0x1bc]
call fcn.10016738
mov eax, dword [eax]
mov dword [ebp - 0x174], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1bc]
call fcn.1001671c
jmp 0x1004bbc0
push 0x1047
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
jmp 0x1004b3a9
mov dword [ebp - 0x14], 0xcea5d6c0
mov dword [ebp - 0x5c], 0
jmp 0x1004bc6b
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 1
jge 0x1004bc7e
mov eax, dword [ebp - 0x5c]
mov dword [ebp + eax*4 - 0x64], 0xffffffff
jmp 0x1004bc64
mov dword [ebp - 0x14], 0xfffffff1
jmp 0x1004bc8e
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xfffffff0
jl 0x1004bcb1
mov byte [ebp - 0x31], 0
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x1004bcaf
push 0
push 0x1051
push 0
call dword [sym.imp.OLEAUT32.dll_SafeArrayLock]
jmp 0x1004bc87
mov dword [ebp - 0x14], 0
jmp 0x1004bcc1
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jg 0x1004bde2
mov dword [ebp - 0x74], 0xfffffff8
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x64], 0
jne 0x1004bd58
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x64]
cmp dword [ebp - 0x74], eax
jg 0x1004bcf7
mov dword [ebp - 0xc4], 1
jmp 0x1004bcfe
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xc4]
je 0x1004bd15
mov dword [ebp - 0xd4], 1
jmp 0x1004bd1c
and dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0x74]
imul eax, dword [ebp - 0x74]
cmp eax, 0xa9b27fa
je 0x1004bd36
mov dword [ebp - 0xcc], 1
jmp 0x1004bd3d
and dword [ebp - 0xcc], 0
imul eax, dword [ebp - 0xcc], 0x5bef
cmp dword [ebp - 0xd4], eax
jge 0x1004bd58
and dword [ebp - 0xdc], 0
jmp 0x1004bd62
mov dword [ebp - 0xdc], 1
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x64]
cmp dword [ebp - 0xdc], eax
jl 0x1004bd7d
mov dword [ebp - 0xe4], 1
jmp 0x1004bd84
and dword [ebp - 0xe4], 0
cmp dword [ebp - 0xe4], 0xfffa
jb 0x1004bd9c
mov dword [ebp - 0xec], 1
jmp 0x1004bda3
and dword [ebp - 0xec], 0
cmp dword [ebp - 0xec], 0
je 0x1004bdce
mov dword [ebp - 0x15c], 0xd271
mov dword [ebp - 0x160], 0x9ee491ba
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x160], eax
jmp 0x1004bddd
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x64], 0
je 0x1004bddd
jmp 0x1004bde2
jmp 0x1004bcba
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret