Function at 0x99a9dd
Capabilities:
Print debug messages

Disassembly:
xor edi, edi
xor esi, esi
cmp si, 3
jae case.0x99a6f0.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 0x99a20a
dec eax
je 0x99a191
sub eax, 0xf
je 0x99a22b
inc esi
jmp 0x99a159
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 0x99a1fd
mov dx, word [ebp - 0x94]
mov word [ebp - 0x96], 1
mov word [ebp - 0x9a], dx
jle 0x99a1dd
jl 0x99a1f7
pushf
or edx, 0
ror esp, 0
cmp esp, 0x1cfc
and esp, 0xffffffff
popf
xchg ecx, ecx
jge 0x99a1f7
mov ebx, 0xff5ce946
invalid
inc esi
jmp 0x99a159
mov word [ebp - 0x96], di
inc esi
jmp 0x99a159
inc word [ebp - 0x92]
rol ecx, 1
rol ecx, 0x1f
cmp esi, dword [esp]
jmp 0x99a21b
xor edx, 0
jo 0x99a225
jl 0x99a222
jno 0x99a225
mov ebp, 0xff2ee946
invalid
inc esi
jmp 0x99a159
xchg esp, esp
cmc
rol ebx, 0
rol ecx, 6
ror ecx, 6
jb case.0x99a644.0
pushf
cmp edi, dword [esp]
rol edx, 0x13
rol edx, 0xd
xchg edx, edx
mov esp, esp
popf
jp 0x99a24c
ja 0x99a24e
jae case.0x99a644.0
ljmp 0x8fa:0x8366d233
xor edx, edx
cmp dx, 8
mov dword [ebp - 0x2c], edx
jae 0x99aa12
mov ecx, edx
and ecx, 0xffff
lea eax, [ecx + 1]
imul eax, ecx
cmp eax, 0x38
ja case.0x99a27f.7
xor ecx, ecx
mov cl, byte [eax + 0x99aa80]
jmp dword [ecx*4 + 0x99aa5c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 4], eax
jge 0x99a28e
or ecx, ecx
ja 0x99a29d
jb 0x99a294
jl 0x99a296
lea esp, [esp]
jbe 0x99a29d
jmp 0x118263b4
shr eax, 0x10
mov dword [ebp - 0x20], eax
lea eax, [eax + 0x659a]
lea eax, [eax - 0x659a]
jnp 0x99a2b1
cmp ebx, dword [esp]
rol esi, 0xe
ror esi, 0xe
jp 0x99a2d1
pushf
mov eax, eax
sub esp, 0
jo 0x99a2c5
or eax, eax
popf
jne 0x99a2cb
xchg ebx, ebx
nop
jnp 0x99a2d1
lcall 0xffff, 0xff7ce942
inc edx
jmp 0x99a253
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 0x99a307
ja 0x99a2f5
nop
jl 0x99a2f8
lea esi, [esi + 0x35e8]
lea esi, [esi - 0x35e8]
jns 0x99a307
ljmp 0xffff:0xff46e942
inc edx
jmp 0x99a253
mov eax, dword [ebp - 4]
shr eax, 0x10
mov dword [ebp - 0xb8], eax
test dword [esp + 4], ecx
je 0x99a336
pushf
mov edi, edi
add esp, 0
call fcn.0099a32b
lea esp, [esp + 4]
popf
js 0x99a333
jne 0x99a336
ljmp 0xffff:0x25fc458b
mov eax, dword [ebp - 4]
and eax, 0xffff
inc edx
mov dword [ebp - 0xb4], eax
jmp 0x99a253
mov eax, dword [ebp - 0xb8]
test eax, eax
je case.0x99a27f.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 0x99a253
push 0x5a
lea ecx, [ebp - 0xc]
push 1
push ecx
call fcn.009a01a0
add esp, 0xc
add esi, dword [esp]
sub esi, dword [esp]
jp 0x99a38d
jo 0x99a3a4
pushf
lea edi, [edi + 0x950]
lea edi, [edi - 0x950]
popf
jne 0x99a3a1
jno 0x99a3a4
mov ebp, 0x558d1d6a
clc
push 0x1d
lea edx, [ebp - 8]
push 0x4e
push edx
call fcn.009a01a0
mov edx, dword [ebp - 0x2c]
add esp, 0xc
inc edx
jmp 0x99a253
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 0x99a253
mov eax, dword [ebp - 0x96]
and eax, 0xffff
and eax, 0x80000001
jns 0x99a3f7
dec eax
or eax, 0xfffffffe
inc eax
sub eax, 0
je 0x99a434
dec eax
je 0x99a7c9
inc edx
jmp 0x99a253
mov eax, dword [ebp - 0x20]
and eax, 0x7fff
mov dword [ebp - 0x20], eax
mov ebx, ebx
clc
lea ecx, [ecx]
jb 0x99a42b
pushf
cmp eax, dword [esp]
jge 0x99a422
jge 0x99a424
popf
jnp 0x99a428
jae 0x99a42b
add eax, 0x42d84589
mov dword [ebp - 0x28], eax
inc edx
jmp 0x99a253
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 0x99a481
mov cx, word [ebp - 0x94]
mov word [ebp - 0x96], 1
mov word [ebp - 0x9a], cx
jmp case.0x99a644.0
mov eax, dword [ebp - 0xaa]
and eax, 0xffff
cmp eax, 9
ja case.default.0x99a495
jmp dword [eax*4 + 0x99aabc]
nop
jns 0x99a49f
lea eax, [eax + 0x3f74]
lea eax, [eax - 0x3f74]
je 0x99a4b7
jo 0x99a4af
jnp 0x99a4b1
jo 0x99a4b3
jne 0x99a4b7
ljmp 0x1589:0xf0558b22
mov edx, dword [ebp - 0x10]
mov dword [0x98bd10], edx
jmp 0x99a623
nop
cmc
sub esp, 0
jl 0x99a4cc
jns 0x99a4ce
jnp 0x99a4e6
pushf
nop
jmp 0x99a4d5
jle 0x99a4d7
test esi, 0x57c
popf
xchg esi, esi
mov esp, esp
jp 0x99a4e6
add eax, 0x98bd10a1
add byte [ebx - 0x67468bf3], cl
add bh, dh
fmul dword [ebp + 0x15894114]
je 0x99a4b3
mov eax, dword [0x98bd10]
mov ecx, dword [0x98b974]
neg eax
lea edx, [ecx + eax*2]
mov dword [0x98b974], edx
jmp 0x99a623
cwde
add cl, ch
and al, byte [ecx]
add byte [eax], al
inc edi
dec edi
or esi, 0
jbe 0x99a510
xchg ebx, edx
xchg ebx, edx
ja 0x99a510
lcall 1, 0xde99002
add byte [eax - 0x387cff84], dl
nop
jl 0x99a519
add edi, 0
je 0x99a536
pushf
nop
jmp 0x99a623
nop
jl 0x99a519
add edi, 0
je 0x99a536
pushf
lea esp, [esp]
xor edi, 0x1685
xor edi, 0x1685
popf
xchg ecx, eax
xchg ecx, eax
jne 0x99a536
call 0xe2ac7
invalid
lea eax, [ebp - 0x8c]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call fcn.00997040
add esp, 8
jmp 0x99a623
nop
push 0x98e5f8
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x99a55c
ja 0x99a57b
pushf
ror ecx, 0
not edi
not edi
clc
popf
jo 0x99a56c
lea ecx, [ecx + 0x5046]
lea ecx, [ecx - 0x5046]
jbe 0x99a57b
mov esp, 0xbd18158b
cwde
add byte [ecx - 0xbb6b], cl
push dword [ebx]
mov edx, dword [0x98bd18]
mov dword [ebp - 0xbc], edx
jae 0x99a589
neg esi
neg esi
rol edx, 0
or ecx, 0
jle 0x99a5a9
pushf
jnp 0x99a599
jno 0x99a59b
or esp, 0
test dword [esp + 8], ebx
popf
js 0x99a5a6
jg 0x99a5a9
lcall 0x8900, 0x98bd14a1
test dword [eax - 1], eax
invalid
mov eax, dword [0x98bd14]
mov dword [ebp - 0xc0], eax
xor ecx, 0
jle 0x99a5ca
pushf
mov esp, esp
jmp 0x99a5bf
mov ebx, ebx
popf
jne 0x99a5c5
jbe 0x99a5c7
jg 0x99a5ca
ljmp 0x8d00:0x162e1e8
call fcn.009b08b0
lea ecx, [ebp - 0x8c]
push ecx
call fcn.0099c410
add esp, 4
jmp 0x99a623
nop
jmp 0x99a623
lea eax, [eax]
cmc
xchg edx, edi
xchg edx, edi
jnp case.default.0x99a495
jae 0x99a5ee
jns 0x99a5f0
jp case.default.0x99a495
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 0x99a609
not ebx
not ebx
jnp 0x99a61a
jbe 0x99a611
jbe 0x99a613
jp 0x99a615
js 0x99a617
jp 0x99a61a
mov eax, 0x89e8558b
adc eax, 0x98bd0c
mov edx, dword [ebp - 0x18]
mov dword [0x98bd0c], edx
xor ecx, ecx
mov edx, ecx
and edx, 0xffff
lea eax, [edx + 3]
imul eax, edx
cmp eax, 0x12
ja case.default.0x99a6f0
xor edx, edx
mov dl, byte [eax + 0x99aaf8]
jmp dword [edx*4 + 0x99aae4]
inc word [ebp - 0xaa]
push edi
add edi, 0x105d
ror edi, 0x1c
pop edi
lea esi, [esi + 0x4c7d]
lea esi, [esi - 0x4c7d]
cmc
jl 0x99a673
xchg edx, ebx
xchg edx, ebx
jge 0x99a673
mov ebp, 0x93e9
add byte [eax + 0x7f00f483], dl
nop
xor esp, 0
jg 0x99a67e
jg 0x99a695
jmp case.default.0x99a6f0
nop
xor esp, 0
jg 0x99a67e
jg 0x99a695
pushf
shl esp, 0
mov edi, edi
sub esp, 0
popf
jne 0x99a68e
jno 0x99a690
mov edx, edx
jle 0x99a695
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.00995540
add esp, 0xc
jmp 0x99a623
nop
push 0x98e5e8
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x99a623
mov ax, word [ebp - 0x98]
cmp word [ebp - 0xaa], ax
jne case.default.0x99a6f0
mov eax, dword [ebp - 0x92]
mov esi, 9
and eax, 0xffff
cdq
idiv esi
cmp edx, 8
ja case.default.0x99a6f0
jmp dword [edx*4 + 0x99ab0c]
mov word [ebp - 0x96], 1
lea esi, [esi]
jle 0x99a704
jbe case.default.0x99a6f0
jb 0x99a708
ja case.default.0x99a6f0
mov ebp, 0xf9836641
add al, 0xf
or byte [edi], 0xff
invalid
inc ecx
cmp cx, 4
jb 0x99a625
nop
push edx
add edx, 0x4956
ror edx, 0xb
pop edx
rol esp, 0
jl 0x99a730
jns 0x99a729
lea esp, [esp]
jge 0x99a730
jmp 0xca732a8
mov ecx, dword [0x98bd0c]
mov edx, dword [0x98b970]
lea eax, [edx + ecx*2]
mov dword [0x98b970], eax
jmp 0x99a623
xor ecx, 0
nop
ror edx, 0
jle 0x99a75a
mov esp, esp
lea esp, [esp]
jg 0x99a75a
call fcn.009c7847
add cl, al
invalid
retf
jmp case.0x99a6f0.0
ror ebx, 0x15
rol ebx, 0x15
lea esi, [esi + 0x5841]
lea esi, [esi - 0x5841]
jbe 0x99a784
pushf
mov ecx, ecx
rol esp, 0
lea esp, [esp]
popf
jb 0x99a781
ja 0x99a784
mov ebp, 0x2a6e9
add byte [eax + 0x48], al
inc eax
dec eax
jmp case.0x99a6f0.0
inc eax
dec eax
test dword [esp], edi
cld
rol edi, 0x1d
ror edi, 0x1d
je 0x99a7ab
jl 0x99a799
nop
jne 0x99a79c
lea edx, [edx + 0x7034]
lea edx, [edx - 0x7034]
jne 0x99a7ab
xor eax, 0x27fe9
add byte [ebx], bh
cmp eax, dword [esp + 8]
jmp case.0x99a6f0.0
cmp eax, dword [esp + 8]
cmp edx, esi
cmp eax, 0x7e80
jnp 0x99a7c4
jge 0x99a7bf
jge 0x99a7c1
jp 0x99a7c4
mov esp, 0x266e9
add byte [ebx], dh
test byte [ecx - 0x31742b8b], 0x81
loope 0x99a7d2
jmp case.0x99a6f0.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.0x99a7f1.7
xor ecx, ecx
mov cl, byte [eax + 0x99ab50]
jmp dword [ecx*4 + 0x99ab30]
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 0x99a82c
lea edi, [edi]
xchg edi, edi
jp 0x99a827
xchg esp, esp
jg 0x99a82c
sub eax, 0x6c958b66
invalid
mov dx, word [ebp - 0x94]
mov word [ebp - 0x9a], dx
jmp case.0x99a7f1.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 0x99a87e
pushf
sub esp, 0
je 0x99a86a
call 0x99a86f
add esp, 4
popf
lea esp, [esp]
jnp 0x99a879
jg 0x99a87b
jo 0x99a87e
jmp 0x9ada6b
jmp case.0x99a7f1.7
mov edx, dword [ebp - 0x34]
xor ebx, ebx
and edx, 0xffff
shl edx, 2
lea esi, [ebp + edx*2 - 0xb0]
jnp 0x99a89a
xchg edi, eax
xchg edi, eax
cmc
call 0x99a8a2
add esp, 4
jne 0x99a8ba
pushf
ror ecx, 3
ror ecx, 0x1d
popf
jns 0x99a8b3
jo 0x99a8b5
jg 0x99a8b7
je 0x99a8ba
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 0x99a8d4
mov dword [ebp - 0x30], ebx
inc ebx
add esi, 2
cmp bx, 3
jb 0x99a898
mov esi, dword [ebp - 0x2c]
jmp case.0x99a7f1.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 0x99a920
lea ebx, [ebx]
mov eax, eax
jge 0x99a91d
jae 0x99a920
ljmp 0x8b00:0x8fe9
jmp case.0x99a7f1.7
mov eax, dword [ebp - 0x28]
mov ecx, 9
and eax, 0xffff
cdq
idiv ecx
cmp edx, 8
ja case.0x99a7f1.2
jmp dword [edx*4 + 0x99ac2c]
mov edi, dword [ebp - 0x30]
xor eax, eax
and edi, 0xffff
lea ecx, [ebp + edi*2 - 0xb0]
shr esp, 0
jnp 0x99a964
mov edx, edx
jno 0x99a95c
lea ebx, [ebx]
lea esp, [esp]
jp 0x99a964
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 0x99a980
mov dword [ebp - 0x34], eax
inc eax
add ecx, 8
cmp ax, 3
jb 0x99a953
jmp case.0x99a7f1.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 0x99a9ad
jmp 0x99a9a7
jo 0x99a9a9
js 0x99a9ad
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 0x99a7ce
jmp case.0x99a93a.1
jne 0x99a9c9
std
cld
ror esp, 0
jle 0x99a9d8
lea ebx, [ebx]
mov esp, esp
jg 0x99a9d8
sub eax, 0xf778e9f9
invalid
jmp case.0x99a93a.1
test ecx, edi
inc ecx
dec ecx
ja 0x99a9f4
pushf
cmp esp, 0x6eeb
popf
xchg edx, ebx
xchg edx, ebx
jbe 0x99a9f4
mov ebx, 0x4be0b68d
add byte [eax], al
lea esi, [esi + 0x4be0]
sub esi, 0x4be0
jge 0x99aa12
pushf
add ebx, 0
cmp ebx, dword [esp + 8]
popf
jp 0x99aa0f
jl 0x99aa12
call 0xb7633a3
add byte [eax], al
lea ecx, [ecx + 0xadc]
lea ecx, [ecx - 0xadc]
jns 0x99aa2a
xchg edx, esi
xchg edx, esi
xchg esp, esp
js 0x99aa2a
mov ebx, 0xf726e9e9
invalid
jmp case.0x99a93a.1
nop
push 0x98e5e8
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
popfd
mov esp, esp
jns 0x9ada70
jl 0x9ada73
jmp 0x86972802
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x9ada9f
or eax, 0
jno 0x9ada96
pushf
jb 0x9ada83
lea edi, [edi + 0x1b49]
sub edi, 0x1b49
popf
jnp 0x9ada93
jo 0x9ada96
call 0x2d3fc2eb
invalid
push ecx
call fcn.009a0740
add esp, 4
test eax, ebx
nop
jne 0x9adaac
jp 0x9adaa6
lea edi, [edi]
je 0x9adaac
mov edi, 0xf855ff0a
call dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret