Function at 0x488c10
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x5449f9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x340
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], ebx
call fcn.004733a0
mov edi, dword [esp + 0x360]
mov dword [esp + 0x358], ebx
cmp edi, 0x2020032
mov ebp, 1
je 0x488d7c
cmp edi, 0x2020033
je 0x488d7c
test byte [esp + 0x364], 0xf
je 0x488d7c
test edi, 0x80000000
jne 0x488d7c
cmp dword [esi + 0x398], ebp
je 0x488c95
cmp dword [esi + 0x394], ebx
je 0x488cb8
lea ecx, [esp + 0x24]
mov dword [esp + 0x358], 0xffffffff
mov dword [esp + 0x24], 0x54d7d0
call fcn.004735a0
mov eax, ebp
jmp 0x48a765
cmp edi, 0x202000a
je 0x488d66
cmp edi, 0x202001c
je 0x488d66
cmp edi, 0x202000b
je 0x488d5f
cmp edi, 0x202001b
je 0x488d5f
cmp edi, 0x202000c
je 0x488d58
cmp edi, 0x202001d
je 0x488d58
cmp edi, 0x2020010
je 0x488d51
cmp edi, 0x202007e
je 0x488d51
cmp edi, 0x2020011
jne 0x488d13
mov byte [esp + 0x18], 7
jmp 0x488d28
cmp edi, 0x2020012
setne al
dec eax
and eax, 8
cmp al, bl
mov byte [esp + 0x18], al
je 0x488d6d
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x24]
push eax
call fcn.004736e0
push ebx
lea ecx, [esp + 0x28]
call fcn.00473660
push ebx
lea ecx, [esp + 0x28]
call fcn.004736e0
lea ecx, [esp + 0x24]
push ecx
jmp 0x488d6e
mov byte [esp + 0x18], 6
jmp 0x488d28
mov byte [esp + 0x18], 4
jmp 0x488d28
mov byte [esp + 0x18], 3
jmp 0x488d28
mov byte [esp + 0x18], 2
jmp 0x488d28
push ebx
mov ecx, 0x59a5c8
call fcn.004e7f20
mov dword [esp + 0x3c], ebp
cmp edi, 0x2020032
mov ebp, 0x54d7d0
ja 0x489202
je 0x4891dd
lea eax, [edi - 0x202000a]
cmp eax, 0x13
ja case.0x48a24c.33685628
jmp dword [eax*4 + 0x48a780]
mov edx, dword [esi + 0x384]
not edx
test dl, 1
jne case.0x48a66e.6
lea eax, [esi + 0xc0]
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.004ea580
push ebx
push ebx
push ebx
push 2
mov ecx, esi
mov edi, eax
call fcn.00408300
mov ecx, esi
call fcn.00458090
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 2
mov ecx, esi
call fcn.00403170
jmp case.0x48a66e.6
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x48a66e.6
lea edx, [esi + 0xc0]
push 0xffffffffffffffff
push edx
mov ecx, esi
call fcn.004ea780
push ebx
push ebx
push ebx
push 3
mov ecx, esi
mov edi, eax
call fcn.00408300
mov ecx, esi
call fcn.00458090
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 3
mov ecx, esi
call fcn.00403170
jmp case.0x48a66e.6
mov eax, dword [esi + 0x384]
not eax
test al, 1
jne case.0x48a66e.6
lea ecx, [esi + 0xc0]
push 0xffffffffffffffff
push ecx
mov ecx, esi
call fcn.004ea910
push ebx
push ebx
push ebx
push 4
mov ecx, esi
mov edi, eax
call fcn.00408300
mov ecx, esi
call fcn.00458090
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 4
mov ecx, esi
call fcn.00403170
jmp case.0x48a66e.6
mov edx, dword [esi + 0x384]
not edx
test dl, 1
jne case.0x48a66e.6
lea eax, [esi + 0xc0]
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.004ead10
push ebx
push ebx
push ebx
push 7
mov ecx, esi
mov edi, eax
call fcn.00408300
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 7
mov ecx, esi
call fcn.00403170
jmp case.0x48a66e.6
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x48a66e.6
lea edx, [esi + 0xc0]
push 0xffffffffffffffff
push edx
mov ecx, esi
call fcn.004ead30
push ebx
push ebx
push ebx
push 8
mov ecx, esi
mov edi, eax
call fcn.00408300
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 8
mov ecx, esi
call fcn.00403170
jmp case.0x48a66e.6
mov eax, dword [esi + 0x384]
not eax
test al, 1
jne case.0x48a66e.6
mov edx, dword [esp + 0x368]
lea ecx, [esp + 0x10]
push ecx
push edx
lea ecx, [esi + 0x2cc]
call fcn.004d2de0
cmp eax, 1
jne case.0x48a66e.6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x3c]
mov edx, dword [eax + 0x3c]
shr ecx, 2
cmp edx, ebx
jne 0x488f5c
xor eax, eax
jmp 0x488f5f
mov eax, dword [eax + 0x34]
mov edx, dword [esp + 0x36c]
cmp edx, ecx
jge case.0x48a66e.6
mov ecx, edx
lea edx, [esp + 0x14]
push ebx
push edx
mov edi, dword [eax + ecx*4]
lea ebp, [ecx*4]
lea ecx, [esi + 0x2b0]
push edi
call fcn.004d2e80
cmp eax, 1
jne case.0x48a66e.6
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
and eax, 0x30
cmp eax, 0x10
je 0x488ff4
cmp eax, 0x20
je 0x488ff4
mov ecx, dword [esp + 0x36c]
lea edx, [esi + 0xc0]
push ecx
push edi
push edx
mov ecx, esi
call fcn.004eaf30
push 1
push edi
lea ecx, [esi + 0x2b0]
call fcn.004c8aa0
mov eax, dword [esp + 0x10]
push 4
push ebp
lea ecx, [eax + 0x2c]
call fcn.00473de0
push ebx
push ebx
push ebx
push ebx
mov ecx, esi
call fcn.00408300
mov ecx, esi
call fcn.00458090
jmp case.0x48a66e.6
push 0x58f3c8
mov ecx, 0x59a438
call fcn.00519b43
mov ecx, dword [0x59a3dc]
mov dword [0x59a43c], 0x10
push ebx
push 0x73
mov edx, dword [ecx + 0x1c]
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp case.0x48a66e.6
mov eax, dword [esi + 0x384]
not eax
test al, 1
jne case.0x48a66e.6
mov ebp, dword [esp + 0x368]
lea edi, [esi + 0x2cc]
push ebp
mov ecx, edi
call fcn.004d2e20
cmp eax, ebx
mov dword [esp + 0x14], eax
je case.0x48a66e.6
lea ecx, [esp + 0x10]
push ecx
push ebp
mov ecx, edi
call fcn.004d2de0
cmp eax, 1
jne case.0x48a66e.6
mov edx, dword [esi + 0x3dc]
mov eax, ebx
dec edx
js 0x4890c1
mov edi, dword [esi + 0x3d8]
mov ebp, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [ecx + 0x3c], 1
jne 0x489093
cmp dword [ecx + 0x54], ebp
je 0x48909d
inc eax
add edi, 4
cmp eax, edx
jle 0x489086
jmp 0x4890c1
cmp eax, edx
jg 0x4890c1
mov dword [esp + 0x34], ebx
mov edx, dword [ecx]
lea eax, [esp + 0x24]
push eax
call dword [edx + 0xd0]
lea ecx, [esp + 0x24]
push ecx
mov ecx, 0x59a5c8
call fcn.004e7ed0
mov edx, dword [esp + 0x10]
mov ecx, esi
push edx
push 1
call fcn.00408470
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x10]
push edi
push eax
lea edx, [esi + 0xc0]
push ecx
push edx
mov ecx, esi
call fcn.004eb060
push 1
push edi
lea ecx, [esi + 0x2cc]
call fcn.004c8270
jmp 0x488fdd
mov eax, dword [esi + 0x384]
not eax
test al, 1
jne case.0x48a66e.6
mov ebp, dword [esp + 0x368]
push ebx
push 1
lea edi, [esi + 0x290]
push ebp
push ebx
push edi
mov ecx, 0x599b30
call fcn.004ea440
push ebp
push ebp
mov ecx, edi
call fcn.004c5d80
jmp 0x488fdd
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x48a66e.6
mov edx, dword [esp + 0x368]
lea ebp, [esi + 0x274]
push edx
mov ecx, ebp
call fcn.004d2e20
mov edi, eax
cmp edi, ebx
je case.0x48a66e.6
push edi
lea eax, [esi + 0xc0]
push 2
push eax
mov ecx, esi
call fcn.004ea2c0
push 1
push edi
mov ecx, ebp
call fcn.004c8e00
jmp 0x488fdd
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x48a66e.6
mov edx, dword [esp + 0x368]
lea ebp, [esi + 0x2e8]
push edx
mov ecx, ebp
call fcn.004d2e20
mov edi, eax
cmp edi, ebx
je case.0x48a66e.6
push edi
lea eax, [esi + 0xc0]
push 4
push eax
mov ecx, esi
call fcn.004ea2c0
push 1
push edi
mov ecx, ebp
call fcn.004c8ff0
jmp 0x488fdd
cmp dword [esi + 0x398], 1
je 0x48a744
cmp dword [esi + 0x394], ebx
jne 0x48a744
mov ecx, esi
call fcn.0048b120
jmp case.0x48a66e.6
cmp edi, 0x2020079
ja 0x48a22b
je 0x48a1fd
lea eax, [edi - 0x2020033]
cmp eax, 0x3d
ja case.0x48a24c.33685628
xor ecx, ecx
mov cl, byte [eax + 0x48a7f8]
jmp dword [ecx*4 + 0x48a7d0]
mov ecx, esi
call fcn.0048adf0
jmp case.0x48a66e.6
cmp dword [esi + 0x674], 0x19dc775b
jne 0x489280
push 0x58f39c
mov ecx, 0x59a438
call fcn.00519b43
mov edx, dword [0x59a3dc]
mov dword [0x59a43c], 0x40
push ebx
push 0x73
mov eax, dword [edx + 0x1c]
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
jmp case.0x48a66e.6
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x48a66e.6
lea eax, [esi + 0x2cc]
cmp edi, 0x202000d
mov edi, dword [0x593dcc]
mov dword [esp + 0x20], eax
je 0x4892af
mov edi, dword [0x593dd4]
mov edx, dword [0x596a5c]
mov dword [esp + 0x10], edx
lea eax, [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push edi
push ebx
push ecx
push 1
mov byte [esp + 0x36c], 1
call fcn.004c7220
add esp, 0x14
test eax, eax
jne 0x4892e5
push edi
lea ecx, [esp + 0x14]
call fcn.00519b43
push 0x54
call fcn.0051a8b5
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
cmp edi, ebx
je 0x489354
mov edx, dword [0x596a5c]
lea ebp, [esi + 0xc0]
mov dword [edi], edx
mov eax, dword [0x596a5c]
mov dword [edi + 4], eax
lea ecx, [edi + 0x14]
mov byte [esp + 0x358], 4
call fcn.004733a0
mov dword [edi + 0x28], ebp
mov dword [edi + 0x10], ebx
mov dword [edi + 0xc], 0x54d958
lea ecx, [edi + 0x2c]
mov byte [esp + 0x358], 5
call fcn.004733a0
mov dword [edi + 0x50], ebp
mov dword [edi + 0x40], ebx
mov dword [edi + 0x44], ebx
mov dword [edi + 0x4c], ebx
mov dword [edi + 0x48], ebx
mov dword [edi + 8], ebx
mov dword [esp + 0x18], edi
jmp 0x489358
mov dword [esp + 0x18], ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x358], 1
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00519af3
lea ecx, [esp + 0x48]
call fcn.004733a0
lea ebp, [esi + 0xc0]
mov dword [esp + 0x40], 0x54d878
mov dword [esp + 0x44], ebp
mov edi, dword [esp + 0x360]
mov byte [esp + 0x358], 6
cmp edi, 0x202006a
jne 0x4893be
mov eax, dword [esp + 0x18]
push 0x40000000
push eax
lea ecx, [esp + 0x48]
mov dword [eax + 0x44], 0xffffffff
mov edx, dword [esp + 0x48]
call dword [edx + 0x10]
jmp 0x4893ce
mov eax, dword [esp + 0x18]
push ebx
push eax
lea ecx, [esp + 0x48]
call dword [0x54d888]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x2e4]
push 1
lea ecx, [esp + 0x44]
push ebx
push ecx
shr eax, 3
push eax
push 0x131
mov ecx, esi
call fcn.004eb1d0
mov eax, dword [esi + 0x2e4]
push 1
lea edx, [esp + 0x44]
push ebx
shr eax, 3
push edx
push eax
lea ecx, [esi + 0x2cc]
call fcn.004d2f60
lea ecx, [esp + 0x48]
call fcn.004735a0
cmp edi, 0x202006a
jne 0x48958e
mov dword [esp + 0x38], ebx
push 0xd0
call fcn.0051a8b5
mov edi, eax
add esp, 4
mov dword [esp + 0x1c], edi
cmp edi, ebx
je 0x489500
mov eax, dword [0x596a5c]
mov dword [edi], eax
mov ecx, dword [0x596a5c]
mov dword [edi + 4], ecx
lea ecx, [edi + 0x14]
push ebp
mov byte [esp + 0x35c], 9
call fcn.0040c140
mov dword [edi + 0x14], 0x54d958
lea ecx, [edi + 0x3c]
mov byte [esp + 0x358], 0xa
call fcn.004733a0
mov dword [edi + 0x50], ebp
mov dword [edi + 0x38], ebx
mov dword [edi + 0x34], 0x54d958
lea ecx, [edi + 0x54]
mov byte [esp + 0x358], 0xb
call fcn.004733a0
lea ecx, [edi + 0x68]
mov byte [esp + 0x358], 0xc
call fcn.004733a0
lea ecx, [edi + 0x7c]
mov byte [esp + 0x358], 0xd
call fcn.004733a0
lea ecx, [edi + 0x90]
mov byte [esp + 0x358], 0xe
call fcn.004733a0
lea ecx, [edi + 0xa4]
mov byte [esp + 0x358], 0xf
call fcn.004733a0
lea ecx, [edi + 0xb8]
mov byte [esp + 0x358], 0x10
call fcn.004733a0
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xcc], ebp
jmp 0x489502
xor edi, edi
mov eax, dword [esp + 0x38]
mov byte [esp + 0x358], 6
cmp eax, ebx
mov eax, dword [0x593d2c]
je 0x48951c
mov eax, dword [0x593d30]
push eax
mov ecx, edi
call fcn.00519b43
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov eax, 0x58f36c
je 0x489536
mov eax, 0x58f33c
push eax
lea ecx, [edi + 4]
call fcn.00519b43
mov edx, dword [esp + 0x14]
push ebx
push ebx
mov ecx, edi
mov dword [edi + 8], edx
call fcn.004cd010
mov eax, dword [esi + 0x2b0]
lea ecx, [esi + 0x2b0]
push ebx
push edi
call dword [eax + 0x10]
mov ecx, dword [esp + 0x18]
mov edi, eax
push edi
add ecx, 0x2c
call fcn.00473660
push edi
push ebx
push ebp
mov ecx, 0x599b30
call fcn.004ea190
mov eax, dword [esp + 0x38]
inc eax
cmp eax, 2
mov dword [esp + 0x38], eax
jl 0x489426
mov ecx, esi
call fcn.00458090
mov edx, dword [esp + 0x18]
mov ecx, esi
push edx
push 1
call fcn.00408730
cmp eax, ebx
je 0x4895c9
lea ecx, [esp + 0x24]
mov dword [esp + 0x34], ebx
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0xd0]
lea edx, [esp + 0x24]
mov ecx, 0x59a5c8
push edx
call fcn.004e7ed0
mov dword [esp + 0x40], 0x54d878
lea ecx, [esp + 0x40]
mov byte [esp + 0x358], 0x11
call fcn.004c84c0
mov dword [esp + 0x40], 0x54d7f4
lea ecx, [esp + 0x48]
mov byte [esp + 0x358], 0x12
call fcn.004735a0
lea ecx, [esp + 0x48]
mov byte [esp + 0x358], 1
mov dword [esp + 0x48], 0x54d7d0
call fcn.004735a0
lea ecx, [esp + 0x10]
mov byte [esp + 0x358], bl
call fcn.00519a06
jmp case.0x48a66e.6
lea edi, [esi + 0xc0]
mov ecx, edi
call fcn.004558d0
test eax, eax
jne 0x48966f
push 0x58f2f8
mov ecx, 0x59a438
call fcn.00519b43
mov eax, dword [0x59a3dc]
mov dword [0x59a43c], 0x40
push ebx
push 0x73
mov ecx, dword [eax + 0x1c]
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp case.0x48a66e.6
cmp dword [esi + 0x674], 0x19dc775b
jne 0x4896b1
push 0x58f2d8
mov ecx, 0x59a438
call fcn.00519b43
mov edx, dword [0x59a3dc]
mov dword [0x59a43c], 0x40
push ebx
push 0x73
mov eax, dword [edx + 0x1c]
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
jmp case.0x48a66e.6
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x48a66e.6
mov ecx, dword [esi + 0x8ac]
call fcn.0051ade3
push 0xffffffffffffffff
push edi
mov ecx, esi
call fcn.004eab20
push ebx
push ebx
push ebx
push 5
mov ecx, esi
mov edi, eax
call fcn.00408300
mov ecx, esi
call fcn.00458090
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 5
mov ecx, esi
call fcn.00403170
cmp eax, ebx
je case.0x48a66e.6
lea ecx, [esp + 0x24]
mov dword [esp + 0x34], ebx
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0xd0]
lea edx, [esp + 0x24]
mov ecx, 0x59a5c8
push edx
call fcn.004e7ed0
jmp case.0x48a66e.6
mov eax, dword [esi + 0x384]
not eax
test al, 1
jne case.0x48a66e.6
mov ebp, dword [esp + 0x368]
lea edi, [esi + 0x304]
push ebp
mov ecx, edi
call fcn.004d2e20
cmp eax, ebx
mov dword [esp + 0x20], eax
je case.0x48a66e.6
lea ecx, [esp + 0x14]
push ecx
push ebp
mov ecx, edi
call fcn.004d2de0
cmp eax, 1
jne case.0x48a66e.6
mov eax, dword [esi + 0x3dc]
mov edx, ebx
dec eax
js 0x4897c3
mov edi, dword [esi + 0x3d8]
mov ebp, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [ecx + 0x3c], 5
jne 0x489795
cmp dword [ecx + 0x4c], ebp
je 0x48979f
inc edx
add edi, 4
cmp edx, eax
jle 0x489788
jmp 0x4897c3
cmp edx, eax
jg 0x4897c3
mov dword [esp + 0x34], ebx
mov edx, dword [ecx]
lea eax, [esp + 0x24]
push eax
call dword [edx + 0xd0]
lea ecx, [esp + 0x24]
push ecx
mov ecx, 0x59a5c8
call fcn.004e7ed0
mov edx, dword [esp + 0x14]
mov ecx, esi
push edx
push 5
call fcn.00408470
mov edi, dword [esp + 0x20]
lea eax, [esi + 0xc0]
push edi
push 5
push eax
mov ecx, esi
call fcn.004ea2c0
push 1
push edi
lea ecx, [esi + 0x304]
call fcn.004c9050
push ebx
push ebx
push ebx
push ebx
mov ecx, esi
call fcn.00408300
mov ecx, esi
call fcn.00458090
mov ecx, esi
call fcn.0045a000
jmp case.0x48a66e.6
cmp dword [esi + 0x398], 1
je 0x48a744
cmp dword [esi + 0x394], ebx
jne 0x48a744
mov ecx, esi
call fcn.0048b140
jmp case.0x48a66e.6
mov ecx, dword [0x596a5c]
mov dword [esp + 0x10], ecx
lea edx, [esp + 0x10]
push ebx
push edx
push ebx
mov ecx, esi
mov byte [esp + 0x364], 0x14
call fcn.00435990
test eax, eax
je 0x48a1a2
lea ecx, [esp + 0x60]
call fcn.00447590
lea eax, [esp + 0x9c]
mov dword [esp + 0x1c], eax
mov eax, dword [0x596a5c]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x358], 0x1e
call fcn.0040c630
lea ecx, [esp + 0xf4]
mov byte [esp + 0x358], 0x1f
call fcn.005185f1
lea ecx, [esp + 0x108]
mov byte [esp + 0x358], 0x20
call fcn.00518a4f
lea ecx, [esp + 0x11c]
mov byte [esp + 0x358], 0x21
call fcn.004733a0
mov edi, 0x54d910
mov dword [esp + 0x11c], edi
lea ecx, [esp + 0x130]
mov byte [esp + 0x358], 0x22
call fcn.00518a4f
lea ecx, [esp + 0x144]
mov byte [esp + 0x358], 0x23
call fcn.00518a4f
lea ecx, [esp + 0x158]
mov byte [esp + 0x358], 0x24
call fcn.005185f1
lea ecx, [esp + 0x180]
mov byte [esp + 0x358], 0x25
call fcn.004733a0
mov eax, dword [0x596a5c]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], eax
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x358], 0x28
call fcn.005185f1
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x358], 0x29
call fcn.004733a0
mov dword [esp + 0x1b4], edi
mov dword [esp + 0x1c8], 0x54d904
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1d4], ebx
mov dword [esp + 0x1d0], ebx
mov byte [esp + 0x358], 0x2b
lea ecx, [esp + 0x1e0]
call fcn.00518a4f
push ebx
lea ecx, [esp + 0x1f8]
mov byte [esp + 0x35c], 0x2c
call fcn.0040c140
mov dword [esp + fcn.004d2d00], 0x54d914
push ebx
lea ecx, [esp + 0x218]
mov byte [esp + 0x35c], 0x2d
call fcn.0040c260
mov dword [esp + 0x214], 0x54d84c
push ebx
lea ecx, [esp + 0x234]
mov byte [esp + 0x35c], 0x2e
call fcn.0040c140
mov dword [esp + 0x230], 0x54d958
push ebx
lea ecx, [esp + 0x254]
mov byte [esp + 0x35c], 0x2f
call fcn.0040c260
mov dword [esp + 0x250], 0x54d8a4
push ebx
lea ecx, [esp + 0x270]
mov byte [esp + 0x35c], 0x30
call fcn.0040c260
mov dword [esp + 0x26c], 0x54d878
push ebx
lea ecx, [esp + 0x28c]
mov byte [esp + 0x35c], 0x31
call fcn.0040c260
mov dword [esp + 0x288], 0x54d8d4
push ebx
lea ecx, [esp + 0x2a8]
mov byte [esp + 0x35c], 0x32
call fcn.0040c260
mov dword [esp + 0x2a4], 0x54d820
push ebx
lea ecx, [esp + 0x2c4]
mov byte [esp + 0x35c], 0x33
call fcn.0040c140
mov dword [esp + 0x2c0], 0x54d938
lea ecx, [esp + 0x2e8]
mov byte [esp + 0x358], 0x34
call fcn.004733a0
mov edi, 0x54d900
mov dword [esp + 0x2e4], ebx
mov dword [esp + 0x2e0], edi
mov eax, dword [0x596a5c]
mov dword [esp + 0x328], eax
mov dword [esp + 0x32c], eax
lea ecx, [esp + 0x170]
mov byte [esp + 0x358], 0x37
push ecx
mov dword [esp + 0x1e0], 0xffff
mov dword [esp + 0x328], ebx
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x170], ebx
call dword [sym.imp.ole32.dll_CoCreateGuid]
push 5
push ebx
lea ecx, [esp + 0xfc]
mov dword [esp + 0x340], ebx
mov dword [esp + 0x33c], ebx
mov dword [esp + 0x344], ebx
mov dword [esp + 0x348], ebx
mov dword [esp + 0x34c], ebx
mov dword [esp + 0x354], ebx
mov dword [esp + 0x350], ebx
call fcn.00518684
push 5
push ebx
lea ecx, [esp + 0x110]
call fcn.00518aaf
push 5
push ebx
lea ecx, [esp + 0x138]
call fcn.00518aaf
push 5
push ebx
lea ecx, [esp + 0x14c]
call fcn.00518aaf
push 5
push ebx
lea ecx, [esp + 0x160]
call fcn.00518684
lea ecx, [esp + 0x60]
lea edx, [esp + 0x60]
lea eax, [esp + 0x60]
mov dword [esp + 0x2a8], ecx
mov dword [esp + 0x28c], edx
mov dword [esp + 0x2dc], eax
lea ecx, [esp + 0x60]
lea edx, [esp + 0x60]
lea eax, [esp + 0x60]
mov dword [esp + 0x24c], ecx
mov dword [esp + 0x254], edx
mov dword [esp + 0x270], eax
lea ecx, [esp + 0x2fc]
lea edx, [esp + 0x60]
lea eax, [esp + 0x60]
push 0x28
push ecx
mov dword [esp + 0x220], edx
mov dword [esp + 0x218], eax
call fcn.004742d0
add esp, 8
mov edx, dword [esp + 0x10]
push 1
push ebx
push ebx
push edx
lea ecx, [esp + 0x70]
mov byte [esp + 0x368], 0x38
call fcn.00448050
test eax, eax
je 0x489c68
lea eax, [esp + 0x60]
push ebx
push eax
mov ecx, esi
call fcn.0048a890
lea ecx, [esp + 0x60]
mov byte [esp + 0x358], 0x51
call fcn.00450500
lea ecx, [esp + 0x32c]
mov byte [esp + 0x358], 0x50
call fcn.00519a06
lea ecx, [esp + 0x328]
mov byte [esp + 0x358], 0x4f
call fcn.00519a06
lea ecx, [esp + 0x2e0]
mov dword [esp + 0x2e0], edi
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x2e8]
mov byte [esp + 0x358], 0x52
mov dword [esp + 0x2e4], ebx
call fcn.004735a0
lea ecx, [esp + 0x2e8]
mov byte [esp + 0x358], 0x4e
mov dword [esp + 0x2e8], ebp
call fcn.004735a0
lea edx, [esp + 0x2c0]
mov edi, 0x54d7d4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c0], edi
lea ecx, [esp + 0x2c8]
mov byte [esp + 0x358], 0x53
mov dword [esp + 0x2c4], ebx
call fcn.004735a0
lea ecx, [esp + 0x2c8]
mov byte [esp + 0x358], 0x4d
mov dword [esp + 0x2c8], ebp
call fcn.004735a0
lea eax, [esp + 0x2a4]
mov dword [esp + 0x2a4], 0x54d820
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x2a4]
mov byte [esp + 0x358], 0x54
call fcn.004d3720
mov esi, 0x54d7f4
mov dword [esp + 0x2a4], esi
lea ecx, [esp + 0x2ac]
mov byte [esp + 0x358], 0x55
call fcn.004735a0
lea ecx, [esp + 0x2ac]
mov byte [esp + 0x358], 0x4c
mov dword [esp + 0x2ac], ebp
call fcn.004735a0
lea ecx, [esp + 0x288]
mov dword [esp + 0x288], 0x54d8d4
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x358], 0x56
lea ecx, [esp + 0x288]
call fcn.004c9700
mov dword [esp + 0x288], esi
lea ecx, [esp + 0x290]
mov byte [esp + 0x358], 0x57
call fcn.004735a0
lea ecx, [esp + 0x290]
mov byte [esp + 0x358], 0x4b
mov dword [esp + 0x290], ebp
call fcn.004735a0
lea edx, [esp + 0x26c]
mov dword [esp + 0x26c], 0x54d878
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0x26c]
mov byte [esp + 0x358], 0x58
call fcn.004c84c0
mov dword [esp + 0x26c], esi
lea ecx, [esp + 0x274]
mov byte [esp + 0x358], 0x59
call fcn.004735a0
lea ecx, [esp + 0x274]
mov byte [esp + 0x358], 0x4a
mov dword [esp + 0x274], ebp
call fcn.004735a0
lea eax, [esp + 0x250]
mov dword [esp + 0x250], 0x54d8a4
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x250]
mov byte [esp + 0x358], 0x5a
call fcn.004c9560
mov dword [esp + 0x250], esi
lea ecx, [esp + 0x258]
mov byte [esp + 0x358], 0x5b
call fcn.004735a0
lea ecx, [esp + 0x258]
mov byte [esp + 0x358], 0x49
mov dword [esp + 0x258], ebp
call fcn.004735a0
lea ecx, [esp + 0x230]
mov dword [esp + 0x230], edi
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x238]
mov byte [esp + 0x358], 0x5c
mov dword [esp + 0x234], ebx
call fcn.004735a0
lea ecx, [esp + 0x238]
mov byte [esp + 0x358], 0x48
mov dword [esp + 0x238], ebp
call fcn.004735a0
lea edx, [esp + 0x214]
mov dword [esp + 0x214], 0x54d84c
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0x214]
mov byte [esp + 0x358], 0x5d
call fcn.004c9870
mov dword [esp + 0x214], esi
lea ecx, [esp + 0x21c]
mov byte [esp + 0x358], 0x5e
call fcn.004735a0
lea ecx, [esp + 0x21c]
mov byte [esp + 0x358], 0x47
mov dword [esp + 0x21c], ebp
call fcn.004735a0
lea eax, [esp + 0x1f4]
mov dword [esp + 0x1f4], edi
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x358], 0x5f
mov dword [esp + 0x1f8], ebx
call fcn.004735a0
mov byte [esp + 0x358], 0x46
mov dword [esp + 0x1fc], ebp
lea ecx, [esp + 0x1fc]
call fcn.004735a0
lea ecx, [esp + 0x1e0]
mov byte [esp + 0x358], 0x45
call fcn.00518a82
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x1c8], 0x54d904
cmp eax, ebx
je 0x489fde
push eax
call fcn.0051a8de
add esp, 4
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x358], 0x43
mov dword [esp + 0x1b4], ebp
call fcn.004735a0
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x358], 0x42
call fcn.00518624
lea ecx, [esp + 0x198]
mov byte [esp + 0x358], 0x41
call fcn.00519a06
lea ecx, [esp + 0x194]
mov byte [esp + 0x358], 0x40
call fcn.00519a06
lea ecx, [esp + 0x180]
mov byte [esp + 0x358], 0x3f
mov dword [esp + 0x180], ebp
call fcn.004735a0
lea ecx, [esp + 0x158]
mov byte [esp + 0x358], 0x3e
call fcn.00518624
lea ecx, [esp + 0x144]
mov byte [esp + 0x358], 0x3d
call fcn.00518a82
lea ecx, [esp + 0x130]
mov byte [esp + 0x358], 0x3c
call fcn.00518a82
lea ecx, [esp + 0x11c]
mov byte [esp + 0x358], 0x3b
mov dword [esp + 0x11c], ebp
call fcn.004735a0
lea ecx, [esp + 0x108]
mov byte [esp + 0x358], 0x3a
call fcn.00518a82
lea ecx, [esp + 0xf4]
mov byte [esp + 0x358], 0x39
call fcn.00518624
lea ecx, [esp + 0x9c]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xc0]
mov byte [esp + 0x358], 0x68
call fcn.00519a06
lea ecx, [esp + 0xbc]
mov byte [esp + 0x358], 0x67
call fcn.00519a06
lea ecx, [esp + 0xb8]
mov byte [esp + 0x358], 0x66
call fcn.00519a06
lea ecx, [esp + 0xb4]
mov byte [esp + 0x358], 0x65
call fcn.00519a06
lea ecx, [esp + 0xb0]
mov byte [esp + 0x358], 0x64
call fcn.00519a06
lea ecx, [esp + 0xac]
mov byte [esp + 0x358], 0x63
call fcn.00519a06
lea ecx, [esp + 0xa8]
mov byte [esp + 0x358], 0x62
call fcn.00519a06
lea ecx, [esp + 0xa4]
mov byte [esp + 0x358], 0x61
call fcn.00519a06
lea ecx, [esp + 0xa0]
mov byte [esp + 0x358], 0x60
call fcn.00519a06
lea ecx, [esp + 0x9c]
mov byte [esp + 0x358], 0x14
call fcn.00519a06
lea ecx, [esp + 0x10]
mov byte [esp + 0x358], bl
call fcn.00519a06
jmp case.0x48a66e.6
mov edx, dword [esp + 0x36c]
mov eax, dword [esp + 0x368]
push edx
push eax
mov ecx, esi
call fcn.0048a890
jmp case.0x48a66e.6
push ebx
push ebx
push ebx
push 0x12
mov ecx, esi
call fcn.00433040
jmp case.0x48a66e.6
lea ecx, [esi + 0xc0]
call fcn.004268e0
mov ecx, dword [esp + 0x368]
mov dword [ecx], eax
jmp case.0x48a66e.6
mov edx, dword [esp + 0x368]
push 1
lea eax, [esi + 0xc0]
push edx
push eax
mov ecx, esi
call fcn.004f03e0
mov ecx, dword [esp + 0x36c]
cmp ecx, ebx
je case.0x48a66e.6
mov dword [ecx], eax
jmp case.0x48a66e.6
cmp edi, 0x82020016
ja 0x48a540
je 0x48a349
lea eax, [edi - 0x202007a]
cmp eax, 4
ja case.0x48a24c.33685628
jmp dword [eax*4 + 0x48a838]
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x48a66e.6
xor edx, edx
cmp edi, 0x202007e
sete dl
push edx
lea eax, [esi + 0xc0]
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.004eacf0
push ebx
push ebx
push ebx
push 6
mov ecx, esi
mov edi, eax
call fcn.00408300
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 6
mov ecx, esi
call fcn.00403170
jmp case.0x48a66e.6
mov ecx, dword [esp + 0x368]
push ebx
lea edx, [esi + 0xc0]
push ecx
push edx
mov ecx, esi
call fcn.004f0020
jmp case.0x48a66e.6
mov eax, dword [esp + 0x368]
mov ecx, esi
push eax
call fcn.004f0580
jmp case.0x48a66e.6
mov ecx, dword [esp + 0x368]
xor ebp, ebp
mov eax, dword [ecx + 8]
cmp eax, ebx
mov dword [esp + 0x20], eax
jle case.0x48a66e.6
mov ecx, dword [esp + 0x368]
lea edx, [esp + 0x5c]
push ebp
push edx
call fcn.0043d440
mov eax, dword [eax]
push ebx
push eax
lea eax, [esi + 0xc0]
push eax
mov ecx, esi
mov byte [esp + 0x364], 0x13
call fcn.004ee500
lea ecx, [esp + 0x5c]
mov edi, eax
mov byte [esp + 0x358], bl
call fcn.00519a06
cmp edi, ebx
je 0x48a33b
mov eax, dword [esp + 0x36c]
mov dword [eax], 1
mov eax, dword [esp + 0x20]
inc ebp
cmp ebp, eax
jl 0x48a2ec
jmp case.0x48a66e.6
mov ecx, esi
call fcn.00457f90
mov edi, eax
mov eax, dword [esi + 0x8ac]
add eax, 0x558
push ebx
push 9
push 0x110a
mov ecx, dword [eax + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, ebx
mov dword [esp + 0x14], eax
je case.0x48a66e.6
mov ecx, dword [esi + 0x8ac]
mov edx, eax
push edx
add ecx, 0x558
call fcn.0051774d
mov ebp, eax
shr eax, 0x1c
je case.0x48a66e.6
dec eax
cmp eax, 7
ja case.default.0x48a3a4
jmp dword [eax*4 + 0x48a84c]
test ebp, 0xffff
jbe 0x48a3e3
cmp edi, ebx
je case.0x48a66e.6
cmp dword [edi + 0x3c], 1
jne case.0x48a66e.6
mov ecx, dword [esp + 0x364]
mov eax, dword [edi]
push ebx
push ebx
push ecx
push 0x2020009
mov ecx, edi
call dword [eax + 0xe0]
jmp case.0x48a66e.6
shr ebp, 0x10
and ebp, 0xfff
lea edx, [esp + 0x20]
dec ebp
push edx
push ebp
lea ecx, [esi + 0x2cc]
call fcn.004d2de0
test eax, eax
je 0x48a41f
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x44], ebx
je 0x48a41f
mov ecx, dword [esp + 0x364]
push ebx
push ebx
push ecx
push 0x202006a
jmp 0x48a71e
mov edx, dword [esp + 0x364]
push ebx
push ebx
push edx
push 0x202000d
jmp 0x48a71e
mov eax, dword [esp + 0x364]
push ebx
push ebx
push eax
push 0x202000b
mov ecx, esi
call fcn.004588f0
jmp 0x48a50d
mov ecx, dword [esp + 0x364]
push ebx
push ebx
push ecx
push 0x202000a
mov ecx, esi
call fcn.004588f0
jmp 0x48a50d
mov edx, dword [esp + 0x364]
push ebx
push ebx
push edx
push 0x202000c
mov ecx, esi
call fcn.004588f0
jmp 0x48a50d
mov eax, dword [esp + 0x364]
push ebx
push ebx
push eax
push 0x2020037
mov ecx, esi
call fcn.004588f0
jmp 0x48a50d
mov ecx, dword [esp + 0x364]
push ebx
push ebx
push ecx
push 0x2020010
mov ecx, esi
call fcn.004588f0
jmp 0x48a50d
mov eax, ebp
and eax, 0xfffffff
cmp eax, 1
jne 0x48a4d8
mov edx, dword [esp + 0x364]
push ebx
push ebx
push edx
push 0x2020011
mov ecx, esi
call fcn.004588f0
jmp 0x48a50d
cmp eax, 2
jne 0x48a50d
mov eax, dword [esp + 0x364]
push ebx
push ebx
push eax
push 0x2020012
mov ecx, esi
call fcn.004588f0
jmp 0x48a50d
mov ecx, esi
call fcn.0046a680
test eax, eax
jne 0x48a50d
jmp case.0x48a66e.6
cmp eax, ebx
je case.0x48a66e.6
test ebp, 0xfffffff
jne case.0x48a66e.6
mov esi, dword [esi + 0x8ac]
mov ecx, dword [esp + 0x14]
add esi, 0x558
push ecx
push 2
push 0x1102
mov edx, dword [esi + 0x1c]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x48a66e.6
cmp edi, 0x82020017
je 0x48a619
cmp edi, 0x82020078
je 0x48a590
cmp edi, 0x8202007c
je 0x48a590
cmp dword [esp + 0x3c], 1
jne 0x48a56d
mov ecx, 0x59a5c8
call fcn.004e7fc0
lea ecx, [esp + 0x24]
mov dword [esp + 0x358], 0xffffffff
mov dword [esp + 0x24], 0x54d7d0
call fcn.004735a0
xor eax, eax
jmp 0x48a765
mov eax, dword [esi + 0x8ac]
push ebx
add eax, 0x558
push 9
push 0x110a
mov eax, dword [eax + 0x1c]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, ebx
je case.0x48a66e.6
mov ecx, dword [esi + 0x8ac]
push eax
add ecx, 0x558
call fcn.0051774d
mov ecx, eax
and ecx, 0xf0000000
cmp ecx, 0x80000000
jne case.0x48a66e.6
and eax, 0xfffffff
dec eax
cmp edi, 0x82020078
jne 0x48a5fd
mov edx, dword [esp + 0x364]
push ebx
push eax
push edx
push 0x2020079
jmp 0x48a71e
cmp eax, ebx
jl case.0x48a66e.6
push ebx
push eax
mov eax, dword [esp + 0x36c]
push eax
push 0x202007d
jmp 0x48a71e
mov eax, dword [esi + 0x8ac]
push ebx
add eax, 0x558
push 9
push 0x110a
mov ecx, dword [eax + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, ebx
je case.0x48a66e.6
mov ecx, dword [esi + 0x8ac]
push eax
add ecx, 0x558
call fcn.0051774d
mov edx, eax
shr edx, 0x1c
je case.0x48a66e.6
mov ecx, eax
dec edx
and ecx, 0xfffffff
dec ecx
cmp edx, 7
ja case.0x48a66e.6
jmp dword [edx*4 + 0x48a86c]
mov ecx, eax
and ecx, 0xffff
jbe 0x48a69d
mov edx, dword [esp + 0x364]
dec ecx
shr eax, 0x10
and eax, 0xfff
push ecx
dec eax
push eax
push edx
push 0x2020019
jmp 0x48a71e
shr eax, 0x10
and eax, 0xfff
push ebx
dec eax
push eax
mov eax, dword [esp + 0x36c]
push eax
push 0x202001a
jmp 0x48a71e
cmp ecx, ebx
jl case.0x48a66e.6
push ebx
push ecx
mov ecx, dword [esp + 0x36c]
push ecx
push 0x202001b
jmp 0x48a71e
cmp ecx, ebx
jl case.0x48a66e.6
mov edx, dword [esp + 0x364]
push ebx
push ecx
push edx
push 0x202001c
jmp 0x48a71e
cmp ecx, ebx
jl case.0x48a66e.6
mov eax, dword [esp + 0x364]
push ebx
push ecx
push eax
push 0x202001d
jmp 0x48a71e
cmp ecx, ebx
jl case.0x48a66e.6
push ebx
push ecx
mov ecx, dword [esp + 0x36c]
push ecx
push 0x2020038
jmp 0x48a71e
cmp ecx, ebx
jl case.0x48a66e.6
mov edx, dword [esp + 0x364]
push ebx
push ecx
push edx
push 0x202007a
mov ecx, esi
call fcn.004588f0
cmp dword [esp + 0x3c], 1
jne 0x48a744
cmp dword [esp + 0x34], ebx
jne 0x48a735
push ebx
jmp 0x48a73a
lea eax, [esp + 0x24]
push eax
mov ecx, 0x59a5c8
call fcn.004e7ff0
lea ecx, [esp + 0x24]
mov dword [esp + 0x358], 0xffffffff
mov dword [esp + 0x24], 0x54d7d0
call fcn.004735a0
mov eax, 1
mov ecx, dword [esp + 0x350]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x34c
ret 0x10