Function at 0xbc6770
Capabilities:
Check http status code
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xbc
mov esi, dword [ebp + 8]
mov dword [ebp - 0x18], 0xffffffff
lea edi, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xffffffff
lea ebx, [ebp - 0x14]
mov dword [ebp - 0x20], 0xffffffff
mov dword [0x409ac], 0xffffffff
mov dword [0x33be4], 0
mov dword [0x33be0], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x78], 0
push eax
push 8
push 0x2a692
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6ba4
call fcn.00bc177f
push edi
push edi
push dword [0x9c2e]
push 0x2ab67
call fcn.00bcbda1
mov eax, dword [0x33c28]
add esp, 0x10
cmp eax, 0xffffffff
je 0xbc6848
push dword [0x33c2c]
push eax
push dword [0x40a80]
push 0x2ab85
call fcn.00bcbda1
add esp, 0x10
sub esp, 0xc
push 1
call fcn.00bba53f
add esp, 0x10
test eax, eax
je 0xbc688f
sub esp, 0x18
mov eax, esp
sub esp, 0xc
push 0x18
push 0x8a4c
push eax
call fcn.00bcc311
add esp, 0x18
call fcn.00bbfaf4
add esp, 0x18
test eax, eax
je 0xbc688f
sub esp, 0xc
push 0x2abb2
call fcn.00bcbda1
jmp 0xbc6c56
sub esp, 0xc
push 0x2abf3
call fcn.00bcbda1
mov dword [esp], 1
call fcn.00bba53f
add esp, 0x10
test eax, eax
jne 0xbc6a27
mov dword [0x40c30], 0
jmp 0xbc6a19
imul eax, eax, 0x18
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
add eax, 0x8b50
push eax
push edx
call fcn.00bcc311
add esp, 0x18
call fcn.00bbfaf4
add esp, 0x18
test eax, eax
jne 0xbc6a27
xor ebx, ebx
imul eax, dword [0x40c30], 0x18
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
add eax, 0x8b50
push eax
push edx
call fcn.00bcc311
imul eax, ebx, 0x18
mov edx, esp
push esi
push 0x18
add eax, 0x8a4c
push eax
push edx
call fcn.00bcc311
add esp, 0x10
call fcn.00bc2d00
add esp, 0x30
test eax, eax
jne 0xbc6936
inc ebx
cmp ebx, 8
jne 0xbc68f0
mov edx, dword [0x40c30]
imul eax, edx, 0x18
mov cl, byte [eax + 0x8b53]
test cl, cl
mov byte [ebp - 0xa1], cl
jns 0xbc6966
movzx eax, byte [eax + 0x8b57]
and eax, 0x40
cmp eax, 1
sbb ecx, ecx
and ecx, 0xc
add ecx, 0x46
jmp 0xbc697b
movzx eax, byte [eax + 0x8b57]
and eax, 0x40
cmp eax, 1
sbb ecx, ecx
and ecx, 2
add ecx, 0x53
cmp ebx, 7
setg al
imul ebx, edx, 0x18
movzx esi, al
add esi, 0x3d
mov eax, 0x43
movzx edi, word [ebx + 0x8b54]
test edi, 0x4000
jne 0xbc69b6
mov bl, byte [ebx + 0x8b51]
mov al, 0x46
test bl, bl
jns 0xbc69b6
xor eax, eax
cmp bl, 0xff
sete al
lea eax, [eax + eax*4 + 0x48]
imul edx, edx, 0x18
push ebx
push ecx
push esi
push eax
movzx eax, byte [edx + 0x8b57]
push dword [edx + 0x8b64]
push dword [edx + 0x8b60]
push dword [edx + 0x8b5c]
push dword [edx + 0x8b58]
push eax
movzx eax, byte [edx + 0x8b56]
push eax
movzx eax, byte [ebp - 0xa1]
push edi
push eax
movzx eax, byte [edx + 0x8b52]
push eax
movzx eax, byte [edx + 0x8b51]
push eax
movzx eax, byte [edx + 0x8b50]
push eax
push 0x2ac73
call fcn.00bcbda1
add esp, 0x40
inc dword [0x40c30]
mov eax, dword [0x40c30]
cmp eax, 7
jbe 0xbc68c2
mov dword [0x40c30], 0
jmp 0xbc6b91
imul eax, eax, 0x18
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
add eax, 0x8a4c
push eax
push edx
call fcn.00bcc311
add esp, 0x18
call fcn.00bbfaf4
add esp, 0x18
test eax, eax
jne 0xbc8d42
sub esp, 0xc
push 1
call fcn.00bba53f
add esp, 0x10
test eax, eax
jne 0xbc6abf
xor ebx, ebx
imul eax, dword [0x40c30], 0x18
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
add eax, 0x8a4c
push eax
push edx
call fcn.00bcc311
imul eax, ebx, 0x18
mov edx, esp
push esi
push 0x18
add eax, 0x8b50
push eax
push edx
call fcn.00bcc311
add esp, 0x10
call fcn.00bc2d00
add esp, 0x30
test eax, eax
jne 0xbc6b8b
inc ebx
cmp ebx, 8
jne 0xbc6a75
mov edx, dword [0x40c30]
imul eax, edx, 0x18
movzx edi, byte [eax + 0x8a4f]
mov ebx, edi
test bl, bl
jns 0xbc6aec
movzx eax, byte [eax + 0x8a53]
and eax, 0x40
cmp eax, 1
sbb ecx, ecx
and ecx, 0xc
add ecx, 0x46
jmp 0xbc6b01
movzx eax, byte [eax + 0x8a53]
and eax, 0x40
cmp eax, 1
sbb ecx, ecx
and ecx, 2
add ecx, 0x53
imul ebx, edx, 0x18
mov eax, 0x43
movzx esi, word [ebx + 0x8a50]
test esi, 0x4000
jne 0xbc6b30
mov bl, byte [ebx + 0x8a4d]
mov al, 0x46
test bl, bl
jns 0xbc6b30
xor eax, eax
cmp bl, 0xff
sete al
lea eax, [eax + eax*4 + 0x48]
imul edx, edx, 0x18
push ebx
push ebx
push ecx
mov ecx, edi
push eax
movzx eax, byte [edx + 0x8a53]
push dword [edx + 0x8a60]
push dword [edx + 0x8a5c]
push dword [edx + 0x8a58]
push dword [edx + 0x8a54]
push eax
movzx eax, byte [edx + 0x8a52]
push eax
movzx eax, cl
push esi
push eax
movzx eax, byte [edx + 0x8a4e]
push eax
movzx eax, byte [edx + 0x8a4d]
push eax
movzx eax, byte [edx + 0x8a4c]
push eax
push 0x2acb2
call fcn.00bcbda1
add esp, 0x40
inc dword [0x40c30]
mov eax, dword [0x40c30]
cmp eax, 7
jbe 0xbc6a36
jmp 0xbc8d42
push eax
push 6
push 0x2acf0
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
je 0xbc6bef
push eax
push 8
push 0x2acf7
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6bda
sub esp, 0xc
push 0
call fcn.00bba53f
jmp 0xbc6c42
push ecx
push 8
push 0x2ad00
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6c60
sub esp, 0xc
push 0
call fcn.00bba53f
sub esp, 0x18
mov eax, esp
sub esp, 0xc
push 0x18
push 0x8a4c
push eax
call fcn.00bcc311
add esp, 0x18
call fcn.00bbfaf4
add esp, 0x28
test eax, eax
je 0xbc6c35
cmp dword [0x9c2e], 0
jne 0xbc6c35
mov dword [0x33c34], 0x3d
jmp 0xbc6d6e
sub esp, 0xc
push 0x8a4c
call fcn.00bba4d6
mov dword [0x33018], 0xffffffff
mov dword [0x3301c], 0xffffffff
mov eax, 1
jmp 0xbc75ab
push edx
push 0xb
push 0x2ad09
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6cda
lea eax, [esi + 0xb]
mov dword [ebp - 0x14], eax
push eax
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00bcc5bc
add esp, 0x10
test eax, eax
je 0xbc6d6e
mov eax, dword [ebp - 0x24]
cmp eax, 2
jbe 0xbc6cac
mov dword [0x33c34], 0x30
jmp 0xbc6d6e
mov dl, byte [0x410]
and edx, 0x3e
test eax, eax
mov byte [0x410], dl
je 0xbc8d42
dec eax
setne al
dec eax
and eax, 0xffffffc0
add eax, 0x41
or eax, edx
mov byte [0x410], al
jmp 0xbc8d42
push eax
push 0xd
push 0x2ad15
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6d29
lea eax, [esi + 0xd]
mov dword [ebp - 0x14], eax
push eax
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00bcc5bc
add esp, 0x10
test eax, eax
je 0xbc6d6e
mov eax, dword [ebp - 0x24]
cmp eax, 0x7f
jbe 0xbc6d1f
mov dword [0x33c34], 0x31
jmp 0xbc6d6e
mov byte [0x475], al
jmp 0xbc8d42
push eax
push 0xc
push 0x2ad23
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6d7f
lea eax, [esi + 0xc]
mov dword [ebp - 0x14], eax
push eax
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00bcc5bc
add esp, 0x10
test eax, eax
je 0xbc6d6e
mov eax, dword [ebp - 0x24]
cmp eax, 0xfe
jbe 0xbc6d75
mov dword [0x33c34], 0x38
xor eax, eax
jmp 0xbc8d57
mov dword [0x40a80], eax
jmp 0xbc8d42
push eax
push 0xa
push 0x2ad30
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6dbd
lea eax, [esi + 0xa]
push ecx
push ecx
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00bcc5bc
add esp, 0x10
test eax, eax
je 0xbc6d6e
mov eax, dword [ebp - 0x24]
mov dword [0x33c28], eax
jmp 0xbc8d42
push edx
push 0xa
push 0x2ad3b
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6dfb
lea eax, [esi + 0xa]
mov dword [ebp - 0x14], eax
push eax
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00bcc5bc
add esp, 0x10
test eax, eax
je 0xbc6d6e
mov eax, dword [ebp - 0x24]
mov dword [0x33c2c], eax
jmp 0xbc8d42
push eax
push 0xe
push 0x2ad46
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6e1f
lea eax, [esi + 0xe]
mov dword [ebp - 0x14], eax
push eax
push eax
push 0x9c3a
jmp 0xbc6e89
push eax
push 0xe
push 0x2ad55
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6e43
lea eax, [esi + 0xe]
mov dword [ebp - 0x14], eax
push eax
push eax
push 0x9c3e
jmp 0xbc6e89
push eax
push 0x10
push 0x2ad64
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6e67
push ecx
push ecx
lea eax, [esi + 0x10]
push 0x8c47
mov dword [ebp - 0x14], eax
jmp 0xbc6e89
push edx
push 0xf
push 0x2ad75
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6ea2
lea eax, [esi + 0xf]
mov dword [ebp - 0x14], eax
push eax
push eax
push 0x8c4b
lea eax, [ebp - 0x14]
push eax
call fcn.00bcc5bc
add esp, 0x10
test eax, eax
setne al
movzx eax, al
jmp 0xbc8d57
push eax
push 6
push 0x2ad85
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6eea
lea eax, [esi + 6]
mov dword [ebp - 0x14], eax
push eax
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
call fcn.00bcc5bc
add esp, 0x10
test eax, eax
je 0xbc6d6e
cmp dword [ebp - 0x18], 0xffffffff
jne 0xbc711c
mov dword [ebp - 0x18], 0xfffffffe
jmp 0xbc711c
push eax
push 5
push 0x2ad8c
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6f0b
mov dword [ebp - 0x18], 0
jmp 0xbc711c
push eax
push 0xb
push 0x2ad92
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6f40
mov eax, dword [ebp - 0x90]
or dword [ebp - 0x8c], eax
mov edx, dword [ebp - 0x8c]
or edx, dword [ebp - 0x94]
je 0xbc7108
jmp 0xbc6fb5
push eax
push 0xc
push 0x2ad9e
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6f88
mov ecx, dword [ebp - 0x8c]
or dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x90]
or eax, dword [ebp - 0x94]
jne 0xbc6fb5
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x90], 1
jmp 0xbc711c
push ecx
push 0xd
push 0x2adab
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6fc4
cmp dword [ebp - 0x8c], 0
jne 0xbc6fb5
mov dword [ebp - 0x8c], 1
jmp 0xbc711c
mov dword [0x33c34], 0x44
jmp 0xbc6d6e
push edx
push 0x12
push 0x2adb9
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc6fe8
mov dword [ebp - 0x84], 1
jmp 0xbc711c
push eax
push 0x12
push 0x2adcc
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc700c
mov dword [ebp - 0x88], 1
jmp 0xbc711c
push eax
push 0xa
push 0x2addf
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc702d
mov dword [ebp - 0x78], 2
jmp 0xbc711c
push eax
push 9
push 0x2adea
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc704e
mov dword [ebp - 0x78], 1
jmp 0xbc711c
push eax
push 8
push 0x2adf4
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc706d
lea eax, [esi + 8]
mov dword [ebp - 0x14], eax
push eax
push eax
jmp 0xbc7097
push eax
push 0x15
push 0x2adfd
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc70c4
sub esp, 0xc
push 0x2ae13
call fcn.00bcbda1
lea eax, [esi + 0x15]
pop edx
pop ecx
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
push eax
push ebx
call fcn.00bcc5bc
add esp, 0x10
test eax, eax
je 0xbc6d6e
cmp dword [ebp - 0x20], 0x100
jbe 0xbc711c
mov dword [0x33c34], 0x32
jmp 0xbc6d6e
push eax
push 0x14
push 0x2ae95
push esi
call fcn.00bcba36
add esp, 0x10
test eax, eax
jne 0xbc7130
lea eax, [esi + 0x14]
mov dword [ebp - 0x14], eax
push eax
push eax
push edi
push ebx
call fcn.00bcc5bc
add esp, 0x10
test eax, eax
je 0xbc6d6e
cmp dword [ebp - 0x1c], 0x3f
jbe 0xbc711c
mov dword [0x33c34], 0x36
jmp 0xbc6d6e
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x94], 1
push eax
push eax
push esi
push 0
call fcn.00bccc60
add esp, 0x10
mov esi, eax
jmp 0xbc67f1
push eax
push eax
push esi
push 0
call fcn.00bccc60
mov dword [esp], eax
call fcn.00bcda25
add esp, 0x10
cmp dword [0x33c34], 0
jne 0xbc6d6e
mov edx, dword [0x33010]
cmp dword [ebp - 0x78], 0
mov dword [ebp - 0x50], edx
setne byte [ebp - 0x9c]
and edx, 0x80
mov dword [ebp - 0xa0], edx
jne 0xbc717d
cmp byte [ebp - 0x9c], 0
jne 0xbc71c3
sub esp, 0xc
push esi
call fcn.00bcda25
add esp, 0x10
cmp dword [0x33c34], 0
mov edi, eax
je 0xbc71aa
mov eax, dword [0x40af4]
xor edi, edi
mov dword [0x33c34], 0
mov dword [0x33010], eax
mov ecx, dword [0x33010]
test cl, cl
mov dword [ebp - 0x98], ecx
js 0xbc71d2
cmp byte [ebp - 0x9c], 0
je 0xbc71d2
mov dword [0x33c34], 0x39
jmp 0xbc6d6e
cmp dword [ebp - 0x98], 0xffff
je 0xbc71ec
mov ebx, dword [ebp - 0x98]
cmp ebx, dword [0x40a80]
jne 0xbc71f9
cmp dword [ebp - 0x18], 0xffffffff
jne 0xbc71f9
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], 0xffffffff
je 0xbc7217
cmp byte [ebp - 0x9c], 0
je 0xbc7217
mov dword [0x33c34], 0x3a
jmp 0xbc6d6e
cmp dword [ebp - 0x78], 1
jne 0xbc72db
mov eax, dword [0x40d34]
lea ebx, [ebp - 0x34]
mov dword [ebp - 0x74], eax
push eax
push dword [ebp - 0x98]
push 0x2aeaa
push ebx
call fcn.00bcbc40
mov dword [esp], ebx
call fcn.00bcea74
add esp, 0x10
test eax, eax
je 0xbc6d6e
push eax
push eax
push 0x200
push 0x77e00
call fcn.00bcf63c
add esp, 0x10
cmp eax, 0x200
jne 0xbc77db
call fcn.00bcda03
mov edx, dword [ebp - 0x74]
mov dword [0x40c30], 0
mov dword [0x40d34], edx
jmp 0xbc72c2
mov edx, eax
shl edx, 4
cmp byte [edx + 0x77fc2], 0
je 0xbc72db
cmp byte [edx + 0x77fc0], 0
je 0xbc72db
cmp byte [edx + 0x77fc4], 0
je 0xbc72db
cmp dword [edx + 0x77fc6], 0
je 0xbc72db
cmp dword [edx + 0x77fca], 0
je 0xbc72db
inc eax
mov dword [0x40c30], eax
mov eax, dword [0x40c30]
cmp eax, 3
jbe 0xbc728a
mov dword [0x33c34], 0x40
jmp 0xbc6d6e
cmp dword [0x40d34], 0xffffff
jne 0xbc73cc
test edi, edi
je 0xbc73cc
mov al, byte [edi]
cmp al, 0x20
je 0xbc7301
cmp al, 9
jne 0xbc73cc
cmp dword [ebp - 0x98], 0xffff
jne 0xbc7337
mov eax, dword [ebp - 0x18]
test eax, eax
jg 0xbc7323
mov dword [0x33c34], 0x3b
jmp 0xbc6d6e
mov dword [0x33be0], eax
mov dword [0x33be4], 1
jmp 0xbc73cc
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [0x40a80]
jne 0xbc7385
mov eax, dword [0x33c28]
test eax, 0x1ff
jne 0xbc7355
test eax, eax
jne 0xbc7364
mov dword [0x33c34], 0x41
jmp 0xbc6d6e
shr eax, 9
mov dword [ebp - 0x18], eax
mov dword [0x33be0], eax
mov dword [0x33be4], 1
mov dword [ebp - 0x98], 0xffff
jmp 0xbc73cc
cmp dword [ebp - 0x20], 0
jg 0xbc789d
cmp dword [ebp - 0x1c], 0
jg 0xbc789d
cmp dword [ebp - 0x18], 0xffffffff
je 0xbc73b9
mov ebx, dword [ebp - 0x50]
cmp dword [ebp - 0x98], ebx
je 0xbc73b9
mov dword [0x33c34], 0x43
jmp 0xbc6d6e
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x20], 1
jmp 0xbc8029
cmp dword [ebp - 0x18], 0xffffffff
jne 0xbc744c
push edi
push edi
push dword [ebp + 0xc]
mov dword [0x338bc], 0xffffffff
push esi
call fcn.00bc5e0e
add esp, 0x10
cmp dword [0x33c34], 0
jne 0xbc6d6e
cmp dword [0x338bc], 1
je 0xbc7415
cmp dword [ebp - 0x18], 0xffffffff
jne 0xbc7415
mov dword [0x33c34], 0x3c
jmp 0xbc6d6e
mov eax, dword [0x40c08]
mov edx, dword [0x338c0]
add eax, 0x1ff
shr eax, 9
cmp edx, dword [0x40bf8]
mov dword [0x33be0], edx
mov dword [0x33be4], eax
jne 0xbc744c
test edx, edx
je 0xbc744c
dec eax
jne 0xbc744c
mov eax, dword [0x40c00]
mov dword [0x33be4], eax
cmp dword [ebp - 0x98], 0xffff
jne 0xbc7483
cmp dword [0x33be4], 1
jne 0xbc7483
mov eax, dword [0x33be0]
push ebx
push 0x200
shl eax, 9
push eax
push dword [0x32ed4]
call fcn.00bcc311
add esp, 0x10
jmp 0xbc75b3
sub esp, 0xc
push esi
call fcn.00bcea74
add esp, 0x10
test eax, eax
je 0xbc6d6e
push ecx
push ecx
push 0x200
push dword [0x32ed4]
mov dword [0x33be4], 0
mov dword [0x33be0], 0
mov dword [0x33c48], 1
mov dword [0x33c3c], 0xe0a7
call fcn.00bcf63c
add esp, 0x10
mov dword [0x33c3c], 0
mov dword [0x33c48], 0
cmp eax, 0x200
jne 0xbc77db
mov eax, dword [0x40c08]
mov edx, dword [0x33be0]
add eax, 0x1ff
shr eax, 9
cmp edx, dword [0x40bf8]
mov dword [0x33be4], eax
jne 0xbc757c
dec eax
jne 0xbc757c
cmp dword [ebp - 0x18], 0xffffffff
je 0xbc756e
call fcn.00bcda03
mov eax, dword [0x40c00]
sub esp, 0xc
push eax
push dword [0x40bf8]
push dword [ebp - 0x98]
mov dword [0x33be4], eax
push 0x2aeb1
push 0x77e00
call fcn.00bcbc40
add esp, 0x14
push 0x77e00
call fcn.00bcea74
add esp, 0x10
test eax, eax
je 0xbc6d6e
mov dword [0x40c48], 0x200
jmp 0xbc757c
test edx, edx
je 0xbc757c
mov eax, dword [0x40c00]
mov dword [0x33be4], eax
cmp dword [ebp - 0x18], 0xffffffff
jne 0xbc7587
call fcn.00bcda03
cmp dword [ebp - 0x98], 0xffff
jne 0xbc75b3
cmp dword [0x33be4], 1
jne 0xbc75b3
sub esp, 0xc
push 0x2aebb
call fcn.00bcbda1
xor eax, eax
add esp, 0x10
jmp 0xbc8d57
cmp dword [0x40c24], 0x800
jne 0xbc75c6
shl dword [0x33be0], 2
mov eax, dword [0x32ed4]
cmp word [eax + 0x1fe], 0xaa55
jne 0xbc7943
push eax
call fcn.00bbfc32
pop edx
test eax, eax
jne 0xbc78ac
cmp dword [0x32624], 0
jle 0xbc7648
mov eax, dword [0x32ed4]
mov ecx, 0x2a9d7
cmp byte [eax], 0xeb
je 0xbc7606
mov ecx, 0x2a9dc
mov eax, dword [0x409ac]
mov edx, 0x2a9e8
cmp eax, 1
je 0xbc7638
cmp eax, 2
mov edx, 0x2a9ee
je 0xbc7638
cmp eax, 3
mov edx, 0x2a9f4
je 0xbc7638
cmp eax, 4
mov edx, 0x2a9fa
je 0xbc7638
mov edx, 0x2a9ff
push eax
push ecx
push edx
push 0x2af01
call fcn.00bcbda1
add esp, 0x10
mov edx, dword [0x33be4]
cmp edx, 1
je 0xbc769a
cmp dword [0x32624], 0
jle 0xbc769a
mov ecx, dword [0x409f4]
cmp ecx, edx
jbe 0xbc767f
sub esp, 0xc
lea eax, [ecx - 1]
push eax
push edx
push edx
push ecx
push 0x2af36
call fcn.00bcbda1
add esp, 0x20
jmp 0xbc769a
jae 0xbc769a
cmp dword [0x338c4], 0
jne 0xbc769a
push eax
push edx
push ecx
push 0x2b081
call fcn.00bcbda1
add esp, 0x10
cmp dword [ebp - 0x18], 0xffffffff
jne 0xbc7f33
cmp dword [ebp - 0xa0], 0
je 0xbc7f33
cmp byte [ebp - 0x98], 0
jns 0xbc7f33
mov edx, dword [0x33be0]
cmp edx, dword [0x40bf8]
jne 0xbc7f33
test edx, edx
je 0xbc7f33
mov eax, dword [0x33be4]
cmp eax, dword [0x40c00]
jne 0xbc7f33
mov ecx, dword [0x32ed4]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [0x409cc]
ja 0xbc76fd
mov dword [ecx + 0x1c], edx
mov eax, dword [0x32ed4]
cmp dword [0x32624], 0
mov ebx, dword [0x409cc]
mov esi, dword [0x409f4]
mov edi, dword [eax + 0x1c]
jle 0xbc7738
sub esp, 0xc
push esi
push ebx
push dword [0x4099c]
push dword [0x409a4]
push 0x2b0de
call fcn.00bcbda1
add esp, 0x20
mov eax, dword [0x4099c]
mov edx, dword [0x409cc]
cmp byte [ebp - 0x9c], 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jne 0xbc7f41
sub edi, ebx
cmp dword [0x32624], 0
lea ebx, [esi + ebx]
jle 0xbc7787
mov eax, dword [ebp - 0x50]
sub esp, 0xc
and eax, 0x7f
push eax
mov eax, dword [ebp - 0x98]
push ebx
push edi
and eax, 0x7f
push eax
push 0x2b11b
call fcn.00bcbda1
add esp, 0x20
mov eax, dword [ebp - 0x98]
sub esp, 0xc
push ebx
push edi
and eax, 0x7f
push eax
push 0x2b163
push dword [0x32ed4]
call fcn.00bcbc40
add esp, 0x14
push dword [0x32ed4]
call fcn.00bcea74
add esp, 0x10
test eax, eax
je 0xbc6d6e
push eax
push eax
push 0x200
push dword [0x32ed4]
call fcn.00bcf63c
add esp, 0x10
cmp eax, 0x200
je 0xbc77fc
call fcn.00bcda03
cmp dword [0x33c34], 0
jne 0xbc6d6e
mov dword [0x33c34], 0xd
jmp 0xbc6d6e
call fcn.00bcda03
mov dword [0x40c30], 0
jmp 0xbc786e
mov ecx, dword [0x32ed4]
mov eax, edx
shl eax, 4
mov al, byte [ecx + eax + 0x1c2]
cmp al, 5
je 0xbc782b
cmp al, 0xf
je 0xbc782b
test al, al
jne 0xbc7868
shl edx, 4
mov eax, dword [0x40c30]
mov dword [ecx + edx + 0x1be], 0
mov dword [ecx + edx + 0x1c2], 0
mov edx, dword [0x32ed4]
shl eax, 4
mov dword [eax + edx + 0x1c6], 0
mov dword [eax + edx + 0x1ca], 0
inc dword [0x40c30]
mov edx, dword [0x40c30]
cmp edx, 3
jbe 0xbc780d
cmp dword [ebp - 0x20], 0
mov dword [0x40bf8], edi
mov dword [0x40c00], ebx
mov dword [0x33be0], edi
mov dword [0x33be4], ebx
jg 0xbc789d
cmp dword [ebp - 0x1c], 0
jle 0xbc78ba
mov dword [0x33c34], 0x42
jmp 0xbc6d6e
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
push dword [0x40bf8]
mov ebx, dword [0x33be4]
push ebx
push dword [0x33be0]
push dword [0x32ed4]
call fcn.00bbfe85
add esp, 0x10
test eax, eax
jne 0xbc7951
cmp ebx, 1
je 0xbc7f41
cmp dword [0x32624], 0
jle 0xbc7f41
mov edx, dword [0x409f4]
cmp edx, ebx
jbe 0xbc791b
sub esp, 0xc
lea eax, [edx - 1]
push eax
push ebx
push ebx
push edx
push 0x2b16f
call fcn.00bcbda1
add esp, 0x20
jmp 0xbc7f41
jae 0xbc7f41
cmp dword [0x338c4], 0
jne 0xbc7f41
push esi
push ebx
push edx
push 0x2b302
call fcn.00bcbda1
add esp, 0x10
jmp 0xbc7f41
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov ecx, dword [ebp - 0x7c]
or ecx, dword [ebp - 0x80]
jne 0xbc7fb1
mov eax, dword [0x32ed4]
cmp word [eax + 0x1fe], 0xaa55
je 0xbc7987
cmp dword [ebp - 0x20], 0
jns 0xbc797a
mov dword [ebp - 0x20], 0
cmp dword [ebp - 0x1c], 0
jns 0xbc7987
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x20]
cmp eax, 0
jge 0xbc7a00
cmp dword [ebp - 0xa0], 0
jne 0xbc79cc
mov eax, dword [0x33be4]
cmp eax, 0x960
je 0xbc79e6
ja 0xbc79b4
cmp eax, 0x2d0
je 0xbc79e6
cmp eax, 0x5a0
jmp 0xbc79c0
cmp eax, 0xb40
je 0xbc79e6
cmp eax, 0x1680
je 0xbc79e6
sub eax, 2
cmp eax, 0x167d
jbe 0xbc79e6
cmp dword [ebp - 0x18], 0xffffffff
je 0xbc79d7
call fcn.00bcda03
mov dword [0x33c34], 0x3e
jmp 0xbc6d6e
cmp dword [0x32624], 0
mov dword [ebp - 0x20], 2
jle 0xbc7a88
push ebx
push ebx
push 2
jmp 0xbc7a68
jne 0xbc7a6f
cmp dword [ebp - 0xa0], 0
jne 0xbc7a37
mov eax, dword [0x33be4]
cmp eax, 0x140
je 0xbc7a2e
ja 0xbc7a20
cmp eax, 1
jne 0xbc7a40
jmp 0xbc7a37
cmp eax, 0x168
je 0xbc7a2e
cmp eax, 0x1f4
jne 0xbc7a40
mov dword [ebp - 0x20], 1
jmp 0xbc7a51
mov dword [ebp - 0x20], 0xff
jmp 0xbc7a51
cmp eax, 0x1f802
sbb eax, eax
and al, 3
add eax, 0xff
mov dword [ebp - 0x20], eax
cmp dword [0x32624], 0
jle 0xbc7a88
cmp dword [ebp - 0x50], 0x9f
ja 0xbc7a88
push ecx
push ecx
push dword [ebp - 0x20]
push 0x2b37b
jmp 0xbc7a80
cmp dword [0x32624], 0
jle 0xbc7a88
push edx
push edx
push eax
push 0x2b3b5
call fcn.00bcbda1
add esp, 0x10
mov eax, dword [ebp - 0x1c]
cmp eax, 0
jge 0xbc7b38
cmp dword [ebp - 0xa0], 0
jne 0xbc7b0c
mov edx, dword [0x33be4]
cmp edx, 0x960
je 0xbc7ada
ja 0xbc7abf
cmp edx, 0x2d0
je 0xbc7ad1
cmp edx, 0x5a0
jne 0xbc7ae3
jmp 0xbc7ad1
cmp edx, 0xb40
je 0xbc7aed
cmp edx, 0x1680
jne 0xbc7ae3
jmp 0xbc7b03
mov dword [ebp - 0x1c], 9
jmp 0xbc7b26
mov dword [ebp - 0x1c], 0xf
jmp 0xbc7b26
lea eax, [edx - 2]
cmp eax, 0xb3d
ja 0xbc7af6
mov dword [ebp - 0x1c], 0x12
jmp 0xbc7b26
lea eax, [edx - 0xb41]
cmp eax, 0xb3e
ja 0xbc7b0c
mov dword [ebp - 0x1c], 0x24
jmp 0xbc7b26
cmp dword [ebp - 0x18], 0xffffffff
je 0xbc7b17
call fcn.00bcda03
mov dword [0x33c34], 0x3f
jmp 0xbc6d6e
cmp dword [0x32624], 0
jle 0xbc8029
jmp 0xbc7f0a
jne 0xbc7f19
mov eax, dword [0x33be4]
cmp eax, 1
jne 0xbc7b54
mov dword [ebp - 0x1c], 1
jmp 0xbc7ef0
cmp dword [ebp - 0xa0], 0
je 0xbc7b69
mov dword [ebp - 0x1c], 0x3f
jmp 0xbc7ef0
cmp eax, 0x9d8
je 0xbc7e61
ja 0xbc7cbc
cmp eax, 0x5d6
je 0xbc7e25
ja 0xbc7c1c
cmp eax, 0x320
je 0xbc7e31
ja 0xbc7bd7
cmp eax, 0x190
je 0xbc7e0d
ja 0xbc7bb7
cmp eax, 0x140
je 0xbc7e19
cmp eax, 0x168
jmp 0xbc7c11
cmp eax, 0x280
je 0xbc7e19
cmp eax, 0x2d0
je 0xbc7e25
cmp eax, 0x1f4
jmp 0xbc7c63
cmp eax, 0x500
je 0xbc7e19
ja 0xbc7bf6
cmp eax, 0x348
je 0xbc7e31
cmp eax, 0x3e8
jmp 0xbc7c63
cmp eax, 0x5b2
je 0xbc7e25
cmp eax, 0x5c4
je 0xbc7e25
cmp eax, 0x5a0
jne 0xbc7ed0
jmp 0xbc7e25
cmp eax, 0x70c
je 0xbc7e3d
ja 0xbc7c6e
cmp eax, 0x654
je 0xbc7e31
ja 0xbc7c48
cmp eax, 0x5e8
je 0xbc7e25
cmp eax, 0x640
jmp 0xbc7c63
cmp eax, 0x67c
je 0xbc7e31
cmp eax, 0x690
je 0xbc7e31
cmp eax, 0x668
jne 0xbc7ed0
jmp 0xbc7e31
cmp eax, 0x960
je 0xbc7e61
ja 0xbc7c96
cmp eax, 0x7b0
je 0xbc7e49
cmp eax, 0x854
jne 0xbc7ed0
jmp 0xbc7e55
cmp eax, 0x99c
je 0xbc7e61
cmp eax, 0x9ba
je 0xbc7e61
cmp eax, 0x97e
jne 0xbc7ed0
jmp 0xbc7e61
cmp eax, 0xcd0
je 0xbc7e7f
ja 0xbc7d6d
cmp eax, 0xb64
je 0xbc7ed7
ja 0xbc7d1f
cmp eax, 0xae4
je 0xbc7e6d
ja 0xbc7cf9
cmp eax, 0xaa0
je 0xbc7e6d
cmp eax, 0xac2
jmp 0xbc7d14
cmp eax, 0xb28
je 0xbc7e6d
cmp eax, 0xb40
je 0xbc7ed7
cmp eax, 0xb06
jne 0xbc7ed0
jmp 0xbc7e6d
cmp eax, 0xbd0
je 0xbc7ed7
ja 0xbc7d47
cmp eax, 0xb88
je 0xbc7ed7
cmp eax, 0xbac
jne 0xbc7ed0
jmp 0xbc7ed7
cmp eax, 0xc80
je 0xbc7e7f
cmp eax, 0xca8
je 0xbc7e7f
cmp eax, 0xc2c
jne 0xbc7ed0
jmp 0xbc7e76
cmp eax, 0xe18
je 0xbc7e91
ja 0xbc7dbf
cmp eax, 0xd4a
je 0xbc7e88
ja 0xbc7d99
cmp eax, 0xcf8
je 0xbc7e7f
cmp eax, 0xd20
jmp 0xbc7db4
cmp eax, 0xd9e
je 0xbc7e88
cmp eax, 0xdc8
je 0xbc7e88
cmp eax, 0xd74
jne 0xbc7ed0
jmp 0xbc7e88
cmp eax, 0x18fc
je 0xbc7eac
ja 0xbc7de7
cmp eax, 0xebc
je 0xbc7e9a
cmp eax, 0x1680
jne 0xbc7ed0
jmp 0xbc7ea3
cmp eax, 0x1cd4
je 0xbc7ebe
cmp eax, 0x1d78
je 0xbc7ec7
cmp eax, 0x1c30
jne 0xbc7ed0
jmp 0xbc7eb5
mov dword [ebp - 0x1c], 5
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 8
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 9
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0xa
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0xb
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0xc
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0xd
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0xf
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0x11
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0x13
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0x14
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0x15
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0x16
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0x17
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0x24
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0x27
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0x2c
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0x2d
jmp 0xbc7ef0
mov dword [ebp - 0x1c], 0x2e
jmp 0xbc7ef0
cmp eax, 0xb41
ja 0xbc7ee0
mov dword [ebp - 0x1c], 0x12
jmp 0xbc7ef0
cmp eax, 0x1682
sbb eax, eax
and eax, 0xffffffe5
add eax, 0x3f
mov dword [ebp - 0x1c], eax
cmp dword [0x32624], 0
jle 0xbc8029
cmp dword [ebp - 0x50], 0x9f
ja 0xbc8029
push eax
push eax
push dword [ebp - 0x1c]
push 0x2b3ef
jmp 0xbc8021
cmp dword [0x32624], 0
jle 0xbc8029
push edi
push edi
push eax
push 0x2b42b
jmp 0xbc8021
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
cmp dword [0x32624], 0
jle 0xbc7f72
sub esp, 0xc
push dword [0x409f4]
push dword [0x409cc]
push dword [0x4099c]
push dword [0x409a4]
push 0x2b467
call fcn.00bcbda1
add esp, 0x20
mov edx, dword [ebp - 0x18]
cmp edx, 0xffffffff
je 0xbc7f93
test edx, edx
jg 0xbc7f93
mov eax, dword [0x409f4]
neg edx
cmp edx, eax
jae 0xbc7f93
cmp eax, 1
je 0xbc7f93
neg eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x7c]
or ebx, dword [ebp - 0x80]
je 0xbc7fcb
mov edi, dword [ebp - 0x80]
cmp edi, dword [0x4099c]
jne 0xbc7fb1
mov eax, dword [ebp - 0x7c]
cmp eax, dword [0x409cc]
je 0xbc7fcb
cmp dword [ebp - 0x18], 0xffffffff
je 0xbc7fbc
call fcn.00bcda03
mov dword [0x33c34], 0x29
jmp 0xbc6d6e
mov eax, dword [ebp - 0x20]
mov edx, dword [0x4099c]
test eax, eax
jg 0xbc7fdd
mov dword [ebp - 0x20], edx
jmp 0xbc7ffa
cmp eax, edx
je 0xbc7ffa
cmp dword [0x32624], 0
jle 0xbc7ffa
push esi
push eax
push edx
push 0x2b49c
call fcn.00bcbda1
add esp, 0x10
mov eax, dword [ebp - 0x1c]
mov edx, dword [0x409cc]
test eax, eax
jg 0xbc800c
mov dword [ebp - 0x1c], edx
jmp 0xbc8029
cmp eax, edx
je 0xbc8029
cmp dword [0x32624], 0
jle 0xbc8029
push ebx
push eax
push edx
push 0x2b50a
call fcn.00bcbda1
add esp, 0x10
mov dword [0x40c30], 0
jmp 0xbc8070
imul ecx, eax, 0x18
movzx eax, byte [ecx + 0x8a4c]
cmp eax, dword [ebp - 0x50]
je 0xbc807a
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
lea eax, [ecx + 0x8a4c]
push eax
push edx
call fcn.00bcc311
add esp, 0x18
call fcn.00bbfaf4
add esp, 0x18
test eax, eax
jne 0xbc807a
inc dword [0x40c30]
mov eax, dword [0x40c30]
cmp eax, 7
jbe 0xbc8035
cmp dword [0x40c30], 8
jne 0xbc8092
cmp dword [ebp - 0x18], 0xffffffff
je 0xbc85c1
jmp 0xbc85bc
cmp dword [ebp - 0x94], 0
mov edx, dword [ebp - 0x50]
sete byte [ebp - 0x9b]
cmp dword [ebp - 0x98], edx
jne 0xbc80f1
cmp byte [ebp - 0x9b], 0
je 0xbc80f1
mov eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x90]
or eax, dword [ebp - 0x88]
jne 0xbc80f1
cmp dword [0x33be0], 0
jne 0xbc80f1
mov eax, dword [0x33be4]
test eax, eax
je 0xbc8b46
dec eax
jne 0xbc80f1
cmp dword [ebp - 0x20], 0
jg 0xbc80f1
cmp dword [ebp - 0x1c], 1
jle 0xbc8b46
xor ebx, ebx
sub esp, 0xc
push 1
call fcn.00bba53f
add esp, 0x10
test eax, eax
jne 0xbc81ea
imul edx, ebx, 0x18
movzx eax, byte [edx + 0x8b50]
cmp dword [ebp - 0x98], eax
jne 0xbc81ea
mov al, byte [edx + 0x8b51]
movzx ecx, al
inc al
mov dword [ebp - 0x98], ecx
jne 0xbc8144
test byte [edx + 0x8b55], 0x40
jne 0xbc8144
mov dword [ebp - 0x98], 0xffff
mov ecx, dword [0x33be0]
test ecx, ecx
jne 0xbc818c
mov eax, dword [0x33be4]
test eax, eax
je 0xbc8166
dec eax
jne 0xbc818c
cmp dword [ebp - 0x20], 0
jg 0xbc818c
cmp dword [ebp - 0x1c], 1
jg 0xbc818c
imul edx, ebx, 0x18
mov eax, dword [edx + 0x8b60]
mov dword [0x33be4], eax
movzx eax, byte [edx + 0x8b52]
inc eax
mov dword [ebp - 0x20], eax
movzx eax, byte [edx + 0x8b53]
and eax, 0x3f
mov dword [ebp - 0x1c], eax
imul eax, ebx, 0x18
mov ebx, dword [ebp - 0x50]
mov edx, ecx
add edx, dword [eax + 0x8b58]
cmp dword [ebp - 0x98], ebx
mov dword [0x33be0], edx
jne 0xbc81f4
cmp byte [ebp - 0x9b], 0
je 0xbc81f4
mov eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x90]
or eax, dword [ebp - 0x88]
jne 0xbc81f4
test edx, edx
jne 0xbc81f4
mov eax, dword [0x33be4]
test eax, eax
je 0xbc8b46
dec eax
jne 0xbc81f4
cmp dword [ebp - 0x20], 0
jg 0xbc81f4
cmp dword [ebp - 0x1c], 1
jg 0xbc81f4
jmp 0xbc8b46
inc ebx
cmp ebx, 8
jne 0xbc80f3
mov edx, dword [ebp - 0x18]
mov edi, dword [0x40c30]
cmp edx, 0xffffffff
mov dword [ebp - 0x4c], edi
je 0xbc88b6
mov eax, dword [0x33be0]
cmp eax, dword [0x40bf8]
mov dword [ebp - 0x54], eax
jne 0xbc8230
test eax, eax
jne 0xbc8230
cmp dword [0x33be4], 1
jne 0xbc8230
mov eax, dword [0x40c00]
mov dword [0x33be4], eax
mov esi, dword [0x33be4]
xor ebx, ebx
mov eax, esi
shl eax, 9
test edx, edx
mov ecx, eax
jg 0xbc8259
neg edx
mov eax, edx
cdq
shld edx, eax, 9
shl eax, 9
cmp ebx, edx
jb 0xbc8257
cmp ecx, eax
jae 0xbc8259
mov ecx, eax
cmp dword [0x409ac], 0
je 0xbc8273
cmp dword [ebp - 0xa0], 0
je 0xbc8273
mov eax, dword [ebp - 0x1c]
shl eax, 9
add ecx, eax
add ecx, 0x3ff
and ecx, 0xfffffc00
cmp dword [ebp - 0x98], 0xffff
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], 0
je 0xbc82a3
mov edx, dword [ebp - 0x98]
cmp edx, dword [0x40a80]
jne 0xbc82b4
dec esi
jne 0xbc82b4
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
test byte [0x40a88], 0x40
je 0xbc8593
mov ecx, dword [0x40a84]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x5c], ecx
add ecx, dword [0x40ae4]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x58], ecx
jmp 0xbc8585
mov ebx, dword [ebp - 0x5c]
cmp dword [ebx + 0x14], 1
jne 0xbc8578
mov edi, ebx
mov ecx, dword [ebx + 4]
mov esi, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
mov ebx, dword [ebx + 8]
mov eax, esi
add eax, ecx
mov edx, edi
adc edx, ebx
cmp edx, 1
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
jb 0xbc8337
ja 0xbc8329
cmp eax, 0
jbe 0xbc8337
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 1
mov eax, dword [ebp - 0x18]
test eax, eax
jle 0xbc838a
cdq
shld edx, eax, 9
shl eax, 9
cmp edx, ebx
jb 0xbc8578
ja 0xbc8358
cmp eax, ecx
jb 0xbc8578
cmp edx, dword [ebp - 0x64]
ja 0xbc8578
jb 0xbc836c
cmp eax, dword [ebp - 0x68]
jae 0xbc8578
mov ecx, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x64]
sub ecx, eax
sbb ebx, edx
cmp ebx, dword [ebp - 0x44]
jb 0xbc8578
ja 0xbc838a
cmp ecx, dword [ebp - 0x48]
jb 0xbc8578
cmp edi, dword [ebp - 0x44]
jb 0xbc84c8
ja 0xbc839e
cmp esi, dword [ebp - 0x48]
jb 0xbc84c8
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x6c], 0
and eax, 0xfffff000
cmp dword [ebp - 0x6c], 0
mov dword [ebp - 0x70], eax
ja 0xbc83c4
cmp eax, 0xfffff
jbe 0xbc8578
mov dword [0x40c30], 0
jmp 0xbc84b8
imul eax, eax, 0x18
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
add eax, 0x8a4c
push eax
push edx
call fcn.00bcc311
add esp, 0x18
call fcn.00bbfaf4
add esp, 0x18
test eax, eax
jne 0xbc84db
mov eax, dword [0x40c30]
imul edx, eax, 0x18
cmp byte [edx + 0x8a4d], 0xff
jne 0xbc84b2
mov ecx, dword [ebp - 0x5c]
xor esi, esi
mov ebx, dword [edx + 0x8a54]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
shld esi, ebx, 9
shl ebx, 9
mov dword [ebp - 0xb0], edx
cmp esi, ecx
mov dword [ebp - 0xac], ecx
jb 0xbc84b2
ja 0xbc8442
cmp ebx, edx
jb 0xbc84b2
cmp esi, dword [ebp - 0x64]
ja 0xbc84b2
jb 0xbc844e
cmp ebx, dword [ebp - 0x68]
jae 0xbc84b2
mov edi, dword [ebp - 0x44]
mov edx, ebx
mov ecx, esi
sub edx, dword [ebp - 0xb0]
sbb ecx, dword [ebp - 0xac]
mov dword [ebp - 0xb8], edx
cmp ecx, edi
mov dword [ebp - 0xb4], ecx
jb 0xbc856a
ja 0xbc8482
mov ecx, dword [ebp - 0x48]
cmp edx, ecx
jb 0xbc856a
sub ebx, dword [ebp - 0x48]
xor ecx, ecx
mov edx, ebx
and edx, 0xfffff000
cmp ecx, 0
ja 0xbc84a0
cmp edx, 0xfffff
jbe 0xbc856a
cmp dword [ebp - 0x6c], ecx
jb 0xbc84b2
ja 0xbc84ac
cmp dword [ebp - 0x70], edx
jbe 0xbc84b2
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], ecx
inc eax
mov dword [0x40c30], eax
mov eax, dword [0x40c30]
cmp eax, 7
jbe 0xbc83d3
jmp 0xbc84db
cmp dword [ebp - 0x6c], 0
ja 0xbc84db
cmp dword [ebp - 0x70], 0xfffff
jbe 0xbc8578
cmp dword [ebp - 0x98], 0xffff
je 0xbc84f9
mov ebx, dword [ebp - 0x98]
cmp ebx, dword [0x40a80]
jne 0xbc8d49
cmp dword [ebp - 0x18], 0
jle 0xbc850d
mov edi, dword [ebp - 0x54]
mov dword [0x33be0], edi
jmp 0xbc85d0
mov eax, dword [ebp - 0x98]
cmp eax, dword [0x40a80]
jne 0xbc8526
mov eax, dword [0x33c28]
shr eax, 9
add dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
xor esi, esi
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
shl eax, 9
add edx, dword [ebp - 0x48]
mov ebx, eax
adc ecx, dword [ebp - 0x44]
cmp ecx, 0
ja 0xbc8549
cmp edx, eax
jbe 0xbc8d49
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
add eax, ebx
adc edx, esi
cmp dword [ebp - 0x6c], edx
jb 0xbc856a
ja 0xbc855f
cmp dword [ebp - 0x70], eax
jb 0xbc856a
mov ecx, dword [ebp - 0x54]
mov dword [0x33be0], ecx
jmp 0xbc85d0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov ebx, dword [ebp - 0x5c]
mov eax, dword [ebx]
add eax, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov edi, dword [ebp - 0x5c]
cmp dword [ebp - 0x58], edi
ja 0xbc82f4
jmp 0xbc85a5
sub esp, 0xc
push 0x2b57a
call fcn.00bcbda1
add esp, 0x10
jmp 0xbc85bc
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x6c], 0
mov dword [0x33be0], eax
ja 0xbc85d0
cmp dword [ebp - 0x70], 0xfffff
ja 0xbc85d0
call fcn.00bcda03
mov dword [0x33c34], 0x1c
jmp 0xbc6d6e
mov edx, dword [ebp - 0x18]
test edx, edx
jle 0xbc8603
mov ecx, edx
sar ecx, 0x1f
mov dword [ebp - 0x6c], ecx
mov ebx, dword [ebp - 0x6c]
mov dword [ebp - 0x70], edx
mov ecx, dword [ebp - 0x70]
shld ebx, ecx, 9
shl ecx, 9
sub dword [ebp - 0x68], ecx
sbb dword [ebp - 0x64], ebx
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 0x64]
jmp 0xbc8609
mov ecx, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x44]
shrd ecx, ebx, 9
shr ebx, 9
cmp dword [0x409ac], 0
mov dword [0x33be4], ecx
je 0xbc863e
cmp dword [ebp - 0xa0], 0
je 0xbc863e
cmp dword [ebp - 0x50], 0x9f
ja 0xbc863e
mov eax, dword [ebp - 0x1c]
shl eax, 9
mov esi, eax
add esi, dword [ebp - 0x70]
jmp 0xbc8641
mov esi, dword [ebp - 0x70]
cmp dword [ebp - 0x98], 0xffff
je 0xbc865b
mov ebx, dword [ebp - 0x98]
cmp ebx, dword [0x40a80]
jne 0xbc865f
test edx, edx
jg 0xbc86bc
push ecx
mov ebx, esi
push 0x200
add ebx, 0x200
push dword [0x32ed4]
push esi
call fcn.00bcc311
pop eax
pop edx
push 0xffffffffffffffff
push ebx
call fcn.00bcf63c
mov edx, dword [0x40c08]
add esp, 0x10
sub edx, 0x200
cmp eax, edx
je 0xbc86b7
call fcn.00bcda03
cmp dword [0x33c34], 0
jne 0xbc6d6e
mov dword [0x33c34], 0x19
jmp 0xbc6d6e
call fcn.00bcda03
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
shrd eax, edx, 9
mov dword [0x33be0], eax
mov eax, dword [0x409ac]
shr edx, 9
test eax, eax
je 0xbc88ac
cmp dword [ebp - 0xa0], 0
je 0xbc88ac
cmp dword [ebp - 0x50], 0x9f
ja 0xbc88ac
cmp eax, 0xffffffff
je 0xbc871c
cmp eax, 3
sete dl
movzx eax, dl
dec eax
and eax, 0xffffffe4
cmp byte [esi + eax + 0x41], 0
jne 0xbc871c
movzx eax, dl
mov dl, byte [ebp - 0x50]
dec eax
and eax, 0xffffffe4
mov byte [esi + eax + 0x40], dl
cmp dword [0x409ac], 0xffffffff
jne 0xbc8732
lea eax, [esi + 0x1c]
mov eax, dword [eax]
cmp eax, dword [0x40bf8]
jne 0xbc873a
mov eax, dword [ebp - 0x1c]
lea edx, [esi + 0x1c]
mov dword [edx], eax
mov edx, dword [0x409ac]
mov al, 0xe
mov ebx, dword [ebp - 0x70]
cmp edx, 1
mov dword [ebx + 0x1be], 0x10180
je 0xbc876d
cmp edx, 2
je 0xbc876d
cmp edx, 3
mov al, 0xc
je 0xbc876d
cmp edx, 4
sete al
dec eax
and eax, 0x7c
add eax, 7
mov byte [ebx + 0x1c2], al
mov ecx, dword [0x33be4]
xor edx, edx
mov edi, dword [ebp - 0x1c]
imul edi, dword [ebp - 0x20]
mov dword [ebx + 0x1ce], 0
lea esi, [ecx - 1]
mov eax, esi
div edi
mov dword [ebx + 0x1d2], 0
mov dword [ebx + 0x1d6], 0
mov dword [ebx + 0x1da], 0
mov dword [ebx + 0x1de], 0
mov dword [ebx + 0x1e2], 0
mov dword [ebx + 0x1e6], 0
mov dword [ebx + 0x1ea], 0
mov dword [ebx + 0x1ee], 0
mov dword [ebx + 0x1f2], 0
mov dword [ebx + 0x1f6], 0
mov dword [ebx + 0x1fa], 0
mov word [ebx + 0x1fe], 0xaa55
mov word [ebx + 1], 0xc033
mov word [ebx + 3], 0xd08e
mov dword [ebx + 5], 0xfb7c00bc
mov dword [ebx + 9], 0x7501f50
mov dword [ebx + 0xd], 0x7c1cbefc
mov dword [ebx + 0x11], 0x50061cbf
mov dword [ebx + 0x15], 0x1e4b957
mov dword [ebp - 0xbc], edx
mov esi, eax
mov eax, edx
xor edx, edx
div dword [ebp - 0x1c]
mov byte [ebx + 0x1c3], al
mov eax, esi
inc edx
shr eax, 8
shl eax, 6
or eax, edx
mov edx, esi
shl edx, 8
or eax, edx
mov word [ebx + 0x1c4], ax
mov eax, dword [ebp - 0x1c]
mov byte [ebx], 0xfa
sub ecx, eax
mov dword [ebx + 0x1c6], eax
mov dword [ebx + 0x1ca], ecx
mov dword [ebx + 0x19], 0x1ecba4f3
mov dword [ebx + 0x1d], 0x537c00bb
mov dword [ebx + 0x21], 0x520180ba
mov dword [ebx + 0x25], 0x530201b8
mov dword [ebx + 0x29], 0x5f13cd41
mov dword [ebx + 0x2d], 0x5607bebe
mov dword [ebx + 0x31], 0xcbfa5a5d
mov dword [ebp - 0x98], 0xffff
cmp byte [ebp - 0x9c], 0
je 0xbc88f6
mov eax, dword [0x409ac]
mov edx, 0xe
cmp eax, 1
je 0xbc88eb
cmp eax, 2
je 0xbc88eb
cmp eax, 3
mov dl, 0xc
je 0xbc88eb
xor edx, edx
cmp eax, 4
setne dl
dec edx
and edx, 0xffffff84
add dx, 0x83
imul eax, dword [ebp - 0x4c], 0x18
mov word [eax + 0x8a50], dx
cmp dword [0x33be0], 0
jne 0xbc8942
cmp dword [0x33be4], 0
jne 0xbc8942
cmp dword [ebp - 0x98], 3
ja 0xbc8942
and dword [0x40cc8], 0xfffffffe
mov dword [0x40cc4], 0x200
mov dword [0x40cb4], 0x50
mov dword [0x40cb8], 2
mov dword [0x40cbc], 0x12
jmp 0xbc896a
push eax
push eax
push 0x40cb4
push dword [ebp - 0x98]
call fcn.00bbdb7b
add esp, 0x10
test eax, eax
je 0xbc896a
mov dword [0x33c34], 0x15
jmp 0xbc6d6e
mov ecx, dword [ebp - 0x4c]
mov al, byte [ebp - 0x20]
mov bl, byte [ebp - 0x50]
imul edx, ecx, 0x18
mov dword [0x40c30], ecx
mov cl, byte [ebp - 0x98]
dec eax
or eax, dword [ebp - 0x84]
mov byte [ebp - 0x9a], bl
mov byte [edx + 0x8a4c], bl
mov byte [edx + 0x8a4d], cl
xor ecx, ecx
cmp dword [ebp - 0x84], 0
mov byte [edx + 0x8a4e], al
jne 0xbc89b7
cmp dword [ebp - 0x78], 0
mov cl, 1
jne 0xbc89b7
mov cl, byte [ebp - 0x1c]
mov ebx, dword [ebp - 0x90]
or dword [ebp - 0x94], ebx
shl dword [ebp - 0x94], 7
shl dword [ebp - 0x88], 6
mov al, byte [ebp - 0x94]
or eax, dword [ebp - 0x88]
imul edx, dword [ebp - 0x4c], 0x18
or eax, ecx
cmp dword [ebp - 0x78], 0
mov byte [edx + 0x8a4f], al
jne 0xbc8a47
xor ebx, ebx
mov edx, dword [0x40cb4]
cmp dword [0x40cc4], 0x800
mov edi, dword [0x40cc8]
setne bl
dec ebx
and bx, 0x4000
cmp dword [ebp - 0x50], 0xa0
sbb ecx, ecx
dec edx
not ecx
and cx, 0x2000
imul esi, dword [0x40c30], 0x18
cmp edx, 0x3ff
jbe 0xbc8a35
mov edx, 0x3ff
mov eax, edi
shl eax, 0xf
or eax, edx
or eax, ebx
or eax, ecx
mov word [esi + 0x8a50], ax
mov al, byte [0x40cb8]
imul edx, dword [0x40c30], 0x18
dec eax
cmp dword [ebp - 0x8c], 0
mov byte [edx + 0x8a52], al
sete al
or eax, dword [ebp - 0x90]
shl eax, 6
or eax, dword [0x40cbc]
cmp byte [ebp - 0x9c], 0
mov byte [edx + 0x8a53], al
je 0xbc8a89
or byte [edx + 0x8a53], 0x80
imul eax, dword [0x40c30], 0x18
mov edx, dword [0x33be0]
cmp dword [ebp - 0xa0], 0
mov dword [eax + 0x8a58], 0
mov dword [eax + 0x8a54], edx
mov edx, dword [0x33be4]
mov dword [eax + 0x8a60], 0
mov dword [eax + 0x8a5c], edx
je 0xbc8aea
mov al, byte [ebp - 0x9a]
add eax, 0xffffff80
cmp byte [0x475], al
jne 0xbc8d42
mov al, byte [ebp - 0x9a]
sub eax, 0x7f
mov byte [0x475], al
jmp 0xbc8b27
mov al, byte [0x410]
xor edx, edx
test al, 1
je 0xbc8afe
sar al, 6
movsx eax, al
lea edx, [eax + 1]
mov cl, byte [ebp - 0x50]
movsx eax, cl
cmp edx, eax
jne 0xbc8d42
mov dl, byte [0x410]
and edx, 0x3e
cmp cl, 1
sbb eax, eax
and eax, 0xffffffc0
add eax, 0x41
or eax, edx
mov byte [0x410], al
cmp dword [0x32624], 0
jle 0xbc8d42
cmp dword [0x338c4], 0
jne 0xbc8d42
jmp 0xbc8d3d
imul eax, dword [0x40c30], 0x18
cmp byte [eax + 0x8a4d], 0xff
jne 0xbc8ba8
mov esi, 7
xor ebx, ebx
jmp 0xbc8ba0
cmp byte [ebx + 0x8af5], 0xff
jne 0xbc8b9c
cmp dword [ebp - 0x18], 0xffffffff
jne 0xbc8b7d
mov dword [0x33c34], 0x25
jmp 0xbc6d6e
push eax
mov eax, 0x18
sub eax, ebx
push eax
lea eax, [ebx + 0x8b0c]
push eax
lea eax, [ebx + 0x8af4]
push eax
call fcn.00bcc311
add esp, 0x10
dec esi
sub ebx, 0x18
cmp esi, dword [0x40c30]
ja 0xbc8b5f
mov ecx, dword [0x40c30]
push eax
mov eax, 8
sub eax, ecx
imul edx, ecx, 0x18
imul eax, eax, 0x18
push eax
lea eax, [edx + 0x8a64]
add edx, 0x8a4c
push eax
push edx
call fcn.00bcc311
add esp, 0x10
cmp dword [ebp - 0x18], 0xffffffff
je 0xbc8bde
call fcn.00bcda03
xor ebx, ebx
mov dword [0x40c30], 0
jmp 0xbc8c39
imul eax, eax, 0x18
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
add eax, 0x8a4c
push eax
push edx
call fcn.00bcc311
add esp, 0x18
call fcn.00bbfaf4
add esp, 0x18
test eax, eax
jne 0xbc8c43
mov edx, dword [0x40c30]
imul eax, edx, 0x18
mov al, byte [eax + 0x8a4c]
test al, al
js 0xbc8c31
movzx eax, al
inc eax
cmp ebx, eax
jae 0xbc8c31
mov ebx, eax
lea eax, [edx + 1]
mov dword [0x40c30], eax
mov eax, dword [0x40c30]
cmp eax, 7
jbe 0xbc8bec
mov cl, byte [0x8b3a]
mov al, cl
and al, 1
mov byte [ebp - 0x99], al
jne 0xbc8c59
xor eax, eax
jmp 0xbc8c62
mov al, cl
sar al, 6
movsx eax, al
inc eax
cmp ebx, 4
mov edx, ebx
jbe 0xbc8c6e
mov edx, 4
cmp edx, eax
ja 0xbc8cb2
mov al, byte [0x410]
xor edx, edx
test al, 1
je 0xbc8c86
sar al, 6
movsx eax, al
lea edx, [eax + 1]
xor eax, eax
cmp byte [ebp - 0x99], 0
je 0xbc8c9a
mov al, cl
sar al, 6
movsx eax, al
inc eax
cmp edx, eax
jle 0xbc8cb2
cmp dword [0x32624], 0
mov byte [0x410], cl
jle 0xbc8cb2
call fcn.00bc177f
xor ebx, ebx
mov dword [0x40c30], 0
jmp 0xbc8d0f
imul eax, eax, 0x18
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
add eax, 0x8a4c
push eax
push edx
call fcn.00bcc311
add esp, 0x18
call fcn.00bbfaf4
add esp, 0x18
test eax, eax
jne 0xbc8d19
mov edx, dword [0x40c30]
imul eax, edx, 0x18
mov al, byte [eax + 0x8a4c]
test al, al
jns 0xbc8d07
movzx eax, al
sub eax, 0x7f
cmp ebx, eax
jae 0xbc8d07
mov ebx, eax
lea eax, [edx + 1]
mov dword [0x40c30], eax
mov eax, dword [0x40c30]
cmp eax, 7
jbe 0xbc8cc0
mov dl, byte [0x8b3b]
movsx eax, dl
cmp ebx, eax
ja 0xbc8d42
cmp byte [0x475], dl
jle 0xbc8d42
cmp dword [0x32624], 0
mov byte [0x475], dl
jle 0xbc8d42
call fcn.00bc177f
mov eax, 1
jmp 0xbc8d57
mov edx, dword [ebp - 0x54]
mov dword [0x33be0], edx
jmp 0xbc85d0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret