Function at 0x403c00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x44be32
call fcn.00423240
sub esp, 0xb8
push esi
push edi
mov dword [ebp - 0xb0], ecx
mov byte [ebp - 0x5c], 0xb1
mov byte [ebp - 0x5b], 0xbe
mov byte [ebp - 0x5a], 0xd3
mov byte [ebp - 0x59], 0xce
mov byte [ebp - 0x58], 0xcf
mov byte [ebp - 0x57], 0xb7
mov byte [ebp - 0x56], 0xd3
mov byte [ebp - 0x55], 0xc9
mov byte [ebp - 0x54], 0xc7
mov byte [ebp - 0x53], 0xe5
mov byte [ebp - 0x52], 0xbb
mov byte [ebp - 0x51], 0xaa
mov byte [ebp - 0x50], 0xbc
mov byte [ebp - 0x4f], 0xc6
mov byte [ebp - 0x4e], 0xcb
mov byte [ebp - 0x4d], 0xe3
mov byte [ebp - 0x4c], 0xbb
mov byte [ebp - 0x4b], 0xfa
mov byte [ebp - 0x4a], 0xcf
mov byte [ebp - 0x49], 0xb5
mov byte [ebp - 0x48], 0x39
mov byte [ebp - 0x47], 0x33
mov byte [ebp - 0x46], 0xbc
mov byte [ebp - 0x45], 0xb6
mov byte [ebp - 0x44], 0xd1
mov byte [ebp - 0x43], 0xa7
mov byte [ebp - 0x42], 0xc9
mov byte [ebp - 0x41], 0xfa
mov byte [ebp - 0x40], 0xd5
mov byte [ebp - 0x3f], 0xc2
mov byte [ebp - 0x3e], 0xb7
mov byte [ebp - 0x3d], 0xe5
mov byte [ebp - 0x3c], 0x2c
mov byte [ebp - 0x3b], 0xcd
mov byte [ebp - 0x3a], 0xf2
mov byte [ebp - 0x39], 0xc3
mov byte [ebp - 0x38], 0xf4
mov byte [ebp - 0x37], 0xa3
mov byte [ebp - 0x36], 0xac
mov byte [ebp - 0x35], 0xd6
mov byte [ebp - 0x34], 0xdc
mov byte [ebp - 0x33], 0xc1
mov byte [ebp - 0x32], 0xd8
mov byte [ebp - 0x31], 0xd6
mov byte [ebp - 0x30], 0xc6
mov byte [ebp - 0x2f], 0xd7
mov byte [ebp - 0x2e], 0xf7
mov byte [ebp - 0x2d], 0xa
mov byte [ebp - 0x2c], 0xa
mov byte [ebp - 0x2b], 0x20
mov byte [ebp - 0x2a], 0x20
mov byte [ebp - 0x29], 0x20
mov byte [ebp - 0x28], 0x20
mov byte [ebp - 0x27], 0x20
mov byte [ebp - 0x26], 0x20
mov byte [ebp - 0x25], 0x20
mov byte [ebp - 0x24], 0x20
mov byte [ebp - 0x23], 0x20
mov byte [ebp - 0x22], 0x20
mov byte [ebp - 0x21], 0x20
mov byte [ebp - 0x20], 0x20
mov byte [ebp - 0x1f], 0x20
mov byte [ebp - 0x1e], 0x20
mov byte [ebp - 0x1d], 0x20
mov byte [ebp - 0x1c], 0x20
mov byte [ebp - 0x1b], 0xcf
mov byte [ebp - 0x1a], 0xa3
mov byte [ebp - 0x19], 0xcd
mov byte [ebp - 0x18], 0xfb
mov byte [ebp - 0x17], 0xc4
mov byte [ebp - 0x16], 0xe3
mov byte [ebp - 0x15], 0xcf
mov byte [ebp - 0x14], 0xb2
mov byte [ebp - 0x13], 0xbb
mov byte [ebp - 0x12], 0xb6
and byte [ebp - 0x11], 0
and byte [ebp - 0x10], 0
and byte [ebp - 0xf], 0
and byte [ebp - 0xe], 0
and byte [ebp - 0xd], 0
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x2b3c], 1
mov eax, dword [ebp - 0xb0]
cmp dword [eax + 0x1960], 0
je 0x403d91
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb0]
mov ecx, dword [ecx + 0x1900]
mov dword [eax + 0x18bc], ecx
jmp 0x403da1
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x18bc], 0x9c4
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x6c
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x68c]
call fcn.0040c800
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x78], 1
jmp 0x403dd5
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x6c
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x68c]
call fcn.0040c7f1
cmp dword [ebp - 0x78], eax
jg 0x4047a9
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0xb0]
and dword [eax + 0x2b20], 0
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x6c
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x68c]
call fcn.0040c80f
mov eax, dword [eax]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x3f8]
call fcn.0040c800
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x4041e4
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x3f8]
call fcn.0040c80f
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
jne 0x403ebf
jmp 0x403e64
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
cmp eax, dword [ecx + 0xea8]
jne 0x404088
mov eax, dword [ebp - 0x84]
cmp dword [eax + 0x10], 0
je 0x404083
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
mov eax, dword [eax + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x404083
push 0x18
call fcn.004012a7
mov dword [ebp - 0x90], eax
and dword [ebp - 4], 0
cmp dword [ebp - 0x90], 0
je 0x403f2f
mov ecx, dword [ebp - 0x90]
call fcn.0040c84b
mov dword [ebp - 0xb4], eax
jmp 0x403f36
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x94], eax
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0xb0]
push dword [eax + 0x36c]
push 0
push 0
push 0x6f
mov ecx, dword [ebp - 0x70]
call fcn.0041a772
push dword [ebp - 0x70]
push dword [ebp - 0x88]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x3f8]
call fcn.004335a3
push dword [ebp - 0x88]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x3f8]
call fcn.0040c833
mov eax, dword [eax]
mov dword [ebp - 0x70], eax
push dword [ebp - 0x88]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x3f8]
call fcn.004335e0
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
je 0x404028
push 1
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x98]
call dword [eax + 4]
mov dword [ebp - 0xb8], eax
jmp 0x40402f
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ecx + eax + 0x478]
dec eax
mov ecx, dword [ebp - 0xb0]
mov ecx, dword [ecx + 0x1a7c]
imul ecx, ecx, 0x84
mov edx, dword [ebp - 0xb0]
mov dword [edx + ecx + 0x478], eax
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x2b20], 1
jmp 0x4041e4
jmp 0x4041df
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x84]
mov eax, dword [eax + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x4041df
push 0x18
call fcn.004012a7
mov dword [ebp - 0xa0], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0xa0], 0
je 0x4040cd
mov ecx, dword [ebp - 0xa0]
call fcn.0040c84b
mov dword [ebp - 0xbc], eax
jmp 0x4040d4
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xa4], eax
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0xb0]
push dword [eax + 0x36c]
push 0
push 0
push 0x6f
mov ecx, dword [ebp - 0x70]
call fcn.0041a772
push dword [ebp - 0x70]
push dword [ebp - 0x88]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x3f8]
call fcn.004335a3
push dword [ebp - 0x88]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x3f8]
call fcn.0040c833
mov eax, dword [eax]
mov dword [ebp - 0x70], eax
push dword [ebp - 0x88]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x3f8]
call fcn.004335e0
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x4041c6
push 1
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xa8]
call dword [eax + 4]
mov dword [ebp - 0xc0], eax
jmp 0x4041cd
and dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x2b20], 1
jmp 0x4041e4
jmp 0x403e64
mov eax, dword [ebp - 0xb0]
cmp dword [eax + 0x2b20], 0
jne 0x404206
mov ecx, dword [ebp - 0xb0]
add ecx, 0x2e40
call fcn.0041f709
jmp 0x4041f3
mov eax, dword [ebp - 0xb0]
cmp dword [eax + 0x2b44], 0
je 0x404255
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x3f8]
call fcn.0040c7f1
cmp eax, 0xa
jg 0x404255
lea eax, [ebp - 0x5c]
push eax
call fcn.00418c16
pop ecx
mov eax, dword [ebp - 0xb0]
and dword [eax + 0x2b44], 0
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x80]
mov dword [eax + 0x2b14], ecx
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x3f8]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + eax + 0x3f8]
call dword [eax + 0x14]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
lea esi, [ecx + eax + 0x444]
lea edi, [ebp - 0x6c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x36c]
call fcn.0040cb71
mov eax, dword [ebp - 0xb0]
push dword [eax + 0x1a7c]
mov ecx, dword [ebp - 0xb0]
call fcn.00408a9a
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0x10
je 0x4044ab
cmp dword [ebp - 0xc4], 0x11
je 0x404568
cmp dword [ebp - 0xc4], 0x12
je 0x404334
cmp dword [ebp - 0xc4], 0x13
je 0x4043ee
jmp 0x40461d
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0x8c]
dec ecx
mov edx, dword [ebp - 0xb0]
mov edx, dword [edx + 0x1a7c]
imul edx, edx, 0x84
mov esi, dword [ebp - 0xb0]
imul ecx, dword [esi + edx + 0x414]
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + eax + 0x424]
add eax, ecx
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2aa4], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + eax + 0x428]
mov dword [ecx + 0x2aa8], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x2aa4]
add eax, 0x47
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2aac], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x2aa8]
add eax, 0x60
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2ab0], eax
jmp 0x40461d
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + eax + 0x424]
mov dword [ecx + 0x2aa4], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0x8c]
dec ecx
mov edx, dword [ebp - 0xb0]
mov edx, dword [edx + 0x1a7c]
imul edx, edx, 0x84
mov esi, dword [ebp - 0xb0]
imul ecx, dword [esi + edx + 0x418]
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + eax + 0x430]
sub eax, ecx
sub eax, 0x60
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2aa8], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x2aa4]
add eax, 0x47
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2aac], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x2aa8]
add eax, 0x60
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2ab0], eax
jmp 0x40461d
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0x8c]
dec ecx
mov edx, dword [ebp - 0xb0]
mov edx, dword [edx + 0x1a7c]
imul edx, edx, 0x84
mov esi, dword [ebp - 0xb0]
imul ecx, dword [esi + edx + 0x414]
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + eax + 0x42c]
sub eax, ecx
sub eax, 0x47
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2aa4], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + eax + 0x428]
mov dword [ecx + 0x2aa8], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x2aa4]
add eax, 0x47
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2aac], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x2aa8]
add eax, 0x60
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2ab0], eax
jmp 0x40461d
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + eax + 0x424]
mov dword [ecx + 0x2aa4], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0x8c]
dec ecx
mov edx, dword [ebp - 0xb0]
mov edx, dword [edx + 0x1a7c]
imul edx, edx, 0x84
mov esi, dword [ebp - 0xb0]
imul ecx, dword [esi + edx + 0x418]
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + eax + 0x428]
add eax, ecx
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2aa8], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x2aa4]
add eax, 0x47
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2aac], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x2aa8]
add eax, 0x60
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2ab0], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x6c
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ecx + eax + 0x6b8]
mov ecx, dword [ebp - 0x78]
dec ecx
mov edx, dword [ebp - 0xb0]
mov edx, dword [edx + 0x1a7c]
imul edx, edx, 0x6c
mov esi, dword [ebp - 0xb0]
imul ecx, dword [esi + edx + 0x6a8]
lea eax, [eax + ecx + 0x51]
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2ab4], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x6c
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ecx + eax + 0x6bc]
add eax, 0x6a
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2ab8], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x2ab4]
add eax, 0x47
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2abc], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x2ab8]
add eax, 0x60
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x2ac0], eax
mov eax, dword [ebp - 0xb0]
add eax, 0x2ab4
push eax
mov eax, dword [ebp - 0xb0]
add eax, 0x2aa4
push eax
mov eax, dword [ebp - 0xb0]
add eax, 0x2ac4
push eax
call dword [sym.imp.USER32.dll_UnionRect]
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x2b38], 1
push 0
mov eax, dword [ebp - 0xb0]
add eax, 0x2ac4
push eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x36c]
call fcn.0040cb71
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x36c]
call fcn.0040cb40
mov eax, dword [ebp - 0xb0]
and dword [eax + 0x2b38], 0
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x3f8]
call fcn.00410321
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
cmp eax, dword [ecx + 0xea8]
jne 0x4047a4
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x1a7c]
imul eax, eax, 0x84
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx + eax + 0x3f8]
call fcn.0040e88a
jmp 0x403dce
mov eax, dword [ebp - 0xb0]
and dword [eax + 0x2b3c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
leave
ret