Function at 0xa0fba0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x2f8
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x140], 0xfb6a111b
mov byte [esp + 0x144], 0xe0
mov dword [esp + 0x145], 0
mov word [esp + 0x149], 0
mov esi, 0x77aebda9
mov edi, 0x8514256
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + esi - 0x77aebc69]
mov eax, edi
or eax, edx
lea ebx, [edi - 0x8514200]
and ebx, edx
xor ebx, eax
and ebx, esi
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xbd
mul cl
mov ecx, eax
add cl, dl
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, esi
add al, 0xb3
mov byte [esp + esi - 0x77aebc69], al
inc esi
dec edi
cmp esi, 0x77aebdb4
jne 0xa0fc00
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
movzx eax, byte [esp + 0x140]
test al, al
je 0xa0fc7b
lea ecx, [esp + 0x141]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0xa0fc70
mov byte [esi], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
lea eax, [esp + 0x48]
lea ecx, [esp + 0x58]
lea edx, [esp + 0x34]
xor ebx, ebx
push eax
push ecx
push edx
mov eax, dword [ebp + 0x14]
push dword [eax + 0x10]
push dword [ebp + 0x10]
push dword [eax + 0xc]
call fcn.00a12520
add esp, 0x18
test al, al
je 0xa11014
mov dword [esp + 0x140], 0x4911e3e0
mov byte [esp + 0x144], 0x6c
mov dword [esp + 0x145], 0
xor eax, eax
xor edi, edi
nop
nop
nop
mov dword [esp + 0xc], edi
movzx ecx, byte [esp + eax + 0x140]
mov ebx, dword [esp + 0xc]
and ebx, 0x18
mov edx, eax
xor edx, 0x52e7f2ec
add edx, ebx
mov ebx, ecx
not ebx
and ebx, edx
mov edi, edx
xor edi, ecx
or edx, ecx
sub ecx, edi
add ecx, ebx
mov edi, dword [esp + 0xc]
not ecx
and ecx, edx
mov edx, ecx
not edx
and edx, 0x7f
and ecx, 0x80
sub ecx, edx
add cl, 0xe3
mov byte [esp + eax + 0x140], cl
inc eax
add edi, 2
cmp eax, 9
jne 0xa0fcf0
movzx eax, byte [esp + 0x140]
test al, al
je 0xa0fd6b
lea ecx, [esp + 0x141]
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0xa0fd60
mov byte [esi], 0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x134], edx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x138], eax
mov dword [esp + 0x140], 0x1e061229
mov dword [esp + 0x144], 0x35321738
mov dword [esp + 0x148], 0x333f260d
mov dword [esp + 0x14c], 0x30313233
mov dword [esp + 0x150], 0x2e274500
mov dword [esp + 0x154], 0x352a241e
mov dword [esp + 0x158], 0xc4c5c6c7
mov dword [esp + 0x15c], 0xccb9f1f6
mov dword [esp + 0x160], 0xe6dbf6db
mov dword [esp + 0x164], 0xf0f0d2c3
mov dword [esp + 0x168], 0xf2a9fcdc
mov dword [esp + 0x16c], 0xabc0f5ea
mov dword [esp + 0x170], 0xa4f6e6a0
mov dword [esp + 0x174], 0xe4e5a6a2
mov dword [esp + 0x178], 0x23e99edf
mov dword [esp + 0x17c], 0xe0e1e2e3
mov dword [esp + 0x180], 0xdec3c5db
mov dword [esp + 0x184], 0xe895cce5
mov dword [esp + 0x188], 0xf4ffdde8
mov dword [esp + 0x18c], 0x89f1f2f3
mov dword [esp + 0x190], 0xfcfdfeea
mov dword [esp + 0x194], 0x3ee782fb
mov dword [esp + 0x198], 0xfffa9afe
mov dword [esp + 0x19c], 0x9dfe9d92
mov dword [esp + 0x1a0], 0x8c8d8e8f
mov dword [esp + 0x1a4], 0xa6f6f2bf
mov dword [esp + 0x1a8], 0xa19ba697
mov dword [esp + 0x1ac], 0x90edbceb
mov dword [esp + 0x1b0], 0x9c9d9e9f
mov dword [esp + 0x1b4], 0x8c999a9b
mov dword [esp + 0x1b8], 0xaa979adb
mov dword [esp + 0x1bc], 0xa0a1a2a3
mov dword [esp + 0x1c0], 0x87b1809d
mov dword [esp + 0x1c4], 0xd39ad6ab
mov byte [esp + 0x1c8], 0xf8
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1c9], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x140]
lea ecx, [eax + 0x1746f7e8]
mov edi, 0x28b90817
sub edi, eax
and edi, 0x90d
and ecx, 0x104226f2
or ecx, edi
xor ecx, edx
mov edx, ecx
xor edx, 0x2072
mov edi, ecx
xor edi, 0xc704d90d
xor ecx, 0xf3660e85
or edx, 0x3cfbd788
add edx, edi
add edx, 0xcb9d2878
or edi, 0xc3042877
and edi, ecx
mov ecx, edi
and ecx, edx
xor edi, edx
lea ecx, [edi + ecx*2]
inc cl
mov byte [esp + eax + 0x140], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x90
jb 0xa0ff30
mov dword [esp + 0x60], 0xd486969a
mov dword [esp + 0x64], 0xcd97b3c
mov dword [esp + 0x68], 0x3118dc9c
mov dword [esp + 0x6c], 0x5d5a5b58
mov dword [esp + 0x70], 0x69aa5edb
mov dword [esp + 0x74], 0xd11e8a8
mov dword [esp + 0x78], 0x69666764
mov dword [esp + 0x7c], 0xa51ae0a0
mov dword [esp + 0x80], 0x90462be9
mov dword [esp + 0x84], 0x393e36ae
mov dword [esp + 0x88], 0x353a3b38
mov dword [esp + 0x8c], 0x31363734
mov dword [esp + 0x90], 0x84b6a6aa
mov dword [esp + 0x94], 0x8eca3b6c
mov dword [esp + 0x98], 0xe8bcf4a
mov dword [esp + 0x9c], 0xd0a0b08
mov dword [esp + 0xa0], 0xd96e3cc4
mov dword [esp + 0xa4], 0x1536d79b
mov dword [esp + 0xa8], 0x19ed98dc
mov dword [esp + 0xac], 0x351a1b18
mov dword [esp + 0xb0], 0x211e1f74
mov dword [esp + 0xb4], 0xe3afeb20
mov dword [esp + 0xb8], 0xe7abef04
mov dword [esp + 0xbc], 0xbba7e300
mov dword [esp + 0xc0], 0x312e2f2c
mov dword [esp + 0xc4], 0x11f6bcfc
mov dword [esp + 0xc8], 0x29bdfc34
mov dword [esp + 0xcc], 0x3dbc72f0
mov dword [esp + 0xd0], 0xc13e3f3c
mov dword [esp + 0xd4], 0xdc2c3c0
mov dword [esp + 0xd8], 0xdec7bd4f
mov dword [esp + 0xdc], 0xcdcacbc8
mov dword [esp + 0xe0], 0xf5024204
mov dword [esp + 0xe4], 0xb6e11bd0
mov byte [esp + 0xe8], 0xd4
mov byte [esp + 0xeb], 0
mov word [esp + 0xe9], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x60]
mov edi, eax
and edi, 0x1a
mov ebx, ecx
xor ebx, 0xd
add ebx, edi
lea edi, [edx + edx]
not edi
add edi, edx
and edi, 0x1d
and edx, 0xffffffe2
or edx, edi
xor edx, ebx
xor dl, 0x1d
add dl, 0xbf
mov byte [esp + ecx + 0x60], dl
inc ecx
add eax, 2
cmp ecx, 0x8c
jne 0xa10130
lea eax, [esp + 0x140]
lea edx, [esp + 0x60]
lea ecx, [esp + 0x130]
push eax
push 0x88
push edx
lea ebx, [esp + 0x40]
push ebx
call fcn.00a2fc90
mov dword [esp + 0x12c], edx
mov dword [esp + 0x128], eax
or eax, edx
je 0xa11012
mov dword [esp + 0x140], 0x7b14eb18
mov byte [esp + 0x144], 0x60
mov dword [esp + 0x145], 0
mov dword [esp + 0x148], 0
mov eax, 0x77cf9de9
mov ecx, 0x16
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x77cf9ca9]
mov edi, ecx
xor edi, eax
and edi, edx
xor edi, eax
mov edx, edi
and edx, 0x72
xor edi, 0x72
lea edx, [edi + edx*2]
inc dl
mov byte [esp + eax - 0x77cf9ca9], dl
inc eax
dec ecx
cmp eax, 0x77cf9df5
jne 0xa101e0
movzx eax, byte [esp + 0x140]
test al, al
je 0xa1022b
lea ecx, [esp + 0x141]
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0xa10220
mov byte [esi], 0
lea eax, [esp + 0x128]
lea ecx, [esp + 0x130]
push 0
push 8
push eax
push ebx
call fcn.00a2fc90
mov dword [esp + 0x124], edx
mov dword [esp + 0x120], eax
or eax, edx
je 0xa11012
mov dword [esp + 0x140], 0xc96c6c62
mov byte [esp + 0x144], 0xec
mov dword [esp + 0x145], 0
mov word [esp + 0x149], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add al, 0x2c
xor al, byte [esp + ecx + 0x140]
add al, 0x24
mov byte [esp + ecx + 0x140], al
inc ecx
cmp ecx, 0xb
jne 0xa10290
movzx eax, byte [esp + 0x140]
test al, al
je 0xa102cb
lea ecx, [esp + 0x141]
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0xa102c0
mov byte [esi], 0
lea eax, [esp + 0x120]
lea edx, [esp + 0x4c]
lea ecx, [esp + 0x34]
push 0
push 8
push eax
push edx
call fcn.00a2f020
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x50]
je 0xa11012
mov dword [esp + 0x140], 0x39a73baf
mov dword [esp + 0x144], 0x258a2793
mov dword [esp + 0x148], 0x2189238d
mov dword [esp + 0x14c], 0x2d852ff2
mov dword [esp + 0x150], 0x29812bb4
lea eax, [esp + 0x154]
mov word [esp + 0x154], 0x1728
mov dword [esp + 0x156], 0
mov word [esp + 0x15a], 0
mov ecx, 0xcb
mov edx, 0x34
nop
nop
nop
movzx ebx, byte [esp + ecx + 0x75]
mov edi, ecx
or edi, ebx
not ebx
or ebx, edx
and ebx, edi
add bl, 9
mov byte [esp + ecx + 0x75], bl
inc ecx
dec edx
cmp ecx, 0xe7
jne 0xa10360
lea edi, [esp + 0x2de]
lea edx, [esp + 0x140]
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x2f2]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x140], 0x31d2d5e9
mov byte [esp + 0x144], 0x4c
mov dword [esp + 0x145], 0
mov word [esp + 0x149], 0
mov eax, 0xfc266d72
mov ecx, 0x3d9928d
nop
nop
nop
nop
mov dword [esp + 4], ecx
movzx edx, byte [esp + eax + 0x3d993ce]
mov edi, eax
and edi, edx
add edi, edi
sub edi, edx
add edi, ecx
or edi, ecx
add edi, eax
inc edi
mov ecx, edi
and ecx, 2
mov ebx, edi
or edi, 2
imul edi, ecx
xor ecx, 2
and ebx, 0xfffffffd
imul ebx, ecx
add edi, ebx
mov ecx, edi
not ecx
and ecx, eax
and edi, dword [esp + 4]
sub ecx, edi
lea edi, [ecx + edx]
add edx, ecx
add edx, 0xc5
mov ecx, 0x3a
sub ecx, edi
or edx, 1
add edx, edi
or ecx, 1
add edx, ecx
mov ecx, dword [esp + 4]
add dl, 0xc6
mov byte [esp + eax + 0x3d993ce], dl
inc eax
dec ecx
cmp eax, 0xfc266d7d
jne 0xa103e0
movzx eax, byte [esp + 0x140]
test al, al
je 0xa1047b
lea ecx, [esp + 0x141]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0xa10470
mov byte [esi], 0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x108], ecx
cmp eax, ecx
je 0xa11012
mov dword [esp + 0xc], 0
lea ebx, [esp + 0x34]
jmp 0xa104cf
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10c]
add eax, 8
cmp eax, dword [esp + 0x108]
je 0xa110cd
mov ecx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 0x10c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
push 0x198
push 0
lea eax, [esp + 0x148]
push eax
call fcn.009fc930
add esp, 0xc
xor eax, eax
jmp 0xa1050e
mov eax, dword [esp + 4]
inc eax
cmp eax, 0xb
je 0xa10710
mov dword [esp + 4], eax
mov ecx, ebx
push 0
push 0
push 0x198
lea eax, [esp + 0x14c]
push eax
push dword [esp + 0x40]
push dword [esp + 0x1c]
call fcn.00a2eeb0
test eax, eax
js 0xa10500
cmp byte [esp + 0x210], 0
sete cl
xor cl, 0x31
cmp byte [esp + 0x211], 0
mov byte [esp + 0x10], cl
sete al
xor al, 0x31
mov byte [esp + 0x11], al
cmp byte [esp + 0x212], 0
sete al
xor al, 0x31
mov byte [esp + 0x12], al
cmp byte [esp + 0x2d0], 0
sete al
xor al, 0x31
mov byte [esp + 0x13], al
mov word [esp + 0x14], 0xa
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi + eax], cl
movzx ecx, byte [esp + eax + 0x11]
inc eax
test cl, cl
jne 0xa10590
mov byte [esi + eax], 0
movzx ecx, byte [esp + 0x212]
test cl, cl
jne 0xa10700
cmp byte [esp + 0x210], 0
mov ebx, dword [esp + 0x180]
mov edi, dword [esp + 0x184]
jne 0xa105d3
mov edx, ebx
or edx, edi
je 0xa10700
cmp byte [esp + 0x2d0], 0
jne 0xa105e8
xor ebx, 1
or ebx, edi
je 0xa10700
add esi, eax
mov dword [esp + 0x60], 0x96b6077
mov byte [esp + 0x64], 4
lea eax, [esp + 0x65]
mov dword [eax + 3], 0
mov dword [eax], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
xor byte [esp + eax + 0x60], al
inc eax
cmp eax, 0xc
jne 0xa10610
movzx eax, byte [esp + 0x60]
test al, al
je 0xa1063b
lea ecx, [esp + 0x61]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0xa10630
mov byte [esi], 0
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x60], 0xff676980
mov dword [esp + 0xf0], 0xf4f5f6f7
xor eax, eax
mov ecx, 0x2b
lea ebx, [esp + 0x34]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0xf0]
mov edi, edx
not edi
or edi, ecx
or edx, eax
or edx, 0xd4
and edx, edi
add dl, 0xdc
mov byte [esp + eax + 0xf0], dl
inc eax
dec ecx
cmp eax, 4
jne 0xa10670
mov eax, dword [0xa40374]
test eax, eax
je 0xa10500
mov ecx, dword [esp + 0xf0]
xor edx, edx
mov edi, dword [0xa40378]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x3568c09b
je 0xa106d3
inc edx
cmp eax, edx
jne 0xa106c0
jmp 0xa10500
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
je 0xa10500
lea ecx, [esp + 0x60]
push ecx
push 0
push 2
push dword [0xa4037c]
push eax
call fcn.00a30f10
add esp, 0x14
jmp 0xa10500
add esi, eax
lea ebx, [esp + 0x34]
test cl, cl
jne 0xa10720
jmp 0xa104b0
movzx ecx, byte [esp + 0x212]
test cl, cl
je 0xa104b0
mov dword [esp + 8], esi
call fcn.009f4b30
mov dword [esp + 0x30], eax
push eax
call fcn.009f4760
add esp, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x60], 0x67010d0b
mov byte [esp + 0x64], 0x68
lea eax, [esp + 0x65]
mov byte [eax + 4], 0
mov dword [eax], 0
mov eax, 0xe7
mov ecx, 0x7891c18
nop
movzx edi, byte [esp + eax - 0x87]
mov edx, eax
and edx, edi
mov ebx, edx
and ebx, 0xfffffffd
mov esi, edx
and esi, 2
or edx, 2
imul edx, esi
xor esi, 2
imul esi, ebx
add edx, esi
lea esi, [eax + edi]
add esi, 0xf876e300
mov ebx, ecx
sub ebx, edi
and ebx, edx
not edx
and edx, esi
sub edx, ebx
lea edi, [edx + 0x7c]
mov esi, 0xda527383
sub esi, edx
mov ebx, esi
and esi, 0x48
and edi, 0xb7
or edi, esi
not ebx
xor edi, 0x49
and ebx, 1
or ebx, edi
and edx, 1
add ebx, edx
mov byte [esp + eax - 0x87], bl
inc eax
dec ecx
cmp eax, 0xf1
jne 0xa10760
movzx eax, byte [esp + 0x60]
test al, al
je 0xa107f0
lea ecx, [esp + 0x61]
mov esi, dword [esp + 8]
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0xa107e0
jmp 0xa107f4
mov esi, dword [esp + 8]
mov byte [esi], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0xc]
xor ecx, ecx
nop
movzx ebx, word [eax + ecx]
movzx edi, word [esp + ecx + 0x2de]
test bx, bx
je 0xa10819
add ecx, 2
cmp bx, di
je 0xa10800
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x17c]
mov ecx, eax
or ecx, edx
je 0xa10870
mov dword [esp + 4], eax
lea ecx, [esp + 0x34]
push 0
push 0
push 0x40
lea eax, [esp + 0x6c]
push eax
push edx
push dword [esp + 0x18]
call fcn.00a2eeb0
test eax, eax
js 0xa10882
xor eax, eax
cmp bx, di
sete al
lea ebx, [esp + 0x34]
mov ecx, ebx
lea edx, [esp + 0x60]
push eax
mov edi, dword [esp + 0x30]
push edi
call fcn.00a12ff0
add esp, 8
jmp 0xa1088c
mov dword [esp + 4], 0
lea ebx, [esp + 0x34]
mov edi, dword [esp + 0x2c]
jmp 0xa10890
xor eax, eax
lea ebx, [esp + 0x34]
mov edi, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp + 0x60], 0x81246461
mov byte [esp + 0x64], 0xb4
lea eax, [esp + 0x65]
mov word [eax + 4], 0
mov dword [eax], 0
mov eax, 0x3ed06ede
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x3ed06e7e]
lea edx, [eax - 0x3ed06e00]
and edx, ecx
or ecx, eax
xor ecx, edx
add ecx, 0x45a879b2
mov edx, ecx
xor edx, 0xf6
and ecx, 0x76
lea ecx, [edx + ecx*2]
add cl, 2
mov byte [esp + eax - 0x3ed06e7e], cl
inc eax
cmp eax, 0x3ed06ee9
jne 0xa108c0
movzx eax, byte [esp + 0x60]
test al, al
je 0xa1091b
lea ecx, [esp + 0x61]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0xa10910
mov byte [esi], 0
push edi
call fcn.009f4930
add esp, 4
test eax, eax
setne cl
mov edx, dword [esp + 4]
and cl, dl
cmp cl, 1
jne 0xa10ad0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x298]
mov edx, dword [esp + 0x29c]
add eax, 0x28
adc edx, 0
mov ecx, ebx
push 0
push 0
push 8
lea edi, [esp + 0x124]
push edi
push edx
push eax
call fcn.00a2eeb0
test eax, eax
mov dword [esp + 8], esi
js 0xa10ba0
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x11c]
add eax, 0x10
adc edx, 0
mov ecx, ebx
push 0
push 0
push 8
lea edi, [esp + 0x11c]
push edi
push edx
push eax
call fcn.00a2eeb0
test eax, eax
js 0xa10ba0
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
add eax, 0x10
adc edx, 0
mov ecx, ebx
push 0
push 0
push 0x18
lea edi, [esp + 0xfc]
push edi
push edx
push eax
call fcn.00a2eeb0
test eax, eax
js 0xa10ba0
cmp byte [esp + 0x107], 0
lea ebx, [esp + 0xf0]
js 0xa10ad9
mov dword [esp + 0x10], 0x299f2bff
mov dword [esp + 0x14], 0x2d982f83
mov dword [esp + 0x18], 0x31f633cc
mov dword [esp + 0x1c], 0x35823797
mov dword [esp + 0x20], 0x39e63b93
mov word [esp + 0x24], 0x3f38
lea eax, [esp + 0x26]
mov byte [eax + 4], 0
mov dword [eax], 0
mov eax, 0x5e0e13c7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x5e0e13b7]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x1d
mov byte [esp + eax - 0x5e0e13b7], cl
inc eax
cmp eax, 0x5e0e13e2
jne 0xa10a40
movzx edi, word [esp + 0x10]
test di, di
mov dword [esp + 0x44], ebx
je 0xa10b36
lea eax, [esp + 0x10]
mov ecx, ebx
mov dword [esp + 4], ebx
jmp 0xa10a9c
movzx edi, word [eax]
test di, di
je 0xa10b3e
movzx ebx, word [ecx]
test bx, bx
je 0xa10b77
add ecx, 2
add eax, 2
mov edx, dword [esp + 4]
add edx, 2
cmp bx, di
je 0xa10ac0
mov dword [esp + 4], edx
mov ecx, edx
je 0xa10a90
lea eax, [esp + 0x10]
jmp 0xa10a90
mov dword [esp + 4], edx
jmp 0xa10ea3
mov edi, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf4]
mov eax, edi
or eax, ebx
je 0xa10ba0
mov eax, dword [esp + 0xf8]
lea ecx, [eax*2 + 2]
inc eax
mov dword [esp + 4], ecx
mov eax, ecx
jns 0xa10b0d
mov eax, 0xffffffff
push eax
call fcn.009fc880
add esp, 4
lea ecx, [esp + 0x34]
push 0
push 0
push dword [esp + 0xc]
push eax
push ebx
mov ebx, eax
push edi
call fcn.00a2eeb0
test eax, eax
jns 0xa109f1
jmp 0xa10ba0
mov ecx, ebx
lea eax, [esp + 0x60]
jmp 0xa10b4c
lea eax, [esp + 0x60]
mov ebx, eax
mov ecx, dword [esp + 4]
test ecx, ecx
je 0xa10b7d
movzx edi, word [ecx + 0x14]
mov ebx, eax
test di, di
je 0xa10b7d
lea eax, [ecx + 0x14]
mov edx, 0x14
nop
cmp di, 0x5c
je 0xa10ebe
movzx edi, word [ecx + edx + 2]
add edx, 2
test di, di
jne 0xa10b60
lea eax, [esp + 0x60]
mov ebx, eax
cmp byte [esp + 0x107], 0
jns 0xa10b97
push dword [esp + 0x44]
call fcn.009fc890
lea eax, [esp + 0x64]
add esp, 4
cmp eax, ebx
jne 0xa10c46
nop
mov dword [esp + 0x10], 0x3fac39f1
mov dword [esp + 0x14], 0x23b13d9b
mov dword [esp + 0x18], 0x27b4218b
mov dword [esp + 0x1c], 0x2bbe258d
mov dword [esp + 0x20], 0x2f2e29bb
lea eax, [esp + 0x26]
mov byte [eax], 0
mov word [eax - 2], 0
mov eax, 0x8cfc3dca
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x7303c246]
mov edx, eax
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
mov edx, ecx
and edx, 0xd
add edx, edx
xor ecx, 0xf2
sub edx, ecx
mov byte [esp + eax + 0x7303c246], dl
inc eax
cmp eax, 0x8cfc3de1
jne 0xa10be0
movzx eax, word [esp + 0x10]
lea ebx, [esp + 0x60]
test ax, ax
je 0xa10c41
lea ecx, [esp + 0x12]
lea ebx, [esp + 0x60]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0xa10c30
mov word [ebx], 0
mov edx, ebx
lea eax, [esp + 0x60]
sub edx, eax
mov ecx, edx
shr ecx, 2
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ecx, edx
and ecx, 0xfffffffc
lea edi, [esi + ecx]
lea eax, [esp + ecx]
add eax, 0x60
mov dword [esp + 4], edx
shr edx, 1
and edx, 1
mov esi, eax
mov dword [esp + 0x44], edi
mov ecx, edx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
test bl, 1
je 0xa10c96
mov ecx, dword [esp + 4]
and ecx, 2
movzx edx, byte [eax + ecx]
mov eax, dword [esp + 0x44]
mov byte [eax + ecx], dl
push 0xa
push 0xb
lea eax, [esp + 0xf8]
push eax
push dword [esp + 0x38]
call fcn.00a12dd0
add esp, 0x10
mov dword [esp + 0x10], 0x4f535dfa
mov dword [esp + 0x14], 0xff9e889c
lea ecx, [esp + 0x26]
mov byte [ecx - 0xc], 0
mov word [ecx - 0xe], 0
xor ecx, ecx
nop
nop
mov edx, ecx
add dl, 0xd4
xor dl, byte [esp + ecx + 0x10]
add dl, 0xdc
mov byte [esp + ecx + 0x10], dl
inc ecx
cmp ecx, 0xb
jne 0xa10cd0
mov esi, dword [esp + 8]
add esi, dword [esp + 4]
movzx ecx, byte [esp + 0x10]
test cl, cl
lea ebx, [esp + 0x62]
je 0xa10d0b
lea edx, [esp + 0x11]
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0xa10d00
mov byte [esi], 0
movzx ecx, byte [eax]
test cl, cl
je 0xa10d2d
inc eax
mov edx, dword [esp + 4]
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0xa10d20
jmp 0xa10d31
mov edx, dword [esp + 4]
mov byte [esi], 0xa
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
mov eax, 0xfffffffe
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0xa10d40
sar eax, 1
sar edx, 1
lea ecx, [edx + eax]
add ecx, 0xa
test ecx, ecx
jns 0xa10d60
mov eax, 0xffffffff
jmp 0xa10d69
add edx, eax
lea eax, [edx*2 + 0x14]
push eax
call fcn.009fc880
add esp, 4
movzx ecx, word [edi]
mov dword [esp + 8], eax
test cx, cx
je 0xa10da1
add edi, 2
mov eax, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0xa10d90
inc esi
mov word [eax], 0x2f
mov dword [esp + 0x10], 0xd704c93b
mov dword [esp + 0x14], 0xd369d579
mov dword [esp + 0x18], 0xdf62d122
mov dword [esp + 0x1c], 0xdb66dd64
mov dword [esp + 0x20], 0xd9d8
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x2e
xor dl, byte [esp + ecx + 0x10]
add dl, 0x1a
mov byte [esp + ecx + 0x10], dl
inc ecx
cmp ecx, 0x14
jne 0xa10de0
add eax, 2
movzx ecx, word [esp + 0x60]
test cx, cx
je 0xa10e21
mov edx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0xa10e10
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0xa10e51
lea edx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0xa10e40
mov word [eax], 0
mov ebx, 0xffffffff
push dword [esp + 0x30]
call fcn.009f5750
add esp, 4
mov edi, eax
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + ebx + 1], 0
lea ebx, [ebx + 1]
jne 0xa10e70
mov ecx, dword [ebp + 8]
push ebx
push edi
mov ebx, dword [esp + 0x10]
push ebx
call fcn.009fd220
mov dword [esp + 4], eax
push edi
call fcn.009f57e0
add esp, 4
push ebx
call fcn.009fc890
add esp, 4
lea ebx, [esp + 0x34]
push dword [esp + 0x30]
call fcn.009f4970
add esp, 4
mov eax, dword [esp + 0xc]
and al, 1
or al, byte [esp + 4]
jmp 0xa104b4
lea ebx, [esp + 0x60]
cmp edx, 0x14
je 0xa10f42
lea ecx, [edx - 0x14]
sar ecx, 1
test dl, 2
jne 0xa10ed7
lea edi, [esp + 0x60]
jmp 0xa10efb
mov ebx, edx
sub ebx, ecx
add ebx, 0xffffffeb
mov edi, esi
movzx esi, word [eax]
xor ecx, ecx
test si, si
setne cl
lea eax, [eax + ecx*2]
mov word [esp + 0x60], si
mov esi, edi
lea edi, [esp + 0x62]
mov ecx, ebx
lea ebx, [esp + 0x62]
cmp edx, 0x16
je 0xa10f42
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [eax]
xor ebx, ebx
test dx, dx
setne bl
mov word [edi], dx
lea edx, [eax + ebx*2]
movzx esi, word [eax + ebx*2]
xor eax, eax
test si, si
setne al
lea eax, [edx + eax*2]
mov word [edi + 2], si
add edi, 4
add ecx, 0xfffffffe
jne 0xa10f10
mov ebx, edi
mov esi, dword [esp + 8]
mov word [ebx], 0
cmp byte [esp + 0x2d0], 0
jne 0xa10ffb
mov edi, esi
mov dword [esp + 0x10], 0xcfb7c9e8
mov dword [esp + 0x14], 0xc3a5cd5e
mov dword [esp + 0x18], 0xc75dc153
mov dword [esp + 0x1c], 0xfb63c556
mov dword [esp + 0x20], 0xff6df96c
mov word [esp + 0x24], 0xfdfc
lea eax, [esp + 0x26]
mov byte [eax + 4], 0
mov dword [eax], 0
mov eax, 0x684f6452
mov ecx, 0xad
nop
nop
movzx edx, byte [esp + eax - 0x684f6442]
mov esi, ecx
xor esi, eax
and esi, edx
xor esi, eax
add esi, 0xf6730a65
mov edx, esi
and edx, 1
xor esi, 1
lea edx, [esi + edx*2]
mov byte [esp + eax - 0x684f6442], dl
inc eax
dec ecx
cmp eax, 0x684f646d
jne 0xa10fa0
movzx eax, word [esp + 0x10]
test ax, ax
je 0xa10ff4
lea ecx, [esp + 0x12]
mov esi, edi
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0xa10fe1
jmp 0xa10ff6
mov esi, edi
mov word [ebx], 0
lea eax, [esp + 0x60]
cmp byte [esp + 0x107], 0
jns 0xa10b97
jmp 0xa10b87
xor ebx, ebx
mov edi, esi
lea ecx, [esp + 0x34]
call fcn.00a2e650
mov dword [esp + 0x140], 0xff464357
mov byte [esp + 0x144], 0xc8
mov dword [esp + 0x145], 0
mov byte [esp + 0x149], 0
mov eax, 0x6748afd3
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x6748ae93]
xor edx, eax
mov esi, edx
mov ecx, edx
xor ecx, 0xfb9490e0
add ecx, edx
and edx, 0xe0
and esi, 0x4482f1f
sub ecx, esi
add edx, ecx
and ecx, 1
xor edx, 1
lea ecx, [edx + ecx*2]
mov byte [esp + eax - 0x6748ae93], cl
inc eax
cmp eax, 0x6748afdd
jne 0xa11050
movzx eax, byte [esp + 0x140]
test al, al
je 0xa110bb
lea ecx, [esp + 0x141]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0xa110b0
mov byte [edi], 0
mov eax, dword [ebp + 0xc]
mov dword [eax], edi
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0xc]
and bl, 1
test eax, eax
je 0xa11014
cmp eax, dword [esp + 0x50]
je 0xa11014
push eax
call fcn.009fc890
add esp, 4
mov dword [esp + 0x4c], 0
jmp 0xa11014