Function at 0xb53e1a
Capabilities:
Check for software breakpoints
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x48
push dword [ebp + 8]
call fcn.00b63dac
add esp, 0x10
test eax, eax
je 0xb54e03
push esi
push esi
push 0x2000
push 0x66000
call fcn.00b64974
add esp, 0x10
test eax, eax
mov esi, eax
je 0xb53e55
cmp eax, 0x1f
ja 0xb53e6c
call fcn.00b62d3b
cmp dword [0x33c34], 0
jne 0xb54e03
jmp 0xb54df9
mov dword [ebp - 0x10], 0
jmp 0xb53efb
lea ebx, [edx + 0x66000]
test bl, 3
jne 0xb53ef5
mov ecx, esi
sub ecx, edx
cmp ecx, 0xb
jbe 0xb53ef5
cmp dword [edx + 0x66000], 0x1badb002
jne 0xb53ef5
mov eax, dword [ebx + 8]
add eax, dword [edx + 0x66004]
cmp eax, 0xe4524ffe
jne 0xb53ef5
mov eax, dword [edx + 0x66004]
test eax, 0x10000
je 0xb53eba
cmp ecx, 0x1f
jbe 0xb53ef5
test al, 4
je 0xb53ec3
cmp ecx, 0x2f
jbe 0xb53ef5
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x34], ebx
test word [ebp - 0x34], 0xfff8
jne 0xb53ee1
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x28], 0x29cfa
jmp 0xb53f42
call fcn.00b62d3b
mov dword [0x33c34], 0xa
jmp 0xb54e03
lea eax, [edx + 1]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
cmp edx, esi
jb 0xb53e78
jmp 0xb54e0c
push ebx
push ebx
push 0x29d04
push 0x66008
call fcn.00b60de4
add esp, 0x10
test eax, eax
je 0xb53f2d
cmp dword [ebp + 0x10], 5
jne 0xb5409e
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x28], 0
cmp esi, 0x34
jbe 0xb540b3
cmp byte [0x66006], 1
sete dl
xor eax, eax
cmp byte [0x66005], 1
sete al
and eax, edx
cmp word [0x66010], 2
sete dl
and eax, edx
cmp word [0x66012], 3
sete dl
and eax, edx
cmp dword [0x66014], 1
sete dl
and eax, edx
cmp dword [0x66000], 0x464c457f
sete dl
cmp byte [0x66004], 1
sete cl
and edx, ecx
test eax, edx
je 0xb540b3
cmp dword [ebp - 0x38], 1
jne 0xb53fb7
mov eax, dword [0x66018]
jmp 0xb53fc1
mov eax, dword [0x66018]
and eax, 0xffffff
mov dword [0x40994], eax
cmp dword [0x40994], 0xfffff
ja 0xb53fdc
mov dword [0x33c34], 7
mov ecx, dword [0x6601c]
test ecx, ecx
je 0xb54003
mov eax, dword [0x6602c]
test ax, ax
je 0xb54003
movzx edx, word [0x6602a]
movzx eax, ax
imul eax, edx
add eax, ecx
cmp eax, esi
jb 0xb5400d
mov dword [0x33c34], 0xd
cmp dword [ebp - 0x38], 0
je 0xb54036
xor ebx, ebx
xor esi, esi
mov edx, 0x29d0c
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
jmp 0xb547a0
cmp dword [ebp + 0x10], 5
jne 0xb5406d
xor ebx, ebx
xor esi, esi
mov edx, 0x29d0c
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x38], 5
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0x29d10
jmp 0xb547a0
xor ebx, ebx
xor esi, esi
mov edx, 0x29d0c
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x38], 4
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0x29d04
jmp 0xb547a0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x28], 0
test dword [ebp - 0x34], 0x10000
je 0xb54164
mov edx, dword [ebp - 0x10]
add edx, 0x66000
mov eax, dword [edx + 0x1c]
mov esi, dword [edx + 0x10]
mov dword [0x40994], eax
mov eax, esi
sub eax, dword [edx + 0xc]
add eax, dword [ebp - 0x10]
cmp dword [edx + 0x14], 0
mov dword [0x33268], esi
mov dword [0x40c48], eax
jne 0xb540f7
mov eax, dword [0x40c08]
add eax, esi
mov dword [edx + 0x14], eax
cmp dword [edx + 0x18], 0
mov eax, dword [edx + 0x14]
jne 0xb54103
mov dword [edx + 0x18], eax
mov ecx, dword [edx + 0xc]
mov edi, dword [edx + 0x18]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0x10]
cmp ecx, edx
jb 0xb54122
cmp ebx, edx
jbe 0xb54122
cmp edi, ebx
jb 0xb54122
sub ecx, edx
cmp ecx, dword [ebp - 0x10]
jbe 0xb5412c
mov dword [0x33c34], 0xd
cmp esi, 0xfffff
ja 0xb5413e
mov dword [0x33c34], 7
sub eax, esi
mov esi, edi
sub esi, ebx
mov edx, 0x29d17
mov ebx, 2
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x2c], 0
jmp 0xb547a0
cmp esi, 0x20
je 0xb542bc
mov ecx, dword [0x66000]
movzx edx, cx
lea eax, [edx - 0x107]
cmp eax, 1
jbe 0xb541c6
cmp edx, 0x10b
je 0xb541c6
cmp edx, 0xcc
je 0xb541c6
shr ecx, 8
mov eax, ecx
mov edx, ecx
and eax, 0xff00
shr edx, 0x10
or edx, eax
cmp edx, 0x107
je 0xb541c6
cmp edx, 0x108
je 0xb541c6
cmp edx, 0x10b
je 0xb541c6
cmp edx, 0xcc
jne 0xb542bc
mov eax, dword [0x66014]
cmp dword [ebp - 0x38], 0
mov dword [ebp - 0x40], 1
mov dword [0x40994], eax
jne 0xb54241
and eax, 0xffffff
cmp byte [0x66000], 0xb
mov dword [0x40994], eax
jne 0xb5420e
cmp byte [0x66001], 1
jne 0xb5420e
mov dword [0x33268], eax
mov dword [ebp - 0x38], 4
mov dword [ebp - 0x28], 0x29d04
jmp 0xb54241
and eax, 0xf00000
cmp word [0x66000], 0x108
mov dword [0x33268], eax
je 0xb5422c
mov dword [ebp - 0x40], 0
jmp 0xb54233
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x38], 5
mov dword [ebp - 0x28], 0x29d10
mov edx, dword [0x66000]
mov ecx, 0x1000
movzx eax, dx
cmp eax, 0x10b
je 0xb5427a
cmp eax, 0xcc
je 0xb54278
shr edx, 8
mov cx, 0x20
mov eax, edx
and eax, 0xff00
shr edx, 0x10
or edx, eax
cmp edx, 0x10b
jne 0xb5427a
xor ecx, ecx
mov eax, dword [0x66004]
mov edx, dword [0x66008]
cmp dword [0x33268], 0xfffff
mov dword [0x40c48], ecx
mov esi, dword [0x6600c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
ja 0xb542ad
mov dword [0x33c34], 7
mov ebx, 1
mov edx, 0x29d1e
jmp 0xb547a0
cmp word [0x661fe], 0xaa55
jne 0xb5477b
mov cl, byte [0x661f1]
cmp cl, 0x40
ja 0xb5477b
cmp dword [0x66202], 0x53726448
jne 0xb54385
mov bx, word [0x66206]
cmp bx, 0x1ff
jbe 0xb54385
mov eax, dword [0x40ae0]
mov edi, 1
mov dl, byte [0x66211]
mov byte [0x66210], 0x71
shl eax, 0xa
sub eax, 0x9100
and edi, edx
cmp eax, 0x90000
mov dword [0xba61], eax
jbe 0xb54333
mov dword [0xba61], 0x90000
cmp bx, 0x200
jbe 0xb5434c
or edx, 0xffffff80
mov word [0x66224], 0x8e00
mov byte [0x66211], dl
cmp word [0x66206], 0x201
jbe 0xb54368
mov eax, dword [0xba61]
add eax, 0x9000
mov dword [0x66228], eax
jmp 0xb543aa
mov word [0x66020], 0xa33f
mov word [0x66022], 0x9000
mov word [0x66212], 0x9100
jmp 0xb543aa
mov ebx, 4
xor edi, edi
mov word [0x66020], 0xa33f
mov word [0x66022], 0x9000
mov dword [0xba61], 0x90000
jmp 0xb543b6
test cl, cl
mov ebx, 4
je 0xb543b6
movzx ebx, cl
mov eax, ebx
shl eax, 9
mov dword [ebp - 0x2c], eax
mov eax, dword [0x40c08]
sub eax, dword [ebp - 0x2c]
lea edx, [eax - 0x200]
add eax, 0xffe00
test edi, edi
mov dword [ebp - 0x30], edx
mov dword [0xba5d], eax
jne 0xb54417
mov eax, dword [0xba61]
sub eax, 0x10000
cmp edx, eax
jbe 0xb54417
sub esp, 0xc
xor ebx, ebx
push 0x29d24
xor esi, esi
call fcn.00b610d9
xor edx, edx
add esp, 0x10
mov dword [0x33c34], 0x1c
mov dword [ebp - 0x40], 1
jmp 0xb547a0
mov edx, dword [0xba61]
mov eax, dword [0x40ae0]
add edx, 0x9100
shl eax, 0xa
cmp edx, eax
jbe 0xb5443e
mov dword [0x33c34], 0x1c
jmp 0xb54739
cmp dword [0x32624], 0
jle 0xb54469
test edi, edi
mov eax, 0x29d58
jne 0xb54455
mov eax, 0x29d59
push dword [ebp - 0x30]
push dword [ebp - 0x2c]
push eax
push 0x29d60
call fcn.00b610d9
add esp, 0x10
push ecx
push ecx
push 0x29d86
push dword [ebp + 0xc]
call fcn.00b6158a
add esp, 0x10
test eax, eax
je 0xb5450a
push edx
add eax, 4
push 0
push eax
push 0x29d8b
mov dword [ebp - 0x18], eax
call fcn.00b618a2
add esp, 0x10
test eax, eax
jg 0xb544a7
mov dword [ebp - 0x14], 0xffff
jmp 0xb54501
push eax
push 0
push dword [ebp - 0x18]
push 0x29f51
call fcn.00b618a2
add esp, 0x10
test eax, eax
jg 0xb544c7
mov dword [ebp - 0x14], 0xfffe
jmp 0xb54501
push eax
push 0
push dword [ebp - 0x18]
push 0x29d92
call fcn.00b618a2
add esp, 0x10
test eax, eax
jg 0xb544e7
mov dword [ebp - 0x14], 0xfffd
jmp 0xb54501
push eax
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00b618f4
add esp, 0x10
test eax, eax
je 0xb547a9
mov eax, dword [ebp - 0x14]
mov word [0x661fa], ax
push eax
push eax
push 0x2ad87
push dword [ebp + 0xc]
call fcn.00b6158a
add esp, 0x10
test eax, eax
je 0xb545ca
push esi
add eax, 4
push esi
push 0x3389c
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00b618f4
mov eax, dword [0x33c34]
add esp, 0x10
test eax, eax
je 0xb54557
cmp eax, 0x23
jne 0xb545b4
mov dword [0x3389c], 0x38000000
jmp 0xb545be
mov eax, dword [ebp - 0x18]
sub esp, 0xc
movsx eax, byte [eax]
push eax
call fcn.00b60d32
add esp, 0x10
cmp eax, 0x6b
je 0xb5457c
cmp eax, 0x6d
je 0xb54587
xor ecx, ecx
cmp eax, 0x67
jne 0xb5458f
jmp 0xb54580
xor eax, eax
jmp 0xb5458c
mov eax, 0xa
jmp 0xb54589
xor eax, eax
add eax, 0xa
lea ecx, [eax + 0xa]
mov edx, dword [0x3389c]
or eax, 0xffffffff
shr eax, cl
cmp edx, eax
jbe 0xb545aa
mov dword [0x3389c], 0x38000000
jmp 0xb545d4
shl edx, cl
mov dword [0x3389c], edx
jmp 0xb545d4
mov dword [0x3389c], 0
mov dword [0x33c34], 0
jmp 0xb545d4
mov dword [0x3389c], 0
mov esi, dword [ebp - 0x2c]
mov eax, dword [0xba5d]
add esi, 0x200
cmp esi, 0x2000
ja 0xb545f9
push ecx
push esi
push 0x66000
push eax
call fcn.00b61649
jmp 0xb54627
push edx
push 0x2000
push 0x66000
push eax
call fcn.00b61649
mov eax, dword [ebp - 0x2c]
mov edx, dword [0xba5d]
pop ecx
pop ecx
sub eax, 0x1e00
add edx, 0x2000
push eax
push edx
call fcn.00b64974
add esp, 0x10
cmp dword [0x66202], 0x53726448
jne 0xb54641
cmp word [0x66206], 0x1ff
ja 0xb54664
mov edx, 0x3f
sub edx, ebx
lea eax, [ebx + 1]
push ecx
shl edx, 9
shl eax, 9
add eax, dword [0xba5d]
push edx
push 0
push eax
call fcn.00b617b6
add esp, 0x10
push eax
push eax
push dword [ebp + 0xc]
push 0
call fcn.00b61f98
mov ebx, dword [0xba5d]
add esp, 0x10
add ebx, 0x9000
mov edx, eax
jmp 0xb54687
mov byte [ebx], al
inc edx
inc ebx
mov eax, dword [0xba5d]
add eax, 0x90ff
cmp ebx, eax
jae 0xb5469b
mov al, byte [edx]
test al, al
jne 0xb54683
push eax
push eax
push 0x2ad87
push dword [ebp + 0xc]
call fcn.00b6158a
add esp, 0x10
test eax, eax
jne 0xb54706
test byte [ebp + 0x14], 1
jne 0xb54706
cmp word [0x66206], 0x202
ja 0xb54706
mov eax, dword [0xba5d]
lea edx, [ebx + 0xf]
add eax, 0x90ff
cmp edx, eax
jae 0xb54706
mov byte [ebx], 0x20
lea edx, [ebx + 5]
mov byte [ebx + 1], 0x6d
mov byte [ebx + 2], 0x65
mov byte [ebx + 3], 0x6d
mov byte [ebx + 4], 0x3d
mov eax, dword [0x40af0]
push ecx
add eax, 0x400
push eax
push 0x75
push edx
call fcn.00b60c80
add esp, 0x10
mov byte [eax], 0x4b
lea ebx, [eax + 1]
mov byte [ebx], 0
mov eax, dword [0xba5d]
push edx
push edx
push dword [ebp - 0x30]
add eax, 0x9100
mov dword [0x40c48], esi
mov dword [0x33268], eax
push 0x100000
call fcn.00b64974
add esp, 0x10
cmp dword [0x33c34], 0
je 0xb54744
xor ebx, ebx
mov dword [ebp - 0x40], 1
jmp 0xb5479c
call fcn.00b62d3b
cmp dword [ebp + 0x10], 0
je 0xb54763
test edi, edi
je 0xb54759
cmp dword [ebp + 0x10], 3
jmp 0xb5475d
cmp dword [ebp + 0x10], 2
jne 0xb54df9
mov eax, dword [ebp - 0x30]
cmp edi, 1
sbb edx, edx
add edx, 3
mov dword [ebp - 0x38], edx
mov dword [0xba59], eax
jmp 0xb54e1e
mov dword [0x33c34], 0xd
xor ebx, ebx
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
xor esi, esi
xor edx, edx
cmp dword [0x33c34], 0
je 0xb547b3
call fcn.00b62d3b
jmp 0xb54e03
mov eax, dword [ebp + 0xc]
and dword [0x40a88], 0xffffffc7
mov dword [0x40a9c], 0
mov dword [0x40a98], eax
mov eax, dword [0x33010]
mov dword [0x40aa0], 0
mov dword [0x40aa4], 0
mov dword [0x40aa8], 0
shl eax, 0x18
or eax, dword [0x40d34]
cmp dword [0x32624], 0
mov dword [0x40aac], 0
mov dword [0x40a94], eax
mov dword [0x40ab0], 0
jle 0xb5482c
push eax
push edx
push dword [ebp - 0x28]
push 0x29d96
call fcn.00b610d9
add esp, 0x10
test ebx, ebx
je 0xb54abe
mov ebx, dword [ebp - 0x34]
and ebx, 0x10000
je 0xb54846
mov eax, 0x29da0
jmp 0xb5484b
mov eax, 0x2b715
cmp dword [0x32624], 0
jle 0xb5486b
push dword [ebp - 0x30]
push eax
push dword [0x33268]
push 0x29daa
call fcn.00b610d9
add esp, 0x10
push eax
push eax
push dword [ebp - 0x30]
push dword [0x33268]
call fcn.00b64974
add esp, 0x10
cmp eax, dword [ebp - 0x30]
jne 0xb54951
add eax, dword [0x33268]
test ebx, ebx
mov dword [0x33268], eax
jne 0xb54915
cmp dword [ebp - 0x40], 0
je 0xb548ad
add eax, 0xfff
and eax, 0xfffff000
mov dword [0x33268], eax
jmp 0xb548c6
cmp dword [0x32624], 0
jle 0xb548c6
sub esp, 0xc
push 0x29dc7
call fcn.00b610d9
add esp, 0x10
cmp dword [0x32624], 0
jle 0xb548e1
push eax
push eax
push dword [ebp - 0x2c]
push 0x29dcb
call fcn.00b610d9
add esp, 0x10
push eax
push eax
push dword [ebp - 0x2c]
push dword [0x33268]
call fcn.00b64974
add esp, 0x10
cmp eax, dword [ebp - 0x2c]
je 0xb5490c
cmp dword [0x33c34], 0
jne 0xb5490c
mov dword [0x33c34], 0xd
mov edx, dword [ebp - 0x2c]
add dword [0x33268], edx
cmp dword [0x33c34], 0
jne 0xb54964
push eax
push esi
push 0
push dword [0x33268]
call fcn.00b617b6
add esp, 0x10
add dword [0x33268], esi
cmp dword [0x32624], 0
jle 0xb54964
push eax
push eax
push esi
push 0x29dd7
call fcn.00b610d9
add esp, 0x10
jmp 0xb54964
cmp dword [0x33c34], 0
jne 0xb54964
mov dword [0x33c34], 0xd
cmp dword [0x33c34], 0
jne 0xb54d93
mov edx, dword [0x66010]
test edx, edx
je 0xb54d93
mov eax, dword [0x40c08]
sub eax, dword [0x40c48]
cmp edx, eax
jae 0xb54d93
cmp dword [ebp - 0x40], 0
mov ebx, dword [0x33268]
je 0xb549ae
lea eax, [ebx + 0xfff]
and eax, 0xfffff000
mov dword [0x33268], eax
mov eax, dword [0x33268]
mov dword [0x40aac], eax
mov dword [eax], edx
add eax, 4
cmp dword [0x32624], 0
mov dword [0x33268], eax
jle 0xb549db
push edi
push edi
push edx
push 0x29de2
call fcn.00b610d9
add esp, 0x10
push esi
push esi
push dword [0x66010]
push dword [0x33268]
call fcn.00b64974
add esp, 0x10
cmp eax, dword [0x66010]
jne 0xb54a70
push ecx
push ecx
add dword [0x33268], eax
push 4
mov dword [0x40aa4], eax
lea eax, [ebp - 0x10]
push eax
call fcn.00b64974
add esp, 0x10
cmp eax, 4
jne 0xb54a70
mov edx, dword [ebp - 0x10]
mov eax, dword [0x33268]
mov dword [eax], edx
add eax, 4
cmp dword [0x32624], 0
mov dword [0x33268], eax
lea eax, [edx - 4]
mov dword [0x40aa8], edx
mov dword [ebp - 0x10], eax
jle 0xb54a50
push edx
push edx
push eax
push 0x29df0
call fcn.00b610d9
add esp, 0x10
push eax
push eax
push dword [ebp - 0x10]
push dword [0x33268]
call fcn.00b64974
mov edx, dword [ebp - 0x10]
add esp, 0x10
add dword [0x33268], edx
cmp eax, edx
je 0xb54ab2
cmp dword [0x32624], 0
jle 0xb54a89
sub esp, 0xc
push 0x29dfe
call fcn.00b610d9
add esp, 0x10
mov dword [0x33268], ebx
mov dword [0x40aa4], 0
mov dword [0x40aa8], 0
mov dword [0x40aac], 0
jmp 0xb54d93
or dword [0x40a88], 0x10
jmp 0xb54d93
mov eax, dword [ebp - 0x38]
mov dword [0x33268], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x3c], 0
sub eax, 4
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x44], eax
jmp 0xb54bd6
movzx eax, word [0x6602a]
mov edx, dword [0x6601c]
imul eax, ecx
add edx, 0x66000
add edx, eax
cmp dword [edx], 1
jne 0xb54bd3
mov eax, dword [edx + 4]
cmp dword [ebp - 0x44], 1
mov dword [0x40c48], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x20], eax
ja 0xb54b2b
mov esi, dword [edx + 0xc]
and esi, 0xffffff
jmp 0xb54b2e
mov esi, dword [edx + 0xc]
cmp esi, 0xfffff
mov ebx, dword [edx + 0x14]
ja 0xb54b43
mov dword [0x33c34], 7
cmp dword [ebp - 0x38], 1
jne 0xb54b64
mov ecx, dword [0x40994]
mov edx, dword [edx + 8]
cmp ecx, edx
jb 0xb54b64
lea eax, [edx + ebx]
cmp ecx, eax
jae 0xb54b64
sub ecx, edx
add ecx, esi
mov dword [ebp - 0x3c], ecx
cmp ebx, dword [ebp - 0x20]
mov edi, ebx
jbe 0xb54b6e
mov edi, dword [ebp - 0x20]
lea eax, [esi + ebx]
cmp dword [0x33268], eax
jae 0xb54b7e
mov dword [0x33268], eax
cmp dword [0x32624], 0
jle 0xb54b9b
mov eax, ebx
sub eax, edi
push eax
push edi
push esi
push 0x29e04
call fcn.00b610d9
add esp, 0x10
push eax
push eax
push ebx
push esi
inc dword [ebp - 0x24]
call fcn.00b615d4
add esp, 0x10
test eax, eax
je 0xb54be8
push eax
push eax
push edi
push esi
call fcn.00b64974
add esp, 0x10
cmp eax, edi
jne 0xb54be8
cmp ebx, eax
jbe 0xb54bd3
sub ebx, eax
add eax, esi
push edi
push ebx
push 0
push eax
call fcn.00b617b6
add esp, 0x10
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx eax, word [0x6602c]
cmp ecx, eax
jb 0xb54aeb
cmp dword [0x33c34], 0
jne 0xb54d9a
cmp dword [ebp - 0x24], 0
jne 0xb54c0a
mov dword [0x33c34], 0xd
jmp 0xb54d9a
movzx ecx, word [0x66030]
movzx edx, word [0x6602e]
movzx eax, word [0x66032]
cmp dword [ebp - 0x40], 0
mov dword [0x40aa4], ecx
mov dword [0x40aa8], edx
mov dword [0x40ab0], eax
je 0xb54c4a
mov eax, dword [0x33268]
add eax, 0xfff
and eax, 0xfffff000
mov dword [0x33268], eax
mov ebx, ecx
mov eax, dword [0x66020]
imul ebx, edx
push esi
push esi
push ebx
push dword [0x33268]
mov dword [0x40c48], eax
call fcn.00b64974
add esp, 0x10
cmp eax, ebx
jne 0xb54d28
mov esi, dword [0x33268]
add eax, esi
cmp dword [0x32624], 0
mov dword [0x40aac], esi
mov dword [0x33268], eax
jle 0xb54c9e
push ebx
push ebx
push eax
push 0x29e17
call fcn.00b610d9
add esp, 0x10
mov dword [ebp - 0x10], 0
jmp 0xb54d19
imul ebx, eax, 0x28
lea ecx, [esi + ebx]
cmp dword [ecx + 0xc], 0
jne 0xb54d16
cmp dword [ecx + 0x14], 0
je 0xb54d16
mov eax, dword [ecx + 0x20]
mov ebx, dword [ebx + esi + 0x14]
mov edx, eax
add eax, dword [0x33268]
neg edx
and edx, eax
mov eax, dword [ecx + 0x10]
push ecx
push ecx
push ebx
push edx
mov dword [0x33268], edx
mov dword [0x40c48], eax
call fcn.00b615d4
add esp, 0x10
test eax, eax
je 0xb54d28
push edx
push edx
push ebx
push dword [0x33268]
call fcn.00b64974
add esp, 0x10
cmp eax, ebx
mov ecx, eax
jne 0xb54d28
mov eax, dword [0x33268]
imul edx, dword [ebp - 0x10], 0x28
mov dword [edx + esi + 0xc], eax
lea eax, [ecx + eax]
mov dword [0x33268], eax
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [0x40aa4]
jb 0xb54ca7
xor eax, eax
jmp 0xb54d2d
mov eax, 1
cmp dword [0x40aac], 0xffff
jbe 0xb54d3d
test eax, eax
je 0xb54d8a
cmp dword [0x32624], 0
jle 0xb54d56
sub esp, 0xc
push 0x29dfe
call fcn.00b610d9
add esp, 0x10
mov dword [0x40aa4], 0
mov dword [0x40aa8], 0
mov dword [0x40aac], 0
mov dword [0x40ab0], 0
mov dword [0x33268], 0
jmp 0xb54d9a
or dword [0x40a88], 0x20
jmp 0xb54d9a
mov dword [ebp - 0x3c], 0
cmp dword [0x33c34], 0
jne 0xb54dd2
cmp dword [0x32624], 0
jle 0xb54dc1
push eax
push eax
push dword [0x40994]
push 0x29e24
call fcn.00b610d9
add esp, 0x10
cmp dword [ebp - 0x3c], 0
je 0xb54de6
mov edx, dword [ebp - 0x3c]
mov dword [0x40994], edx
jmp 0xb54de6
sub esp, 0xc
push 0xa
call fcn.00b60e2e
add esp, 0x10
mov dword [ebp - 0x38], 0
call fcn.00b62d3b
cmp dword [ebp + 0x10], 0
je 0xb54e1e
mov eax, dword [ebp - 0x38]
cmp dword [ebp + 0x10], eax
je 0xb54e1e
mov dword [0x33c34], 0xd
mov dword [ebp - 0x38], 0
jmp 0xb54e1e
cmp byte [0x66007], 9
jne 0xb53f0b
jmp 0xb53f2d
mov eax, dword [ebp - 0x38]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret