Function at 0x1003dead
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x138
push ebx
push esi
push edi
mov byte [ebp - 0x1c], 0xd4
mov byte [ebp - 0x1b], 0x31
mov byte [ebp - 0x1a], 0x22
mov byte [ebp - 0x19], 0xf0
mov byte [ebp - 0x18], 0xbb
mov byte [ebp - 0x17], 0x19
mov byte [ebp - 0x16], 0xe9
mov byte [ebp - 0x15], 0x45
mov byte [ebp - 0x14], 0x35
mov byte [ebp - 0x13], 0x68
mov byte [ebp - 0x12], 0x24
mov byte [ebp - 0x11], 0xc2
mov byte [ebp - 0x10], 0x9e
mov byte [ebp - 0xf], 0x71
mov byte [ebp - 0xe], 0x7a
mov byte [ebp - 0xd], 0x68
mov dword [ebp - 0x100], 0xa5a5
mov word [ebp - 0x34], 0xa
jmp 0x1003e4ef
jmp 0x1003e6db
jmp 0x1003e837
jmp 0x1003df1b
jmp 0x1003e843
jmp 0x1003e843
mov word [ebp - 0x2c], 0
jmp 0x1003df39
mov ax, word [ebp - 0x2c]
add ax, 1
mov word [ebp - 0x2c], ax
mov ecx, dword [ebp - 0x2c]
and ecx, 0xffff
cmp ecx, 3
jge 0x1003e00f
mov edx, dword [ebp - 0x2c]
and edx, 0xffff
mov eax, dword [ebp - 0x2c]
and eax, 0xffff
imul edx, eax
mov ecx, dword [ebp - 0x2c]
and ecx, 0xffff
imul edx, ecx
mov eax, dword [ebp - 0x2c]
and eax, 0xffff
imul edx, eax
add edx, 7
mov dword [ebp - 0x118], edx
cmp dword [ebp - 0x118], 7
je 0x1003df9c
cmp dword [ebp - 0x118], 8
je 0x1003dfb6
cmp dword [ebp - 0x118], 0x17
je 0x1003dfaf
jmp 0x1003e00a
mov cx, word [ebp - 0x2e]
add cx, 1
mov word [ebp - 0x2e], cx
jo 0x1003dfad
jno 0x1003dfad
add ebx, ebp
pop ebx
jmp 0x1003e00a
jb 0x1003dfb4
jae 0x1003dfb4
add ch, bl
insd dword es:[edi], dx
jmp 0x1003e023
mov eax, dword [ebp - 0x2e]
and eax, 0xffff
cdq
mov ecx, 3
idiv ecx
mov ecx, edx
sub ecx, 1
neg ecx
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x2e]
and eax, 0xffff
cdq
mov esi, 5
idiv esi
xor eax, eax
cmp edx, 2
setne al
or ecx, eax
test ecx, ecx
je 0x1003e004
mov cx, word [ebp - 0x30]
mov word [ebp - 0x36], cx
mov word [ebp - 0x32], 1
jne 0x1003e002
je 0x1003e002
add ebp, ebx
push es
jmp 0x1003e00a
mov word [ebp - 0x32], 0
jmp 0x1003df2d
jmp 0x1003e843
jmp 0x1003df25
jmp 0x1003e843
jmp 0x1003e6db
mov word [ebp - 0x2c], 0
jmp 0x1003e037
mov dx, word [ebp - 0x2c]
add dx, 1
mov word [ebp - 0x2c], dx
mov eax, dword [ebp - 0x2c]
and eax, 0xffff
cmp eax, 8
jge 0x1003e1aa
mov ecx, dword [ebp - 0x2c]
and ecx, 0xffff
mov edx, dword [ebp - 0x2c]
and edx, 0xffff
imul ecx, edx
mov eax, dword [ebp - 0x2c]
and eax, 0xffff
lea ecx, [ecx + eax + 1]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x11c]
sub edx, 1
mov dword [ebp - 0x11c], edx
cmp dword [ebp - 0x11c], 0x38
ja case.0x1003e099.8
mov ecx, dword [ebp - 0x11c]
xor eax, eax
mov al, byte [ecx + 0x1003e876]
jmp dword [eax*4 + 0x1003e852]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x100], edx
jbe 0x1003e0ae
ja 0x1003e0ae
add al, 0x8b
inc ebp
fadd st(1), st(0)
call 0xec4969c7
mov eax, dword [ebp - 0x24]
shr eax, 0x10
mov dword [ebp - 0x24], eax
jns 0x1003e0bc
js 0x1003e0bc
add eax, 0xe4e9
jmp case.0x1003e099.8
add byte [ebx - 0x50f007b3], cl
dec ebp
cld
mov ecx, dword [ebp - 8]
imul ecx, dword [ebp - 4]
and ecx, 0xffff
mov dword [ebp - 0xc], ecx
jp 0x1003e0d6
jnp 0x1003e0d6
push es
jmp case.0x1003e099.8
mov edx, dword [ebp - 0x100]
shr edx, 0x10
mov dword [ebp - 0x20], edx
jl 0x1003e0ec
jge 0x1003e0ec
pop es
mov eax, dword [ebp - 0x100]
and eax, 0xffff
mov dword [ebp - 4], eax
jmp case.0x1003e099.8
cmp dword [ebp - 0x20], 0
je 0x1003e11a
mov ecx, dword [ebp - 0x20]
imul ecx, dword [ebp - 0x28]
and ecx, 0xffff
mov edx, dword [ebp - 0xc]
add edx, ecx
mov dword [ebp - 0xc], edx
jmp case.0x1003e099.8
mov dword [ebp - 8], 0x15a
jle 0x1003e12b
jg 0x1003e12b
or bh, al
inc ebp
fdiv dword [0xeb00004e]
jno 0x1003e0c0
invalid
mov dword [ebp - 0x28], 0x4e35
jmp case.0x1003e099.8
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 4]
inc ebp
fmul dword [edi]
scasd eax, dword es:[edi]
inc ebp
cld
mov ecx, dword [ebp - 0xc]
shl ecx, 0x10
and ecx, 0xffff0000
lea edx, [eax + ecx + 1]
mov dword [ebp - 0x24], edx
jmp case.0x1003e099.8
mov eax, dword [ebp - 0x32]
and eax, 0xffff
and eax, 0x80000001
jns 0x1003e164
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x1003e17e
cmp dword [ebp - 0x120], 1
je 0x1003e183
jmp 0x1003e185
jmp 0x1003e616
jmp 0x1003e1c3
jmp case.0x1003e099.8
mov ecx, dword [ebp - 0x24]
and ecx, 0x7fff
mov dword [ebp - 0x24], ecx
push ecx
xor ecx, ecx
jecxz 0x1003e199
or dword [ecx + 0x66], ebx
mov edx, dword [ebp - 0x24]
pop ecx
mov dx, word [ebp - 0x24]
mov word [ebp - 0x10c], dx
jmp 0x1003e02b
jmp 0x1003e1ad
jmp 0x1003df25
jmp 0x1003df25
jmp 0x1003e1b2
jmp 0x1003e843
jmp 0x1003df25
mov word [ebp - 0x2c], 0
jmp 0x1003e1d7
mov ax, word [ebp - 0x2c]
add ax, 1
mov word [ebp - 0x2c], ax
mov ecx, dword [ebp - 0x2c]
and ecx, 0xffff
cmp ecx, 7
jge 0x1003e4b3
mov edx, dword [ebp - 0x2c]
and edx, 0xffff
mov eax, dword [ebp - 0x2c]
and eax, 0xffff
imul edx, eax
mov ecx, dword [ebp - 0x2c]
and ecx, 0xffff
imul edx, ecx
add edx, 1
mov dword [ebp - 0x124], edx
mov edx, dword [ebp - 0x124]
sub edx, 1
mov dword [ebp - 0x124], edx
cmp dword [ebp - 0x124], 0xd8
ja case.0x1003e23f.7
mov ecx, dword [ebp - 0x124]
xor eax, eax
mov al, byte [ecx + 0x1003e8cf]
jmp dword [eax*4 + 0x1003e8af]
mov edx, dword [ebp - 0x114]
and edx, 0xffff
mov eax, dword [ebp - 0x110]
and eax, 0xffff
lea ecx, [ebp + eax*8 - 0x4c]
mov dx, word [ecx + edx*2]
add dx, 1
mov eax, dword [ebp - 0x114]
and eax, 0xffff
mov ecx, dword [ebp - 0x110]
and ecx, 0xffff
lea ecx, [ebp + ecx*8 - 0x4c]
mov word [ecx + eax*2], dx
jo 0x1003e28d
jno 0x1003e28d
adc dword [esi - 0x75], esp
push ebp
shl byte [esi - 0x77], 1
push ebp
retf 0x14e9
mov dx, word [ebp - 0x30]
mov word [ebp - 0x36], dx
jmp case.0x1003e23f.7
mov eax, dword [ebp - 0x10c]
and eax, 0xffff
cdq
mov ecx, 3
idiv ecx
mov word [ebp - 0x114], dx
jb 0x1003e2b9
jae 0x1003e2b9
adc ch, cl
lock add dword [eax], eax
add byte [esi - 0x39], ah
invalid
invalid
test eax, edi
invalid
jmp case.0x1003e23f.7
mov word [ebp - 0x108], 0
jmp 0x1003e2db
mov dx, word [ebp - 0x108]
add dx, 1
mov word [ebp - 0x108], dx
mov eax, dword [ebp - 0x108]
and eax, 0xffff
cmp eax, 3
jge 0x1003e347
jne 0x1003e2f0
je 0x1003e2f0
adc ecx, dword [ebx - 0x10f73]
inc dword [ecx + 0xffffe1]
add byte [ebp - 0x744b32ac], cl
test esp, ebp
invalid
mov ecx, dword [ebp - 0x110]
and ecx, 0xffff
lea edx, [ebp + ecx*8 - 0x4c]
mov eax, dword [ebp - 0x114]
and eax, 0xffff
xor ecx, ecx
mov cx, word [edx + eax*2]
mov edx, dword [ebp - 0x110]
and edx, 0xffff
lea eax, [ebp + edx*8 - 0x4c]
mov edx, dword [ebp - 0x108]
and edx, 0xffff
xor esi, esi
mov si, word [eax + edx*2]
cmp ecx, esi
jle 0x1003e345
mov ax, word [ebp - 0x108]
mov word [ebp - 0x114], ax
jmp 0x1003e2c9
jmp case.0x1003e23f.7
mov eax, dword [ebp - 0x10c]
and eax, 0xffff
cdq
mov ecx, 9
idiv ecx
mov word [ebp - 0x10c], dx
mov eax, dword [ebp - 0x10c]
and eax, 0xffff
cdq
mov ecx, 3
idiv ecx
mov word [ebp - 0x110], ax
jbe 0x1003e385
ja 0x1003e385
adc al, 0xe9
and al, 1
add byte [eax], al
jmp case.0x1003e23f.7
mov eax, dword [ebp - 0x10c]
and eax, 0xffff
cdq
mov ecx, 9
idiv ecx
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0x128], 8
ja case.default.0x1003e3b2
mov edx, dword [ebp - 0x128]
jmp dword [edx*4 + 0x1003e9a8]
jmp 0x1003e1b7
jmp 0x1003e829
jns 0x1003e3c8
js 0x1003e3c8
adc eax, 0x23fe9
add cl, ch
jmp 0x1003e832
jmp 0x1003e6cc
jp 0x1003e3dc
jmp 0x1003e60c
jmp 0x1003e832
jmp 0x1003e6cc
jp 0x1003e3dc
jnp 0x1003e3dc
push ss
jmp 0x1003e81f
jmp 0x1003e4b3
jmp 0x1003e6d6
jmp 0x1003df13
mov word [ebp - 0x104], 0
jmp 0x1003e40d
mov ax, word [ebp - 0x104]
add ax, 1
mov word [ebp - 0x104], ax
mov ecx, dword [ebp - 0x104]
and ecx, 0xffff
cmp ecx, 3
jge 0x1003e479
jl 0x1003e423
jge 0x1003e423
pop ss
mov edx, dword [ebp - 0x110]
and edx, 0xffff
lea eax, [ebp + edx*8 - 0x4c]
mov ecx, dword [ebp - 0x114]
and ecx, 0xffff
xor edx, edx
mov dx, word [eax + ecx*2]
mov eax, dword [ebp - 0x104]
and eax, 0xffff
lea ecx, [ebp + eax*8 - 0x4c]
mov eax, dword [ebp - 0x114]
and eax, 0xffff
xor esi, esi
mov si, word [ecx + eax*2]
cmp edx, esi
jle 0x1003e477
mov cx, word [ebp - 0x104]
mov word [ebp - 0x110], cx
jmp 0x1003e3fb
jmp case.0x1003e23f.7
mov edx, dword [ebp - 0x110]
and edx, 0xffff
imul edx, edx, 3
mov eax, dword [ebp - 0x114]
and eax, 0xffff
add edx, eax
mov word [ebp - 0x10c], dx
jle 0x1003e4a3
jg 0x1003e4a3
sbb byte [esi - 0x75], ah
invalid
mov cx, word [ebp - 0x10c]
mov word [ebp - 0x30], cx
jmp 0x1003e1cb
jmp 0x1003df25
push ecx
xor ecx, ecx
jecxz 0x1003e4be
sbb dword [ecx - 0x15], ebx
add dword [eax], esp
pop ecx
jmp 0x1003e4c2
jo 0x1003e4c7
jno 0x1003e4c7
and dword [ebx - 0x74adf7ab], ecx
inc ebp
or al, 0x50
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call sub.MSVCR100.dll_strcpy
add esp, 8
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0xfc]
push edx
call fcn.10043650
add esp, 8
jmp 0x1003e6db
mov word [ebp - 0x2c], 0
jmp 0x1003e503
mov ax, word [ebp - 0x2c]
add ax, 1
mov word [ebp - 0x2c], ax
mov ecx, dword [ebp - 0x2c]
and ecx, 0xffff
cmp ecx, 6
jge 0x1003e602
mov edx, dword [ebp - 0x2c]
and edx, 0xffff
mov dword [ebp - 0x12c], edx
cmp dword [ebp - 0x12c], 5
ja case.default.0x1003e537
mov eax, dword [ebp - 0x12c]
jmp dword [eax*4 + 0x1003e9cc]
mov word [ebp - 0x104], 0
jmp 0x1003e55b
mov cx, word [ebp - 0x104]
add cx, 1
mov word [ebp - 0x104], cx
mov edx, dword [ebp - 0x104]
and edx, 0xffff
cmp edx, 3
jge 0x1003e5c0
mov word [ebp - 0x108], 0
jmp 0x1003e589
mov ax, word [ebp - 0x108]
add ax, 1
mov word [ebp - 0x108], ax
mov ecx, dword [ebp - 0x108]
and ecx, 0xffff
cmp ecx, 3
jge 0x1003e5be
mov edx, dword [ebp - 0x104]
and edx, 0xffff
lea eax, [ebp + edx*8 - 0x4c]
mov ecx, dword [ebp - 0x108]
and ecx, 0xffff
mov word [eax + ecx*2], 0
jmp 0x1003e577
jmp 0x1003e549
jmp case.default.0x1003e537
mov word [ebp - 0x46], 0
jb 0x1003e5cd
jae 0x1003e5cd
and ch, bl
mov dx, word cs:[ebp - 0x40]
mov dx, word [ebp - 0x40]
jmp case.default.0x1003e537
mov dx, word [ebp - 0x40]
add dx, 1
mov word [ebp - 0x40], dx
jne 0x1003e5e0
je 0x1003e5e0
and ebp, ebx
sbb esp, dword [esi - 0x39]
mov word [ebp - 0x36], 0xffff
jmp case.default.0x1003e537
mov word [ebp - 0x36], 0xffff
jmp case.default.0x1003e537
mov word [ebp - 0x2e], 0
jbe 0x1003e5f5
ja 0x1003e5f5
and al, 0xeb
push es
jmp case.default.0x1003e537
mov word [ebp - 0x30], 0
jmp 0x1003e4f7
jmp 0x1003df25
jmp 0x1003e6db
jmp 0x1003e6d1
jmp 0x1003df25
mov eax, dword [ebp - 0x10c]
and eax, 0xffff
cdq
mov ecx, 7
idiv ecx
xor ecx, ecx
cmp edx, 2
sete cl
mov eax, dword [ebp - 0x10c]
and eax, 0xffff
cdq
mov esi, 0xb
idiv esi
xor eax, eax
cmp edx, 5
sete al
or ecx, eax
test ecx, ecx
je 0x1003e665
mov cx, word [ebp - 0x30]
mov word [ebp - 0x36], cx
mov word [ebp - 0x32], 1
jmp 0x1003e023
mov edx, dword [ebp - 0x46]
and edx, 0xffff
mov dword [ebp - 0x130], edx
cmp dword [ebp - 0x130], 9
ja case.default.0x1003e683
mov eax, dword [ebp - 0x130]
jmp dword [eax*4 + 0x1003e9e4]
jmp 0x1003e6b9
jmp 0x1003e6c5
jns 0x1003e693
js 0x1003e693
and eax, 0x74e946eb
clc
invalid
jmp 0x1003e6db
jmp 0x1003df0e
jmp 0x1003e4b8
jmp 0x1003e6db
jp 0x1003e6a6
jnp 0x1003e6a6
jmp case.default.0x1003e683
jmp case.default.0x1003e683
jmp 0x1003e607
jmp 0x1003e7f8
jmp 0x1003e01e
jmp 0x1003e6db
jmp 0x1003e6db
jl 0x1003e6c0
jge 0x1003e6c0
daa
jmp 0x1003e843
jmp 0x1003e6db
jmp 0x1003e843
jmp 0x1003e611
jmp 0x1003df25
jmp 0x1003e014
mov word [ebp - 0x2c], 0
jmp 0x1003e6ef
mov cx, word [ebp - 0x2c]
add cx, 1
mov word [ebp - 0x2c], cx
mov edx, dword [ebp - 0x2c]
and edx, 0xffff
cmp edx, 4
jge 0x1003e7f8
mov eax, dword [ebp - 0x2c]
and eax, 0xffff
mov ecx, dword [ebp - 0x2c]
and ecx, 0xffff
imul eax, ecx
mov edx, dword [ebp - 0x2c]
and edx, 0xffff
imul edx, edx, 3
lea eax, [eax + edx + 1]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x134]
sub ecx, 1
mov dword [ebp - 0x134], ecx
cmp dword [ebp - 0x134], 0x12
ja case.0x1003e755.4
mov eax, dword [ebp - 0x134]
xor edx, edx
mov dl, byte [eax + 0x1003ea20]
jmp dword [edx*4 + 0x1003ea0c]
mov cx, word [ebp - 0x46]
add cx, 1
mov word [ebp - 0x46], cx
jle 0x1003e76d
jg 0x1003e76d
sub cl, ch
add dword [eax], 0x558b0000
mov edx, dword [ebp - 0x46]
and edx, 0xffff
jmp case.0x1003e755.4
mov edx, dword [ebp - 0x46]
and edx, 0xffff
mov eax, dword [ebp - 0x34]
and eax, 0xffff
cmp edx, eax
jne case.default.0x1003e7ac
mov eax, dword [ebp - 0x2e]
and eax, 0xffff
cdq
mov ecx, 9
idiv ecx
mov dword [ebp - 0x138], edx
cmp dword [ebp - 0x138], 8
ja case.default.0x1003e7ac
mov edx, dword [ebp - 0x138]
jmp dword [edx*4 + 0x1003ea33]
jmp 0x1003df20
jmp 0x1003e6c7
jmp 0x1003df18
push ecx
xor ecx, ecx
jecxz 0x1003e7c8
sub dword [ecx - 0x17], ebx
inc ecx
clc
invalid
pop ecx
jmp 0x1003e00f
jmp 0x1003e82b
jmp 0x1003e83c
jmp 0x1003e6bb
jmp 0x1003e1b9
jmp 0x1003e019
jmp case.0x1003e755.4
mov word [ebp - 0x32], 1
jmp 0x1003e7ec
jmp case.0x1003e755.4
jmp 0x1003e023
jmp 0x1003e6e3
jo 0x1003e7fd
jno 0x1003e7fd
xor dword [edx + 3], esi
jb 0x1003e802
jae 0x1003e802
xor dh, byte [ebp + 3]
jne 0x1003e807
je 0x1003e807
xor ecx, dword [ebx - 0x72aff3bb]
lea eax, [edi + edi*8]
invalid
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0xfc]
push ecx
call fcn.1004376f
add esp, 8
jmp 0x1003e6db
jbe 0x1003e824
ja 0x1003e824
xor al, 0xe9
cmp ecx, 0x13ebffff
jmp 0x1003e1aa
jmp 0x1003e83e
jns 0x1003e830
js 0x1003e830
xor eax, 0x87e911eb
stc
invalid
jmp 0x1003e843
jmp 0x1003e1be
jmp 0x1003df25
jmp 0x1003e843
jmp 0x1003df25
jp 0x1003e848
jnp 0x1003e848
mov eax, dword ss:[ebp + 0xc]
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret