Function at 0x4949dd
Capabilities:
Print debug messages

Disassembly:
xor edi, edi
xor esi, esi
cmp si, 3
jae case.0x4946f0.0
mov ecx, esi
and ecx, 0xffff
mov eax, ecx
imul eax, ecx
imul eax, ecx
imul eax, ecx
add eax, 7
sub eax, 7
je 0x49420a
dec eax
je 0x494191
sub eax, 0xf
je 0x49422b
inc esi
jmp 0x494159
mov ecx, dword [ebp - 0x92]
mov ebx, 5
and ecx, 0xffff
mov eax, ecx
cdq
idiv ebx
xor ebx, ebx
mov eax, ecx
mov ecx, 3
cmp edx, 2
cdq
setne bl
idiv ecx
dec edx
neg edx
sbb edx, edx
neg edx
or ebx, edx
je 0x4941fd
mov dx, word [ebp - 0x94]
mov word [ebp - 0x96], 1
mov word [ebp - 0x9a], dx
jle 0x4941dd
jl 0x4941f7
pushf
or edx, 0
ror esp, 0
cmp esp, 0x1cfc
and esp, 0xffffffff
popf
xchg ecx, ecx
jge 0x4941f7
mov ebx, 0xff5ce946
invalid
inc esi
jmp 0x494159
mov word [ebp - 0x96], di
inc esi
jmp 0x494159
inc word [ebp - 0x92]
rol ecx, 1
rol ecx, 0x1f
cmp esi, dword [esp]
jmp 0x49421b
xor edx, 0
jo 0x494225
jl 0x494222
jno 0x494225
mov ebp, 0xff2ee946
invalid
inc esi
jmp 0x494159
xchg esp, esp
cmc
rol ebx, 0
rol ecx, 6
ror ecx, 6
jb case.0x494644.0
pushf
cmp edi, dword [esp]
rol edx, 0x13
rol edx, 0xd
xchg edx, edx
mov esp, esp
popf
jp 0x49424c
ja 0x49424e
jae case.0x494644.0
ljmp 0x8fa:0x8366d233
xor edx, edx
cmp dx, 8
mov dword [ebp - 0x2c], edx
jae 0x494a12
mov ecx, edx
and ecx, 0xffff
lea eax, [ecx + 1]
imul eax, ecx
cmp eax, 0x38
ja case.0x49427f.7
xor ecx, ecx
mov cl, byte [eax + 0x494a80]
jmp dword [ecx*4 + 0x494a5c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 4], eax
jge 0x49428e
or ecx, ecx
ja 0x49429d
jb 0x494294
jl 0x494296
lea esp, [esp]
jbe 0x49429d
jmp 0x113203b4
shr eax, 0x10
mov dword [ebp - 0x20], eax
lea eax, [eax + 0x659a]
lea eax, [eax - 0x659a]
jnp 0x4942b1
cmp ebx, dword [esp]
rol esi, 0xe
ror esi, 0xe
jp 0x4942d1
pushf
mov eax, eax
sub esp, 0
jo 0x4942c5
or eax, eax
popf
jne 0x4942cb
xchg ebx, ebx
nop
jnp 0x4942d1
lcall 0xffff, 0xff7ce942
inc edx
jmp 0x494253
mov eax, dword [ebp - 0xb4]
imul eax, dword [ebp - 0xc]
and eax, 0xffff
mov dword [ebp - 0x24], eax
cmp esp, 0xd08
xchg esp, esp
js 0x494307
ja 0x4942f5
nop
jl 0x4942f8
lea esi, [esi + 0x35e8]
lea esi, [esi - 0x35e8]
jns 0x494307
ljmp 0xffff:0xff46e942
inc edx
jmp 0x494253
mov eax, dword [ebp - 4]
shr eax, 0x10
mov dword [ebp - 0xb8], eax
test dword [esp + 4], ecx
je 0x494336
pushf
mov edi, edi
add esp, 0
call fcn.0049432b
lea esp, [esp + 4]
popf
js 0x494333
jne 0x494336
ljmp 0xffff:0x25fc458b
mov eax, dword [ebp - 4]
and eax, 0xffff
inc edx
mov dword [ebp - 0xb4], eax
jmp 0x494253
mov eax, dword [ebp - 0xb8]
test eax, eax
je case.0x49427f.7
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x24]
imul eax, dword [ebp - 0xb8]
and eax, 0xffff
add ecx, eax
inc edx
mov dword [ebp - 0x24], ecx
jmp 0x494253
push 0x5a
lea ecx, [ebp - 0xc]
push 1
push ecx
call fcn.0049a1a0
add esp, 0xc
add esi, dword [esp]
sub esi, dword [esp]
jp 0x49438d
jo 0x4943a4
pushf
lea edi, [edi + 0x950]
lea edi, [edi - 0x950]
popf
jne 0x4943a1
jno 0x4943a4
mov ebp, 0x558d1d6a
clc
push 0x1d
lea edx, [ebp - 8]
push 0x4e
push edx
call fcn.0049a1a0
mov edx, dword [ebp - 0x2c]
add esp, 0xc
inc edx
jmp 0x494253
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x24]
imul eax, dword [ebp - 0xb4]
and ecx, 0xffff
shl ecx, 0x10
inc edx
lea eax, [eax + ecx + 1]
mov dword [ebp - 0x20], eax
jmp 0x494253
mov eax, dword [ebp - 0x96]
and eax, 0xffff
and eax, 0x80000001
jns 0x4943f7
dec eax
or eax, 0xfffffffe
inc eax
sub eax, 0
je 0x494434
dec eax
je 0x4947c9
inc edx
jmp 0x494253
mov eax, dword [ebp - 0x20]
and eax, 0x7fff
mov dword [ebp - 0x20], eax
mov ebx, ebx
clc
lea ecx, [ecx]
jb 0x49442b
pushf
cmp eax, dword [esp]
jge 0x494422
jge 0x494424
popf
jnp 0x494428
jae 0x49442b
add eax, 0x42d84589
mov dword [ebp - 0x28], eax
inc edx
jmp 0x494253
mov ecx, dword [ebp - 0x28]
mov esi, 0xb
and ecx, 0xffff
xor ebx, ebx
mov eax, ecx
cdq
idiv esi
mov eax, ecx
mov ecx, 7
cmp edx, 5
cdq
sete bl
idiv ecx
xor eax, eax
cmp edx, 2
sete al
or ebx, eax
je 0x494481
mov cx, word [ebp - 0x94]
mov word [ebp - 0x96], 1
mov word [ebp - 0x9a], cx
jmp case.0x494644.0
mov eax, dword [ebp - 0xaa]
and eax, 0xffff
cmp eax, 9
ja case.default.0x494495
jmp dword [eax*4 + 0x494abc]
nop
jns 0x49449f
lea eax, [eax + 0x3f74]
lea eax, [eax - 0x3f74]
je 0x4944b7
jo 0x4944af
jnp 0x4944b1
jo 0x4944b3
jne 0x4944b7
ljmp 0x1589:0xf0558b22
mov edx, dword [ebp - 0x10]
mov dword [0x485d10], edx
jmp 0x494623
nop
cmc
sub esp, 0
jl 0x4944cc
jns 0x4944ce
jnp 0x4944e6
pushf
nop
jmp 0x4944d5
jle 0x4944d7
test esi, 0x57c
popf
xchg esi, esi
mov esp, esp
jp 0x4944e6
add eax, 0x485d10a1
add byte [ebx + 0x4859740d], cl
add bh, dh
fmul dword [ebp + 0x15894114]
je 0x494553
mov eax, dword [0x485d10]
mov ecx, dword [0x485974]
neg eax
lea edx, [ecx + eax*2]
mov dword [0x485974], edx
jmp 0x494623
dec eax
add cl, ch
and al, byte [ecx]
add byte [eax], al
inc edi
dec edi
or esi, 0
jbe 0x494510
xchg ebx, edx
xchg ebx, edx
ja 0x494510
lcall 1, 0xde99002
add byte [eax - 0x387cff84], dl
nop
jl 0x494519
add edi, 0
je 0x494536
pushf
nop
jmp 0x494623
nop
jl 0x494519
add edi, 0
je 0x494536
pushf
lea esp, [esp]
xor edi, 0x1685
xor edi, 0x1685
popf
xchg ecx, eax
xchg ecx, eax
jne 0x494536
call 0xffbdcac7
invalid
lea eax, [ebp - 0x8c]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call fcn.00491040
add esp, 8
jmp 0x494623
nop
push 0x4885f8
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add bh, bh
adc eax, sym.imp.KERNEL32.dll_OutputDebugStringA
jmp 0x49455c
ja 0x49457b
pushf
ror ecx, 0
not edi
not edi
clc
popf
jo 0x49456c
lea ecx, [ecx + 0x5046]
lea ecx, [ecx - 0x5046]
jbe 0x49457b
mov esp, 0x5d18158b
dec eax
add byte [ecx - 0xbb6b], cl
push dword [ebx]
mov edx, dword [0x485d18]
mov dword [ebp - 0xbc], edx
jae 0x494589
neg esi
neg esi
rol edx, 0
or ecx, 0
jle 0x4945a9
pushf
jnp 0x494599
jno 0x49459b
or esp, 0
test dword [esp + 8], ebx
popf
js 0x4945a6
jg 0x4945a9
lcall 0x8900, 0x485d14a1
test dword [eax - 1], eax
invalid
mov eax, dword [0x485d14]
mov dword [ebp - 0xc0], eax
xor ecx, 0
jle 0x4945ca
pushf
mov esp, esp
jmp 0x4945bf
mov ebx, ebx
popf
jne 0x4945c5
jbe 0x4945c7
jg 0x4945ca
ljmp 0x8d00:0x162e1e8
call fcn.004aa8b0
lea ecx, [ebp - 0x8c]
push ecx
call fcn.00496410
add esp, 4
jmp 0x494623
nop
jmp 0x494623
lea eax, [eax]
cmc
xchg edx, edi
xchg edx, edi
jnp case.default.0x494495
jae 0x4945ee
jns 0x4945f0
jp case.default.0x494495
mov eax, 0xc281907e
leave
sbb eax, dword [eax]
add byte [ecx + 0x1bc9ea], al
add cl, al
iretd
nop
add edx, 0x1bc9
sub edx, 0x1bc9
ror edi, 0x12
rol edi, 0x12
jp 0x494609
not ebx
not ebx
jnp 0x49461a
jbe 0x494611
jbe 0x494613
jp 0x494615
js 0x494617
jp 0x49461a
mov eax, 0x89e8558b
adc eax, 0x485d0c
mov edx, dword [ebp - 0x18]
mov dword [0x485d0c], edx
xor ecx, ecx
mov edx, ecx
and edx, 0xffff
lea eax, [edx + 3]
imul eax, edx
cmp eax, 0x12
ja case.default.0x4946f0
xor edx, edx
mov dl, byte [eax + 0x494af8]
jmp dword [edx*4 + 0x494ae4]
inc word [ebp - 0xaa]
push edi
add edi, 0x105d
ror edi, 0x1c
pop edi
lea esi, [esi + 0x4c7d]
lea esi, [esi - 0x4c7d]
cmc
jl 0x494673
xchg edx, ebx
xchg edx, ebx
jge 0x494673
mov ebp, 0x93e9
add byte [eax + 0x7f00f483], dl
nop
xor esp, 0
jg 0x49467e
jg 0x494695
jmp case.default.0x4946f0
nop
xor esp, 0
jg 0x49467e
jg 0x494695
pushf
shl esp, 0
mov edi, edi
sub esp, 0
popf
jne 0x49468e
jno 0x494690
mov edx, edx
jle 0x494695
lcall 0xffff, 0xff44958b
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc0]
push edx
lea ecx, [ebp - 0x8c]
push eax
push ecx
call fcn.0048f540
add esp, 0xc
jmp 0x494623
nop
push 0x4885e8
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x494623
mov ax, word [ebp - 0x98]
cmp word [ebp - 0xaa], ax
jne case.default.0x4946f0
mov eax, dword [ebp - 0x92]
mov esi, 9
and eax, 0xffff
cdq
idiv esi
cmp edx, 8
ja case.default.0x4946f0
jmp dword [edx*4 + 0x494b0c]
mov word [ebp - 0x96], 1
lea esi, [esi]
jle 0x494704
jbe case.default.0x4946f0
jb 0x494708
ja case.default.0x4946f0
mov ebp, 0xf9836641
add al, 0xf
or byte [edi], 0xff
invalid
inc ecx
cmp cx, 4
jb 0x494625
nop
push edx
add edx, 0x4956
ror edx, 0xb
pop edx
rol esp, 0
jl 0x494730
jns 0x494729
lea esp, [esp]
jge 0x494730
jmp 0xc56d2a8
mov ecx, dword [0x485d0c]
mov edx, dword [0x485970]
lea eax, [edx + ecx*2]
mov dword [0x485970], eax
jmp 0x494623
xor ecx, 0
nop
ror edx, 0
jle 0x49475a
mov esp, esp
lea esp, [esp]
jg 0x49475a
call 0x4c1847
add cl, al
invalid
retf
jmp case.0x4946f0.0
ror ebx, 0x15
rol ebx, 0x15
lea esi, [esi + 0x5841]
lea esi, [esi - 0x5841]
jbe 0x494784
pushf
mov ecx, ecx
rol esp, 0
lea esp, [esp]
popf
jb 0x494781
ja 0x494784
mov ebp, 0x2a6e9
add byte [eax + 0x48], al
inc eax
dec eax
jmp case.0x4946f0.0
inc eax
dec eax
test dword [esp], edi
cld
rol edi, 0x1d
ror edi, 0x1d
je 0x4947ab
jl 0x494799
nop
jne 0x49479c
lea edx, [edx + 0x7034]
lea edx, [edx - 0x7034]
jne 0x4947ab
xor eax, 0x27fe9
add byte [ebx], bh
cmp eax, dword [esp + 8]
jmp case.0x4946f0.0
cmp eax, dword [esp + 8]
cmp edx, esi
cmp eax, 0x7e80
jnp 0x4947c4
jge 0x4947bf
jge 0x4947c1
jp 0x4947c4
mov esp, 0x266e9
add byte [ebx], dh
test byte [ecx - 0x31742b8b], 0x81
loope 0x4947d2
jmp case.0x4946f0.0
xor esi, esi
mov dword [ebp - 0x2c], esi
mov ecx, esi
and ecx, 0xffff
mov eax, ecx
imul eax, ecx
invalid
inc dword [eax]
add byte [ebx - 0x3e50f03f], cl
imul eax, ecx
cmp eax, 0xd8
ja case.0x4947f1.7
xor ecx, ecx
mov cl, byte [eax + 0x494b50]
jmp dword [ecx*4 + 0x494b30]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
and edx, 0xffff
and eax, 0xffff
lea ecx, [eax + edx*4]
inc word [ebp + ecx*2 - 0xb0]
lea eax, [ebp + ecx*2 - 0xb0]
not eax
not eax
jle 0x49482c
lea edi, [edi]
xchg edi, edi
jp 0x494827
xchg esp, esp
jg 0x49482c
sub eax, 0x6c958b66
invalid
mov dx, word [ebp - 0x94]
mov word [ebp - 0x9a], dx
jmp case.0x4947f1.7
mov eax, dword [ebp - 0x28]
mov ecx, 3
and eax, 0xffff
cdq
idiv ecx
mov dword [ebp - 0x30], edx
clc
lea edi, [edi + 0x5354]
lea edi, [edi - 0x5354]
xchg ecx, ecx
jno 0x49487e
pushf
sub esp, 0
je 0x49486a
call 0x49486f
add esp, 4
popf
lea esp, [esp]
jnp 0x494879
jg 0x49487b
jo 0x49487e
jmp 0x4a7a6b
jmp case.0x4947f1.7
mov edx, dword [ebp - 0x34]
xor ebx, ebx
and edx, 0xffff
shl edx, 2
lea esi, [ebp + edx*2 - 0xb0]
jnp 0x49489a
xchg edi, eax
xchg edi, eax
cmc
call 0x4948a2
add esp, 4
jne 0x4948ba
pushf
ror ecx, 3
ror ecx, 0x1d
popf
jns 0x4948b3
jo 0x4948b5
jg 0x4948b7
je 0x4948ba
mov ecx, 0x25d0458b
invalid
mov eax, dword [ebp - 0x30]
and eax, 0xffff
add eax, edx
mov cx, word [ebp + eax*2 - 0xb0]
cmp cx, word [esi]
jbe 0x4948d4
mov dword [ebp - 0x30], ebx
inc ebx
add esi, 2
cmp bx, 3
jb 0x494898
mov esi, dword [ebp - 0x2c]
jmp case.0x4947f1.7
mov eax, dword [ebp - 0x28]
mov ecx, 9
and eax, 0xffff
cdq
idiv ecx
mov eax, 0x55555556
mov ecx, edx
mov dword [ebp - 0x28], edx
and ecx, 0xffff
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [ebp - 0x34], edx
shl esp, 0
jb 0x494920
lea ebx, [ebx]
mov eax, eax
jge 0x49491d
jae 0x494920
ljmp 0x8b00:0x8fe9
jmp case.0x4947f1.7
mov eax, dword [ebp - 0x28]
mov ecx, 9
and eax, 0xffff
cdq
idiv ecx
cmp edx, 8
ja case.0x4947f1.2
jmp dword [edx*4 + 0x494c2c]
mov edi, dword [ebp - 0x30]
xor eax, eax
and edi, 0xffff
lea ecx, [ebp + edi*2 - 0xb0]
shr esp, 0
jnp 0x494964
mov edx, edx
jno 0x49495c
lea ebx, [ebx]
lea esp, [esp]
jp 0x494964
lcall 0xffe2, 0x81cc558b
inc dword [eax]
add byte [ebp - 0x749968ec], cl
xchg esp, eax
push ebp
push eax
invalid
mov edx, dword [ebp - 0x34]
and edx, 0xffff
lea edx, [edi + edx*4]
mov dx, word [ebp + edx*2 - 0xb0]
cmp dx, word [ecx]
jbe 0x494980
mov dword [ebp - 0x34], eax
inc eax
add ecx, 8
cmp ax, 3
jb 0x494953
jmp case.0x4947f1.7
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
lea edx, [ecx + eax*2]
add eax, edx
mov dword [ebp - 0x28], eax
stc
lea esp, [esp]
cmp eax, edi
shl ebx, 0
jns 0x4949ad
jmp 0x4949a7
jo 0x4949a9
js 0x4949ad
mov ebp, 0x858966cd
insb byte es:[edi], dx
invalid
mov word [ebp - 0x94], ax
inc esi
cmp si, 7
mov dword [ebp - 0x2c], esi
jb 0x4947ce
jmp case.0x49493a.1
jne 0x4949c9
std
cld
ror esp, 0
jle 0x4949d8
lea ebx, [ebx]
mov esp, esp
jg 0x4949d8
sub eax, 0xf778e9f9
invalid
jmp case.0x49493a.1
test ecx, edi
inc ecx
dec ecx
ja 0x4949f4
pushf
cmp esp, 0x6eeb
popf
xchg edx, ebx
xchg edx, ebx
jbe 0x4949f4
mov ebx, 0x4be0b68d
add byte [eax], al
lea esi, [esi + 0x4be0]
sub esi, 0x4be0
jge 0x494a12
pushf
add ebx, 0
cmp ebx, dword [esp + 8]
popf
jp 0x494a0f
jl 0x494a12
call 0xb25d3a3
add byte [eax], al
lea ecx, [ecx + 0xadc]
lea ecx, [ecx - 0xadc]
jns 0x494a2a
xchg edx, esi
xchg edx, esi
xchg esp, esp
js 0x494a2a
mov ebx, 0xf726e9e9
invalid
jmp case.0x49493a.1
nop
push 0x4885e8
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
popfd
mov esp, esp
jns 0x4a7a70
jl 0x4a7a73
jmp 0x8646c802
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x4a7a9f
or eax, 0
jno 0x4a7a96
pushf
jb 0x4a7a83
lea edi, [edi + 0x1b49]
sub edi, 0x1b49
popf
jnp 0x4a7a93
jo 0x4a7a96
call 0x2cef62eb
invalid
push ecx
call fcn.0049a740
add esp, 4
test eax, ebx
nop
jne 0x4a7aac
jp 0x4a7aa6
lea edi, [edi]
je 0x4a7aac
mov edi, 0xf855ff0a
call dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret