Function at 0x102aa000
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
push eax
mov eax, 0x1258
call fcn.101e8890
sub esp, eax
mov ebx, edx
mov esi, ecx
mov eax, dword [esp + eax]
mov dword [esp + 8], 0x40004
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1270]
mov dword [esp + 4], 0
mov dword [esp + 0x64], edx
mov dword [esp], eax
mov dword [esp + 0x78], ecx
call sub.msvcrt.dll_memset
mov edx, dword [esp + 0x1274]
movzx eax, byte [ebx]
sub edx, 1
shl eax, 8
mov dword [esp + 0x80], edx
cmp edx, 2
jle 0x102aba00
mov ecx, dword [esp + 0x1270]
xor edi, edi
sar eax, 8
xor ebp, ebp
mov word [esi + edx*2], di
movzx edi, byte [ebx + edx]
shl edi, 8
or eax, edi
add dword [ecx + eax*4], 1
sar eax, 8
mov word [esi + edx*2 - 2], bp
mov edi, eax
movzx eax, byte [ebx + edx - 1]
xor ebp, ebp
shl eax, 8
or eax, edi
xor edi, edi
add dword [ecx + eax*4], 1
sar eax, 8
mov word [esi + edx*2 - 4], di
mov edi, eax
movzx eax, byte [ebx + edx - 2]
shl eax, 8
or eax, edi
add dword [ecx + eax*4], 1
sar eax, 8
mov word [esi + edx*2 - 6], bp
mov edi, eax
movzx eax, byte [ebx + edx - 3]
sub edx, 4
shl eax, 8
or eax, edi
add dword [ecx + eax*4], 1
cmp edx, 2
jg 0x102aa06a
mov esi, dword [esp + 0x1274]
lea edx, [esi - 4]
lea ecx, [esi - 5]
and edx, 0xfffffffc
sub ecx, edx
mov ebx, ecx
test ebx, ebx
js 0x102aa159
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x64]
xor edx, edx
sar eax, 8
lea ecx, [ebx + ebx]
mov word [esi + ebx*2], dx
movzx edx, byte [edi + ebx]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x1270]
add dword [eax + edx*4], 1
test ebx, ebx
je 0x102aa159
xor eax, eax
sar edx, 8
mov word [esi + ecx - 2], ax
movzx eax, byte [edi + ebx - 1]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x1270]
add dword [edx + eax*4], 1
cmp ebx, 2
jne 0x102aa159
xor ebp, ebp
sar eax, 8
mov word [esi], bp
movzx edx, byte [edi]
mov esi, dword [esp + 0x1270]
shl edx, 8
or eax, edx
add dword [esi + eax*4], 1
mov eax, dword [esp + 0x1274]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x1274]
lea edi, [eax + eax]
lea ebp, [ecx + edi + 0x44]
lea eax, [ecx + edi]
mov ecx, dword [esp + 0x1274]
add esi, edx
lea edx, [edx + ecx + 0x22]
cmp eax, edx
setae cl
cmp esi, ebp
setae dl
or ecx, edx
mov byte [esp + 0x14], cl
mov ecx, dword [esp + 0x64]
mov edx, ecx
add edx, 0x22
cmp eax, edx
setae dl
cmp ecx, ebp
setae cl
mov ebp, ecx
or edx, ebp
and dl, byte [esp + 0x14]
cmp dword [esp + 0x80], 2
seta cl
test dl, cl
je 0x102ab94b
mov edx, dword [esp + 0x64]
or edx, esi
or edx, eax
and edx, 3
jne 0x102ab94b
mov ecx, dword [esp + 0x64]
xor ebp, ebp
mov edx, dword [ecx]
mov dword [esi], edx
mov dword [eax], 0
mov dword [eax + 4], 0
mov edx, dword [ecx + 4]
mov dword [esi + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov edx, dword [ecx + 8]
mov dword [esi + 8], edx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov edx, dword [ecx + 0xc]
mov dword [esi + 0xc], edx
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov edx, dword [ecx + 0x10]
mov dword [esi + 0x10], edx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov edx, dword [ecx + 0x14]
mov dword [esi + 0x14], edx
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
mov edx, dword [ecx + 0x18]
mov dword [esi + 0x18], edx
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], 0
mov edx, dword [ecx + 0x1c]
mov dword [esi + 0x1c], edx
mov esi, ecx
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
movzx eax, byte [ecx + 0x20]
mov edx, dword [esp + 0x1274]
mov byte [ecx + edx + 0x20], al
mov edx, dword [esp + 0x78]
mov word [edx + edi + 0x40], bp
movzx eax, byte [ecx + 0x21]
mov ecx, dword [esp + 0x1274]
mov byte [esi + ecx + 0x21], al
xor eax, eax
mov word [edx + edi + 0x42], ax
mov eax, dword [esp + 0x1270]
mov esi, dword [esp + 0x1270]
mov edx, dword [eax]
lea ecx, [esi + 0x40004]
add eax, 4
lea esi, [esi]
add edx, dword [eax]
add eax, 4
mov dword [eax - 4], edx
cmp ecx, eax
jne 0x102aa2c8
mov edx, dword [esp + 0x64]
movzx eax, byte [edx]
shl eax, 8
mov ecx, eax
mov eax, dword [esp + 0x80]
cmp eax, 2
jle 0x102aa39d
mov dword [esp + 0x14], ebx
mov edi, dword [esp + 0x1270]
mov esi, eax
movzx ebp, byte [edx + esi]
mov eax, ecx
mov ebx, dword [esp + 0x54]
shr ax, 8
shl ebp, 8
or eax, ebp
movzx ecx, ax
shr ax, 8
lea ebp, [edi + ecx*4]
mov ecx, dword [ebp]
sub ecx, 1
mov dword [ebp], ecx
mov dword [ebx + ecx*4], esi
movzx ecx, byte [edx + esi - 1]
shl ecx, 8
or eax, ecx
movzx ecx, ax
shr ax, 8
lea ebp, [edi + ecx*4]
mov ecx, dword [ebp]
sub ecx, 1
mov dword [ebp], ecx
lea ebp, [esi - 1]
mov dword [ebx + ecx*4], ebp
movzx ecx, byte [edx + esi - 2]
shl ecx, 8
or eax, ecx
movzx ecx, ax
shr ax, 8
lea ebp, [edi + ecx*4]
mov ecx, dword [ebp]
sub ecx, 1
mov dword [ebp], ecx
lea ebp, [esi - 2]
mov dword [ebx + ecx*4], ebp
movzx ebp, byte [edx + esi - 3]
shl ebp, 8
or eax, ebp
mov ecx, eax
movzx eax, ax
lea ebp, [edi + eax*4]
mov eax, dword [ebp]
sub eax, 1
mov dword [ebp], eax
lea ebp, [esi - 3]
sub esi, 4
mov dword [ebx + eax*4], ebp
cmp esi, 2
jg 0x102aa2fd
mov ebx, dword [esp + 0x14]
test ebx, ebx
js 0x102aa436
mov edi, dword [esp + 0x64]
mov edx, ecx
mov esi, dword [esp + 0x1270]
shr dx, 8
mov ebp, dword [esp + 0x54]
movzx eax, byte [edi + ebx]
shl eax, 8
or edx, eax
movzx eax, dx
lea edx, [esi + eax*4]
mov ecx, eax
lea esi, [ebx - 1]
mov eax, dword [edx]
sub eax, 1
mov dword [edx], eax
mov dword [ebp + eax*4], ebx
test ebx, ebx
je 0x102aa436
movzx eax, byte [edi + ebx - 1]
mov edx, ecx
shr dx, 8
shl eax, 8
or edx, eax
movzx eax, dx
mov edx, dword [esp + 0x1270]
mov ecx, eax
lea edx, [edx + eax*4]
mov eax, dword [edx]
sub eax, 1
mov dword [edx], eax
mov dword [ebp + eax*4], esi
cmp ebx, 2
jne 0x102aa436
movzx edx, byte [edi]
mov eax, ecx
mov esi, dword [esp + 0x1270]
shr ax, 8
shl edx, 8
or eax, edx
movzx eax, ax
lea edx, [esi + eax*4]
mov eax, dword [edx]
sub eax, 1
mov dword [edx], eax
mov dword [ebp + eax*4], 0
lea edx, [esp + 0xa0]
mov ecx, 0x40
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
lea esi, [esi]
nop
mov dword [esp + eax*4 + 0x650], eax
add eax, 1
cmp eax, 0x100
jne 0x102aa450
mov esi, dword [esp + 0x1270]
mov ebp, 0x79
lea eax, [ebp*4]
mov dword [esp + 0x14], ebp
mov edx, ebp
neg eax
mov dword [esp + 0x18], eax
mov ebp, dword [esp + edx*4 + 0x650]
mov dword [esp + 0x24], edx
mov ebx, edx
mov ecx, ebp
mov eax, ebp
mov dword [esp + 0x20], ebp
shl ecx, 0xa
shl eax, 8
mov ecx, dword [ecx + esi + 0x400]
sub ecx, dword [esi + eax*4]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + edx*4 + 0x650]
jmp 0x102aa4c8
mov eax, dword [esp + 0x18]
mov dword [ecx], edx
add ecx, eax
mov eax, dword [esp + 0x14]
cmp ebx, eax
jl 0x102aa52d
mov eax, dword [esp + 0x14]
mov edi, ebx
sub ebx, eax
mov eax, dword [esp + 0x18]
mov edx, dword [ecx + eax]
mov eax, edx
mov ebp, edx
shl eax, 0xa
shl ebp, 8
mov eax, dword [eax + esi + 0x400]
sub eax, dword [esi + ebp*4]
cmp dword [esp + 0x1c], eax
jb 0x102aa4b8
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, 1
mov dword [esp + edi*4 + 0x650], ebp
cmp edx, 0x100
jne 0x102aa480
mov ebp, dword [esp + 0x14]
cmp ebp, 1
je 0x102aa539
mov eax, 0x55555556
imul ebp
mov eax, ebp
sar eax, 0x1f
sub edx, eax
mov ebp, edx
jmp 0x102aa46d
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov edi, ebx
jmp 0x102aa4f9
lea eax, [esp + 0x650]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x1270]
add eax, 0x40000
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x7c]
xor esi, esi
mov edi, dword [eax]
mov eax, edi
mov ebp, edi
shl eax, 0xa
add eax, dword [esp + 0x1270]
mov dword [esp + 0x90], eax
mov ebx, eax
jmp 0x102aa599
or eax, 0x200000
mov dword [ebx], eax
add esi, 1
add ebx, 4
cmp esi, 0x100
je 0x102ab5d7
cmp ebp, esi
je 0x102aa587
mov eax, dword [ebx]
test eax, 0x200000
jne 0x102aa580
mov edx, dword [ebx + 4]
mov ecx, eax
and ecx, 0xffdfffff
and edx, 0xffdfffff
sub edx, 1
cmp ecx, edx
jge 0x102aa580
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x330], edx
mov dword [esp + 0x4c0], 2
mov dword [esp + 0x24], 1
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], ebx
mov eax, dword [esp + 0x24]
sub eax, 1
mov esi, dword [esp + eax*4 + 0x330]
mov edx, dword [esp + eax*4 + 0x1a0]
mov dword [esp + 0x60], eax
mov edi, dword [esp + eax*4 + 0x4c0]
mov eax, esi
mov dword [esp + 0x50], edx
sub eax, edx
mov dword [esp + 0x48], esi
mov dword [esp + 0x1c], edi
cmp eax, 0x13
jle 0x102ab2ec
cmp edi, 0xe
jle 0x102ab313
add eax, 1
cmp eax, 0x28
jle 0x102ab8f5
cmp eax, 0x79
jle 0x102ab858
cmp eax, 0x16c
jle 0x102ab876
cmp eax, 0x445
jle 0x102ab86c
cmp eax, 0xcd0
jle 0x102ab862
cmp eax, 0x2671
jle 0x102ab8ff
cmp eax, 0x7354
jle 0x102ab930
cmp eax, 0x159fd
jle 0x102ab926
cmp eax, 0x40df8
jle 0x102ab91c
cmp eax, 0xc29e9
setg al
movzx eax, al
add eax, 0xb
mov esi, dword [esp + 0x50]
mov ebp, dword [esp + 0x64]
mov edx, eax
lea ecx, [esi*4]
mov dword [esp + 0x6c], ecx
mov eax, dword [edx*4 + 0x10450da0]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x58], edx
mov edi, dword [esp + 0x6c]
lea ecx, [esi + eax]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x18], eax
shl eax, 2
neg eax
mov dword [esp + 0x28], ecx
add edi, esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], edi
lea edi, [esi + ecx*4 + 8]
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], ecx
lea esi, [esi]
nop
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0x48], edx
jl 0x102ab1dc
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], esi
mov edi, dword [eax - 8]
mov dword [esp + 0x4c], edi
add edi, ecx
lea ecx, [ebp + edi]
mov dword [esp + 0x30], edi
lea edi, [eax - 8]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], eax
lea esi, [esi]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x38], edx
sub edx, eax
mov eax, dword [esp + 0x14]
add ecx, dword [eax]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
movzx ebx, byte [ebp + ecx]
movzx eax, byte [eax]
cmp bl, al
jne 0x102aaa90
mov eax, dword [esp + 0x30]
movzx ebx, byte [ebp + ecx + 1]
movzx eax, byte [ebp + eax + 1]
cmp bl, al
jne 0x102aaa90
mov eax, dword [esp + 0x30]
movzx ebx, byte [ebp + ecx + 2]
movzx eax, byte [ebp + eax + 2]
cmp bl, al
jne 0x102aaa90
mov eax, dword [esp + 0x30]
movzx ebx, byte [ebp + ecx + 3]
movzx eax, byte [ebp + eax + 3]
cmp bl, al
jne 0x102aaa90
mov eax, dword [esp + 0x30]
movzx ebx, byte [ebp + ecx + 4]
movzx eax, byte [ebp + eax + 4]
cmp bl, al
jne 0x102aaa90
mov eax, dword [esp + 0x30]
movzx ebx, byte [ebp + ecx + 5]
movzx eax, byte [ebp + eax + 5]
cmp bl, al
jne 0x102aaa90
mov eax, dword [esp + 0x30]
movzx esi, byte [ebp + ecx + 6]
movzx ebx, byte [ebp + eax + 6]
mov eax, esi
cmp al, bl
jne 0x102ab2b0
mov eax, dword [esp + 0x30]
movzx esi, byte [ebp + ecx + 7]
movzx ebx, byte [ebp + eax + 7]
mov eax, esi
cmp al, bl
jne 0x102ab2b0
mov eax, dword [esp + 0x30]
movzx esi, byte [ebp + ecx + 8]
movzx ebx, byte [ebp + eax + 8]
mov eax, esi
cmp al, bl
jne 0x102ab2b0
mov eax, dword [esp + 0x30]
movzx esi, byte [ebp + ecx + 9]
movzx ebx, byte [ebp + eax + 9]
mov eax, esi
cmp al, bl
jne 0x102ab2b0
mov eax, dword [esp + 0x30]
movzx esi, byte [ebp + ecx + 0xa]
movzx ebx, byte [ebp + eax + 0xa]
mov eax, esi
cmp al, bl
jne 0x102ab2b0
mov eax, dword [esp + 0x30]
movzx esi, byte [ebp + ecx + 0xb]
movzx ebx, byte [ebp + eax + 0xb]
mov eax, esi
cmp al, bl
jne 0x102ab2b0
mov esi, dword [esp + 0x30]
mov dword [esp + 0x68], edi
lea eax, [ecx + 0xc]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x5c], edx
mov edx, eax
lea ebx, [esi + 0xc]
mov esi, dword [esp + 0x1274]
add esi, 8
mov dword [esp + 0x98], esi
movzx eax, byte [ebp + edx]
movzx ecx, byte [ebp + ebx]
cmp al, cl
jne 0x102ab97c
lea eax, [edx + edx]
lea esi, [ebx + ebx]
mov dword [esp + 0x70], eax
movzx eax, word [edi + edx*2]
mov dword [esp + 0x74], esi
movzx esi, word [edi + ebx*2]
cmp ax, si
jne 0x102ab909
movzx esi, byte [ebp + ebx + 1]
movzx eax, byte [ebp + edx + 1]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8dc
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 2]
movzx esi, word [edi + esi + 2]
cmp ax, si
jne 0x102ab909
movzx esi, byte [ebp + ebx + 2]
movzx eax, byte [ebp + edx + 2]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8dc
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 4]
movzx esi, word [edi + esi + 4]
cmp ax, si
jne 0x102ab909
movzx esi, byte [ebp + ebx + 3]
movzx eax, byte [ebp + edx + 3]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8dc
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 6]
movzx esi, word [edi + esi + 6]
cmp ax, si
jne 0x102ab909
movzx esi, byte [ebp + ebx + 4]
movzx eax, byte [ebp + edx + 4]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8dc
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 8]
movzx esi, word [edi + esi + 8]
cmp ax, si
jne 0x102ab909
movzx esi, byte [ebp + ebx + 5]
movzx eax, byte [ebp + edx + 5]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8dc
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 0xa]
movzx esi, word [edi + esi + 0xa]
cmp ax, si
jne 0x102ab909
movzx esi, byte [ebp + ebx + 6]
movzx eax, byte [ebp + edx + 6]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8dc
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 0xc]
movzx esi, word [edi + esi + 0xc]
cmp ax, si
jne 0x102ab909
movzx esi, byte [ebp + ebx + 7]
movzx eax, byte [ebp + edx + 7]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8dc
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 0xe]
movzx ecx, word [edi + esi + 0xe]
cmp ax, cx
jne 0x102ab98e
add edx, 8
add ebx, 8
mov eax, edx
sub eax, dword [esp + 0x1274]
cmp edx, dword [esp + 0x1274]
cmovae edx, eax
mov eax, ebx
sub eax, dword [esp + 0x1274]
cmp ebx, dword [esp + 0x1274]
cmovae ebx, eax
mov eax, dword [esp + 0x1278]
sub dword [eax], 1
sub dword [esp + 0x98], 8
jns 0x102aa893
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
lea ecx, [esi + eax*4]
jmp 0x102aaac5
cmp al, bl
setb bl
mov ecx, edi
test bl, bl
je 0x102aadf4
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
mov dword [edi], ebx
mov edi, dword [esp + 0x2c]
add eax, edi
add edi, ecx
mov dword [esp + 0x14], eax
cmp dword [esp + 0x28], edx
jle 0x102aa740
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
mov dword [ecx], eax
mov eax, dword [esp + 0x3c]
lea edx, [eax + 1]
cmp dword [esp + 0x48], edx
jl 0x102ab1dc
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24], edx
mov edi, dword [eax - 4]
mov eax, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x34], eax
add eax, ebp
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x40]
add eax, 4
mov dword [esp + 0x14], eax
lea esi, [esi]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x20], eax
sub eax, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
movzx ebx, byte [ebx]
mov dword [esp + 0x38], eax
mov eax, dword [eax]
add edx, eax
movzx ecx, byte [ebp + edx]
cmp cl, bl
jne 0x102aae00
mov ebx, dword [esp + 0x34]
movzx ecx, byte [ebp + edx + 1]
movzx ebx, byte [ebp + ebx + 1]
cmp cl, bl
jne 0x102aae00
mov ebx, dword [esp + 0x34]
movzx ecx, byte [ebp + edx + 2]
movzx ebx, byte [ebp + ebx + 2]
cmp cl, bl
jne 0x102aae00
mov ebx, dword [esp + 0x34]
movzx ecx, byte [ebp + edx + 3]
movzx ebx, byte [ebp + ebx + 3]
cmp cl, bl
jne 0x102aae00
mov ebx, dword [esp + 0x34]
movzx ecx, byte [ebp + edx + 4]
movzx ebx, byte [ebp + ebx + 4]
cmp cl, bl
jne 0x102aae00
mov ecx, dword [esp + 0x34]
movzx ebx, byte [ebp + edx + 5]
movzx ecx, byte [ebp + ecx + 5]
cmp bl, cl
jne 0x102ab2a0
mov ecx, dword [esp + 0x34]
movzx ebx, byte [ebp + edx + 6]
movzx ecx, byte [ebp + ecx + 6]
cmp bl, cl
jne 0x102ab2a0
mov ecx, dword [esp + 0x34]
movzx ebx, byte [ebp + edx + 7]
movzx ecx, byte [ebp + ecx + 7]
cmp bl, cl
jne 0x102ab2a0
mov ecx, dword [esp + 0x34]
movzx ebx, byte [ebp + edx + 8]
movzx ecx, byte [ebp + ecx + 8]
cmp bl, cl
jne 0x102ab2a0
mov ecx, dword [esp + 0x34]
movzx ebx, byte [ebp + edx + 9]
movzx ecx, byte [ebp + ecx + 9]
cmp bl, cl
jne 0x102ab2a0
mov ecx, dword [esp + 0x34]
movzx ebx, byte [ebp + edx + 0xa]
movzx ecx, byte [ebp + ecx + 0xa]
cmp bl, cl
jne 0x102ab2a0
mov ecx, dword [esp + 0x34]
movzx ebx, byte [ebp + edx + 0xb]
movzx ecx, byte [ebp + ecx + 0xb]
cmp bl, cl
jne 0x102ab2a0
mov ecx, dword [esp + 0x1274]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x4c], edi
add edx, 0xc
mov edi, dword [esp + 0x78]
mov dword [esp + 0x5c], esi
add ecx, 8
add eax, 0xc
mov dword [esp + 0x70], ecx
mov esi, eax
movzx ecx, byte [ebp + edx]
movzx eax, byte [ebp + esi]
cmp cl, al
jne 0x102ab9a1
lea ecx, [esi + esi]
movzx ebx, word [edi + edx*2]
lea eax, [edx + edx]
mov dword [esp + 0x68], ecx
movzx ecx, word [edi + esi*2]
cmp bx, cx
jne 0x102ab8a0
movzx ebx, byte [ebp + edx + 1]
movzx ecx, byte [ebp + esi + 1]
cmp bl, cl
jne 0x102ab880
mov ecx, dword [esp + 0x68]
movzx ebx, word [edi + eax + 2]
movzx ecx, word [edi + ecx + 2]
cmp bx, cx
jne 0x102ab8a0
movzx ebx, byte [ebp + edx + 2]
movzx ecx, byte [ebp + esi + 2]
cmp bl, cl
jne 0x102ab880
mov ecx, dword [esp + 0x68]
movzx ebx, word [edi + eax + 4]
movzx ecx, word [edi + ecx + 4]
cmp bx, cx
jne 0x102ab8a0
movzx ebx, byte [ebp + edx + 3]
movzx ecx, byte [ebp + esi + 3]
cmp bl, cl
jne 0x102ab880
mov ecx, dword [esp + 0x68]
movzx ebx, word [edi + eax + 6]
movzx ecx, word [edi + ecx + 6]
cmp bx, cx
jne 0x102ab8a0
movzx ebx, byte [ebp + edx + 4]
movzx ecx, byte [ebp + esi + 4]
cmp bl, cl
jne 0x102ab880
mov ecx, dword [esp + 0x68]
movzx ebx, word [edi + eax + 8]
movzx ecx, word [edi + ecx + 8]
cmp bx, cx
jne 0x102ab8a0
movzx ebx, byte [ebp + edx + 5]
movzx ecx, byte [ebp + esi + 5]
cmp bl, cl
jne 0x102ab880
mov ecx, dword [esp + 0x68]
movzx ebx, word [edi + eax + 0xa]
movzx ecx, word [edi + ecx + 0xa]
cmp bx, cx
jne 0x102ab8a0
movzx ebx, byte [ebp + edx + 6]
movzx ecx, byte [ebp + esi + 6]
cmp bl, cl
jne 0x102ab880
mov ecx, dword [esp + 0x68]
movzx ebx, word [edi + eax + 0xc]
movzx ecx, word [edi + ecx + 0xc]
cmp bx, cx
jne 0x102ab8a0
movzx ebx, byte [ebp + edx + 7]
movzx ecx, byte [ebp + esi + 7]
cmp bl, cl
jne 0x102ab880
movzx ecx, word [edi + eax + 0xe]
mov eax, dword [esp + 0x68]
movzx eax, word [edi + eax + 0xe]
cmp cx, ax
jne 0x102ab9b3
add edx, 8
add esi, 8
mov eax, edx
sub eax, dword [esp + 0x1274]
cmp edx, dword [esp + 0x1274]
cmovae edx, eax
mov eax, esi
sub eax, dword [esp + 0x1274]
cmp esi, dword [esp + 0x1274]
cmovae esi, eax
mov eax, dword [esp + 0x1278]
sub dword [eax], 1
sub dword [esp + 0x70], 8
jns 0x102aac56
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x4c]
lea ebx, [esi + eax*4]
jmp 0x102aae34
mov esi, dword [esp + 0x20]
jmp 0x102aaac5
cmp bl, cl
setb dl
test dl, dl
je 0x102ab1c2
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x2c]
add edx, eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x28], edx
jle 0x102aab08
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [ebx], edi
lea edx, [eax + 2]
cmp dword [esp + 0x48], edx
jl 0x102ab1dc
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], esi
mov eax, dword [edi]
mov dword [esp + 0x4c], eax
add eax, ecx
mov dword [esp + 0x30], eax
add eax, ebp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
add eax, 8
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x38], edx
sub edx, eax
mov eax, dword [esp + 0x14]
add ecx, dword [eax]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
movzx ebx, byte [ebp + ecx]
movzx eax, byte [eax]
cmp bl, al
jne 0x102ab230
mov eax, dword [esp + 0x30]
movzx ebx, byte [ebp + ecx + 1]
movzx eax, byte [ebp + eax + 1]
cmp bl, al
jne 0x102ab230
mov eax, dword [esp + 0x30]
movzx ebx, byte [ebp + ecx + 2]
movzx eax, byte [ebp + eax + 2]
cmp bl, al
jne 0x102ab230
mov eax, dword [esp + 0x30]
movzx ebx, byte [ebp + ecx + 3]
movzx eax, byte [ebp + eax + 3]
cmp bl, al
jne 0x102ab230
mov eax, dword [esp + 0x30]
movzx ebx, byte [ebp + ecx + 4]
movzx eax, byte [ebp + eax + 4]
cmp bl, al
jne 0x102ab230
mov eax, dword [esp + 0x30]
movzx ebx, byte [ebp + ecx + 5]
movzx eax, byte [ebp + eax + 5]
cmp bl, al
jne 0x102ab230
mov eax, dword [esp + 0x30]
movzx esi, byte [ebp + ecx + 6]
movzx ebx, byte [ebp + eax + 6]
mov eax, esi
cmp al, bl
jne 0x102ab2c0
mov eax, dword [esp + 0x30]
movzx esi, byte [ebp + ecx + 7]
movzx ebx, byte [ebp + eax + 7]
mov eax, esi
cmp al, bl
jne 0x102ab2c0
mov eax, dword [esp + 0x30]
movzx esi, byte [ebp + ecx + 8]
movzx ebx, byte [ebp + eax + 8]
mov eax, esi
cmp al, bl
jne 0x102ab2c0
mov eax, dword [esp + 0x30]
movzx esi, byte [ebp + ecx + 9]
movzx ebx, byte [ebp + eax + 9]
mov eax, esi
cmp al, bl
jne 0x102ab2c0
mov eax, dword [esp + 0x30]
movzx esi, byte [ebp + ecx + 0xa]
movzx ebx, byte [ebp + eax + 0xa]
mov eax, esi
cmp al, bl
jne 0x102ab2c0
mov eax, dword [esp + 0x30]
movzx esi, byte [ebp + ecx + 0xb]
movzx ebx, byte [ebp + eax + 0xb]
mov eax, esi
cmp al, bl
jne 0x102ab2c0
mov esi, dword [esp + 0x30]
mov dword [esp + 0x68], edi
lea eax, [ecx + 0xc]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x5c], edx
mov edx, eax
lea ebx, [esi + 0xc]
mov esi, dword [esp + 0x1274]
add esi, 8
mov dword [esp + 0x98], esi
movzx eax, byte [ebp + edx]
movzx ecx, byte [ebp + ebx]
cmp al, cl
jne 0x102ab9c6
lea eax, [edx + edx]
lea esi, [ebx + ebx]
mov dword [esp + 0x70], eax
movzx eax, word [edi + edx*2]
mov dword [esp + 0x74], esi
movzx esi, word [edi + ebx*2]
cmp ax, si
jne 0x102ab8c9
movzx esi, byte [ebp + ebx + 1]
movzx eax, byte [ebp + edx + 1]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8b0
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 2]
movzx esi, word [edi + esi + 2]
cmp ax, si
jne 0x102ab8c9
movzx esi, byte [ebp + ebx + 2]
movzx eax, byte [ebp + edx + 2]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8b0
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 4]
movzx esi, word [edi + esi + 4]
cmp ax, si
jne 0x102ab8c9
movzx esi, byte [ebp + ebx + 3]
movzx eax, byte [ebp + edx + 3]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8b0
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 6]
movzx esi, word [edi + esi + 6]
cmp ax, si
jne 0x102ab8c9
movzx esi, byte [ebp + ebx + 4]
movzx eax, byte [ebp + edx + 4]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8b0
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 8]
movzx esi, word [edi + esi + 8]
cmp ax, si
jne 0x102ab8c9
movzx esi, byte [ebp + ebx + 5]
movzx eax, byte [ebp + edx + 5]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8b0
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 0xa]
movzx esi, word [edi + esi + 0xa]
cmp ax, si
jne 0x102ab8c9
movzx esi, byte [ebp + ebx + 6]
movzx eax, byte [ebp + edx + 6]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8b0
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 0xc]
movzx esi, word [edi + esi + 0xc]
cmp ax, si
jne 0x102ab8c9
movzx esi, byte [ebp + ebx + 7]
movzx eax, byte [ebp + edx + 7]
mov ecx, esi
mov byte [esp + 0x97], al
cmp al, cl
jne 0x102ab8b0
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movzx eax, word [edi + eax + 0xe]
movzx ecx, word [edi + esi + 0xe]
cmp ax, cx
jne 0x102ab9d8
add edx, 8
add ebx, 8
mov eax, edx
sub eax, dword [esp + 0x1274]
cmp edx, dword [esp + 0x1274]
cmovae edx, eax
mov eax, ebx
sub eax, dword [esp + 0x1274]
cmp ebx, dword [esp + 0x1274]
cmovae ebx, eax
mov eax, dword [esp + 0x1278]
sub dword [eax], 1
sub dword [esp + 0x98], 8
jns 0x102aafc3
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
lea ecx, [esi + eax*4]
jmp 0x102ab261
mov eax, dword [esp + 0x20]
lea ebx, [esi + eax*4]
mov eax, dword [esp + 0x3c]
mov dword [ebx], edi
lea edx, [eax + 2]
cmp dword [esp + 0x48], edx
jge 0x102aae47
mov edx, dword [esp + 0x58]
sub edx, 1
jae 0x102aa6bb
mov eax, dword [esp + 0x1278]
mov ecx, dword [eax]
test ecx, ecx
js 0x102ab287
mov edx, dword [esp + 0x60]
test edx, edx
je 0x102ab2ca
cmp dword [esp + 0x60], 0x61
jle 0x102ab219
mov dword [esp], 0x3e9
call sym.encryptor_lib.dll_bz_internal_error
mov eax, dword [esp + 0x60]
mov dword [esp + 0x24], eax
jmp 0x102aa5f4
cmp al, bl
setb bl
mov ecx, edi
test bl, bl
je 0x102ab292
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
mov dword [edi], ebx
mov edi, dword [esp + 0x2c]
add eax, edi
add edi, ecx
mov dword [esp + 0x14], eax
cmp dword [esp + 0x28], edx
jle 0x102aae70
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
add dword [esp + 0x3c], 3
add dword [esp + 0x40], 0xc
mov dword [ecx], eax
mov eax, dword [esp + 0x1278]
add dword [esp + 0x44], 0xc
mov ebx, dword [eax]
test ebx, ebx
jns 0x102aa700
add esp, 0x125c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x20]
jmp 0x102ab261
cmp cl, bl
setb dl
jmp 0x102aae05
cmp bl, al
setb bl
jmp 0x102aaa95
cmp bl, al
setb bl
jmp 0x102ab235
mov eax, dword [eax]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
test eax, eax
js 0x102ab287
mov eax, dword [ebx]
jmp 0x102aa580
lea edx, [eax + 1]
cmp edx, 1
jle 0x102ab1e9
xor eax, eax
cmp edx, 4
jle 0x102aa6a6
xor eax, eax
cmp edx, 0xd
setg al
add eax, 1
jmp 0x102aa6a6
lea eax, [edx + esi]
mov ebx, esi
mov esi, dword [esp + 0x64]
sar eax, 1
add edi, esi
mov esi, dword [esp + 0x54]
mov ecx, dword [esi + eax*4]
mov eax, dword [esi + ebx*4]
lea esi, [esi + edx*4]
add eax, edi
add ecx, edi
movzx ebp, byte [eax]
mov eax, dword [esi]
movzx ecx, byte [ecx]
add eax, edi
mov edx, ebp
movzx eax, byte [eax]
cmp dl, al
jae 0x102ab34a
mov edx, eax
mov eax, ebp
mov ebp, edx
cmp cl, al
mov edx, ebp
mov dword [esp + 0x20], esi
mov ebx, dword [esp + 0x54]
cmovae eax, ecx
cmp cl, dl
mov edx, dword [esp + 0x50]
cmovb ebp, eax
mov dword [esp + 0x2c], edx
mov eax, ebp
mov ebp, edx
movzx eax, al
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], eax
cmp ebp, eax
jg 0x102ab3f4
mov ecx, dword [ebx + ebp*4]
mov esi, dword [esp + 0x28]
movzx edx, byte [edi + ecx]
sub edx, esi
test edx, edx
je 0x102ab425
jle 0x102ab3ed
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x28]
jmp 0x102ab3a8
js 0x102ab3e0
cmp dword [esp + 0x14], eax
jg 0x102ab3d2
mov edx, dword [ebx + eax*4]
mov esi, eax
sub eax, 1
movzx ecx, byte [edi + edx]
cmp ecx, ebp
jne 0x102ab3a0
mov esi, dword [esp + 0x18]
sub dword [esp + 0x18], 1
lea ecx, [ebx + esi*4]
mov esi, dword [ecx]
mov dword [ebx + eax*4 + 4], esi
mov dword [ecx], edx
cmp dword [esp + 0x14], eax
jle 0x102ab3a8
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x20], eax
jmp 0x102ab3fc
mov ebp, dword [esp + 0x14]
mov ecx, dword [ebx + ebp*4]
mov dword [ebx + ebp*4], edx
mov dword [ebx + esi*4], ecx
add ebp, 1
cmp ebp, eax
jle 0x102ab37d
mov esi, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
lea edi, [eax + 1]
cmp dword [esp + 0x2c], edx
jle 0x102ab43d
mov eax, dword [esp + 0x60]
mov dword [esp + eax*4 + 0x4c0], edi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x60], eax
jmp 0x102ab206
mov esi, dword [esp + 0x2c]
add dword [esp + 0x2c], 1
lea edx, [ebx + esi*4]
mov esi, dword [edx]
mov dword [ebx + ebp*4], esi
add ebp, 1
mov dword [edx], ecx
jmp 0x102ab3f0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x50]
mov ecx, ebp
sub ecx, eax
sub eax, edx
cmp ecx, eax
cmovg ecx, eax
mov eax, ebp
sub eax, ecx
test ecx, ecx
jle 0x102ab47c
mov ebx, dword [esp + 0x50]
mov edx, esi
mov esi, dword [esp + 0x54]
add ecx, ebx
sub eax, ebx
lea esi, [esi + ecx*4]
mov ecx, eax
mov eax, dword [edx]
mov ebx, dword [edx + ecx*4]
mov dword [edx], ebx
mov dword [edx + ecx*4], eax
add edx, 4
cmp edx, esi
jne 0x102ab46b
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
mov eax, esi
sub eax, edx
mov edx, ecx
sub edx, esi
mov dword [esp + 0x14], eax
cmp edx, eax
cmovg edx, eax
sub ecx, edx
test edx, edx
jle 0x102ab4c2
mov esi, dword [esp + 0x54]
add edx, ebp
lea eax, [esi + ebp*4]
lea esi, [esi + edx*4]
mov edx, ecx
sub edx, ebp
mov ecx, dword [eax]
mov ebx, dword [eax + edx*4 + 4]
mov dword [eax], ebx
mov dword [eax + edx*4 + 4], ecx
add eax, 4
cmp eax, esi
jne 0x102ab4af
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x2c]
lea eax, [ebx + ebp]
mov ebp, dword [esp + 0x14]
sub eax, esi
lea esi, [eax - 1]
mov edx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], esi
sub esi, ebx
mov ecx, eax
mov ebx, eax
sub ecx, ebp
lea ebp, [ecx + 1]
sub eax, ebp
mov dword [esp + 0x18], eax
cmp esi, eax
jl 0x102ab517
mov eax, esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0x1c]
mov eax, ecx
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ebx
cmp eax, esi
jg 0x102ab549
mov eax, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], eax
mov eax, edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x50], eax
mov dword [esp + 0x28], edi
mov edi, ebx
mov esi, dword [esp + 0x20]
cmp dword [esp + 0x18], esi
jl 0x102ab56d
mov eax, edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x48], eax
mov eax, edx
mov edx, ebp
mov ebp, eax
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x1a0], edx
mov edx, dword [esp + 0x50]
mov dword [esp + eax*4 + 0x330], ecx
mov dword [esp + eax*4 + 0x4c0], edi
mov eax, dword [esp + 0x48]
mov dword [esp + esi*4 + 0x1a0], ebp
mov dword [esp + esi*4 + 0x330], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + esi*4 + 0x4c0], eax
lea eax, [esi + 1]
mov dword [esp + eax*4 + 0x1a0], edx
mov edx, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x330], edx
mov edx, dword [esp + 0x28]
mov dword [esp + eax*4 + 0x4c0], edx
lea eax, [esi + 2]
mov dword [esp + 0x60], eax
jmp 0x102ab206
cmp byte [esp + ebp + 0xa0], 0
mov edi, ebp
jne 0x102ab93a
lea eax, [edi*4]
xor edx, edx
mov dword [esp + 0x1c], eax
add eax, dword [esp + 0x1270]
mov ebp, eax
mov ecx, eax
nop
mov eax, dword [ecx]
add ecx, 0x400
and eax, 0xffdfffff
mov dword [esp + edx*4 + 0xa50], eax
mov eax, dword [ecx - 0x3fc]
and eax, 0xffdfffff
sub eax, 1
mov dword [esp + edx*4 + 0xe50], eax
add edx, 1
cmp edx, 0x100
jne 0x102ab600
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + edi*4 + 0xa50]
mov eax, dword [eax]
mov esi, eax
mov dword [esp + 0x14], eax
and esi, 0xffdfffff
cmp esi, ecx
jge 0x102ab6ac
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x1274]
mov ebx, dword [eax + esi*4]
lea eax, [ebx - 1]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x64]
add edx, eax
test eax, eax
cmovs eax, edx
movzx edx, byte [ebx + eax]
cmp byte [esp + edx + 0xa0], 0
jne 0x102ab848
mov ecx, dword [esp + edx*4 + 0xa50]
add esi, 1
lea ebx, [ecx + 1]
mov dword [esp + edx*4 + 0xa50], ebx
mov edx, dword [esp + 0x54]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + edi*4 + 0xa50]
cmp esi, ecx
jl 0x102ab654
lea eax, [edi + 1]
mov esi, dword [esp + edi*4 + 0xe50]
shl eax, 0xa
add eax, dword [esp + 0x1270]
mov edx, eax
mov eax, dword [eax]
and eax, 0xffdfffff
sub eax, 1
cmp eax, esi
jle 0x102ab738
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x1274]
mov edx, dword [edx + eax*4]
mov dword [esp + 0x20], edx
sub edx, 1
add ebx, edx
test edx, edx
cmovs edx, ebx
mov ebx, dword [esp + 0x64]
movzx ebx, byte [ebx + edx]
cmp byte [esp + ebx + 0xa0], 0
jne 0x102ab838
mov esi, dword [esp + ebx*4 + 0xe50]
sub eax, 1
lea ecx, [esi - 1]
mov dword [esp + ebx*4 + 0xe50], ecx
mov ebx, dword [esp + 0x54]
mov dword [ebx + esi*4], edx
mov esi, dword [esp + edi*4 + 0xe50]
cmp esi, eax
jl 0x102ab6d8
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
lea eax, [ecx - 1]
cmp eax, esi
je 0x102ab760
cmp dword [esp + 0x80], esi
jne 0x102ab74c
test ecx, ecx
je 0x102ab760
mov dword [esp], 0x3ef
mov dword [esp + 0x14], edx
call sym.encryptor_lib.dll_bz_internal_error
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x9c]
add eax, esi
lea esi, [esi]
or dword [ebp], 0x200000
add ebp, 0x400
cmp ebp, eax
jne 0x102ab770
mov esi, dword [esp + 0x7c]
lea eax, [esp + 0xa4c]
mov byte [esp + edi + 0xa0], 1
cmp eax, esi
je 0x102ab287
mov eax, dword [esp + 0x90]
mov eax, dword [eax]
and eax, 0xffdfffff
mov esi, eax
mov eax, dword [edx]
and eax, 0xffdfffff
sub eax, esi
mov edx, eax
cmp eax, 0xfffe
jle 0x102ab9eb
xor ecx, ecx
add ecx, 1
mov eax, edx
sar eax, cl
cmp eax, 0xfffe
jg 0x102ab7c4
mov ebx, ecx
sub edx, 1
mov eax, dword [esp + 0x54]
mov ecx, ebx
lea esi, [eax + esi*4]
mov eax, edx
mov edi, dword [esi + eax*4]
mov ebx, dword [esp + 0x78]
mov ebp, eax
sar ebp, cl
mov word [ebx + edi*2], bp
cmp edi, 0x21
jg 0x102ab801
add edi, dword [esp + 0x1274]
mov word [ebx + edi*2], bp
sub eax, 1
jae 0x102ab7e2
mov eax, edx
sar eax, cl
cmp eax, 0xffff
jg 0x102ab96b
add dword [esp + 0x7c], 4
mov eax, dword [esp + 0x7c]
lea esi, [esp + 0xa50]
cmp esi, eax
jne 0x102aa557
jmp 0x102ab287
sub eax, 1
cmp eax, esi
jg 0x102ab6d8
jmp 0x102ab730
add esi, 1
cmp esi, ecx
jl 0x102ab654
jmp 0x102ab6ac
mov eax, 3
jmp 0x102aa6a6
mov eax, 6
jmp 0x102aa6a6
mov eax, 5
jmp 0x102aa6a6
mov eax, 4
jmp 0x102aa6a6
cmp cl, bl
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x5c]
setb al
test al, al
je 0x102ab1c2
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
jmp 0x102aae0d
cmp cx, bx
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x5c]
setb al
jmp 0x102ab88d
mov eax, esi
cmp al, byte [esp + 0x97]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x68]
setb bl
jmp 0x102ab235
cmp si, ax
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x68]
setb bl
jmp 0x102ab235
mov eax, esi
cmp al, byte [esp + 0x97]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x68]
setb bl
jmp 0x102aaa95
mov eax, 2
jmp 0x102aa6a6
mov eax, 7
jmp 0x102aa6a6
cmp si, ax
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x68]
setb bl
jmp 0x102aaa95
mov eax, 0xa
jmp 0x102aa6a6
mov eax, 9
jmp 0x102aa6a6
mov eax, 8
jmp 0x102aa6a6
mov dword [esp], 0x3ee
call sym.encryptor_lib.dll_bz_internal_error
jmp 0x102ab5e7
mov edi, dword [esp + 0x64]
xor edx, edx
movzx ecx, byte [edi + edx]
mov byte [esi + edx], cl
xor ecx, ecx
mov word [eax + edx*2], cx
add edx, 1
cmp edx, 0x22
jne 0x102ab951
jmp 0x102aa2a8
mov dword [esp], 0x3ea
call sym.encryptor_lib.dll_bz_internal_error
jmp 0x102ab815
cmp cl, al
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x68]
setb bl
jmp 0x102aaa95
cmp cx, ax
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x68]
setb bl
jmp 0x102aaa95
cmp al, cl
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x5c]
setb al
jmp 0x102ab88d
cmp ax, cx
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x5c]
setb al
jmp 0x102ab88d
cmp cl, al
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x68]
setb bl
jmp 0x102ab235
cmp cx, ax
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x68]
setb bl
jmp 0x102ab235
sub edx, 1
js 0x102ab815
xor ebx, ebx
jmp 0x102ab7d7
mov ebx, edx
jmp 0x102aa0ea