Function at 0xb5baa8
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.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5bedc
call fcn.00b56ab7
push edi
push edi
push dword [0x9c2e]
push 0x2ab67
call fcn.00b610d9
mov eax, dword [0x33c28]
add esp, 0x10
cmp eax, 0xffffffff
je 0xb5bb80
push dword [0x33c2c]
push eax
push dword [0x40a80]
push 0x2ab85
call fcn.00b610d9
add esp, 0x10
sub esp, 0xc
push 1
call fcn.00b4f877
add esp, 0x10
test eax, eax
je 0xb5bbc7
sub esp, 0x18
mov eax, esp
sub esp, 0xc
push 0x18
push 0x8a4c
push eax
call fcn.00b61649
add esp, 0x18
call fcn.00b54e2c
add esp, 0x18
test eax, eax
je 0xb5bbc7
sub esp, 0xc
push 0x2abb2
call fcn.00b610d9
jmp 0xb5bf8e
sub esp, 0xc
push 0x2abf3
call fcn.00b610d9
mov dword [esp], 1
call fcn.00b4f877
add esp, 0x10
test eax, eax
jne 0xb5bd5f
mov dword [0x40c30], 0
jmp 0xb5bd51
imul eax, eax, 0x18
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
add eax, 0x8b50
push eax
push edx
call fcn.00b61649
add esp, 0x18
call fcn.00b54e2c
add esp, 0x18
test eax, eax
jne 0xb5bd5f
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.00b61649
imul eax, ebx, 0x18
mov edx, esp
push esi
push 0x18
add eax, 0x8a4c
push eax
push edx
call fcn.00b61649
add esp, 0x10
call fcn.00b58038
add esp, 0x30
test eax, eax
jne 0xb5bc6e
inc ebx
cmp ebx, 8
jne 0xb5bc28
mov edx, dword [0x40c30]
imul eax, edx, 0x18
mov cl, byte [eax + 0x8b53]
test cl, cl
mov byte [ebp - 0xa1], cl
jns 0xb5bc9e
movzx eax, byte [eax + 0x8b57]
and eax, 0x40
cmp eax, 1
sbb ecx, ecx
and ecx, 0xc
add ecx, 0x46
jmp 0xb5bcb3
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 0xb5bcee
mov bl, byte [ebx + 0x8b51]
mov al, 0x46
test bl, bl
jns 0xb5bcee
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.00b610d9
add esp, 0x40
inc dword [0x40c30]
mov eax, dword [0x40c30]
cmp eax, 7
jbe 0xb5bbfa
mov dword [0x40c30], 0
jmp 0xb5bec9
imul eax, eax, 0x18
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
add eax, 0x8a4c
push eax
push edx
call fcn.00b61649
add esp, 0x18
call fcn.00b54e2c
add esp, 0x18
test eax, eax
jne 0xb5e07a
sub esp, 0xc
push 1
call fcn.00b4f877
add esp, 0x10
test eax, eax
jne 0xb5bdf7
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.00b61649
imul eax, ebx, 0x18
mov edx, esp
push esi
push 0x18
add eax, 0x8b50
push eax
push edx
call fcn.00b61649
add esp, 0x10
call fcn.00b58038
add esp, 0x30
test eax, eax
jne 0xb5bec3
inc ebx
cmp ebx, 8
jne 0xb5bdad
mov edx, dword [0x40c30]
imul eax, edx, 0x18
movzx edi, byte [eax + 0x8a4f]
mov ebx, edi
test bl, bl
jns 0xb5be24
movzx eax, byte [eax + 0x8a53]
and eax, 0x40
cmp eax, 1
sbb ecx, ecx
and ecx, 0xc
add ecx, 0x46
jmp 0xb5be39
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 0xb5be68
mov bl, byte [ebx + 0x8a4d]
mov al, 0x46
test bl, bl
jns 0xb5be68
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.00b610d9
add esp, 0x40
inc dword [0x40c30]
mov eax, dword [0x40c30]
cmp eax, 7
jbe 0xb5bd6e
jmp 0xb5e07a
push eax
push 6
push 0x2acf0
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
je 0xb5bf27
push eax
push 8
push 0x2acf7
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5bf12
sub esp, 0xc
push 0
call fcn.00b4f877
jmp 0xb5bf7a
push ecx
push 8
push 0x2ad00
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5bf98
sub esp, 0xc
push 0
call fcn.00b4f877
sub esp, 0x18
mov eax, esp
sub esp, 0xc
push 0x18
push 0x8a4c
push eax
call fcn.00b61649
add esp, 0x18
call fcn.00b54e2c
add esp, 0x28
test eax, eax
je 0xb5bf6d
cmp dword [0x9c2e], 0
jne 0xb5bf6d
mov dword [0x33c34], 0x3d
jmp 0xb5c0a6
sub esp, 0xc
push 0x8a4c
call fcn.00b4f80e
mov dword [0x33018], 0xffffffff
mov dword [0x3301c], 0xffffffff
mov eax, 1
jmp 0xb5c8e3
push edx
push 0xb
push 0x2ad09
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c012
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.00b618f4
add esp, 0x10
test eax, eax
je 0xb5c0a6
mov eax, dword [ebp - 0x24]
cmp eax, 2
jbe 0xb5bfe4
mov dword [0x33c34], 0x30
jmp 0xb5c0a6
mov dl, byte [0x410]
and edx, 0x3e
test eax, eax
mov byte [0x410], dl
je 0xb5e07a
dec eax
setne al
dec eax
and eax, 0xffffffc0
add eax, 0x41
or eax, edx
mov byte [0x410], al
jmp 0xb5e07a
push eax
push 0xd
push 0x2ad15
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c061
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.00b618f4
add esp, 0x10
test eax, eax
je 0xb5c0a6
mov eax, dword [ebp - 0x24]
cmp eax, 0x7f
jbe 0xb5c057
mov dword [0x33c34], 0x31
jmp 0xb5c0a6
mov byte [0x475], al
jmp 0xb5e07a
push eax
push 0xc
push 0x2ad23
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c0b7
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.00b618f4
add esp, 0x10
test eax, eax
je 0xb5c0a6
mov eax, dword [ebp - 0x24]
cmp eax, 0xfe
jbe 0xb5c0ad
mov dword [0x33c34], 0x38
xor eax, eax
jmp 0xb5e08f
mov dword [0x40a80], eax
jmp 0xb5e07a
push eax
push 0xa
push 0x2ad30
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c0f5
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.00b618f4
add esp, 0x10
test eax, eax
je 0xb5c0a6
mov eax, dword [ebp - 0x24]
mov dword [0x33c28], eax
jmp 0xb5e07a
push edx
push 0xa
push 0x2ad3b
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c133
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.00b618f4
add esp, 0x10
test eax, eax
je 0xb5c0a6
mov eax, dword [ebp - 0x24]
mov dword [0x33c2c], eax
jmp 0xb5e07a
push eax
push 0xe
push 0x2ad46
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c157
lea eax, [esi + 0xe]
mov dword [ebp - 0x14], eax
push eax
push eax
push 0x9c3a
jmp 0xb5c1c1
push eax
push 0xe
push 0x2ad55
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c17b
lea eax, [esi + 0xe]
mov dword [ebp - 0x14], eax
push eax
push eax
push 0x9c3e
jmp 0xb5c1c1
push eax
push 0x10
push 0x2ad64
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c19f
push ecx
push ecx
lea eax, [esi + 0x10]
push 0x8c47
mov dword [ebp - 0x14], eax
jmp 0xb5c1c1
push edx
push 0xf
push 0x2ad75
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c1da
lea eax, [esi + 0xf]
mov dword [ebp - 0x14], eax
push eax
push eax
push 0x8c4b
lea eax, [ebp - 0x14]
push eax
call fcn.00b618f4
add esp, 0x10
test eax, eax
setne al
movzx eax, al
jmp 0xb5e08f
push eax
push 6
push 0x2ad85
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c222
lea eax, [esi + 6]
mov dword [ebp - 0x14], eax
push eax
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
call fcn.00b618f4
add esp, 0x10
test eax, eax
je 0xb5c0a6
cmp dword [ebp - 0x18], 0xffffffff
jne 0xb5c454
mov dword [ebp - 0x18], 0xfffffffe
jmp 0xb5c454
push eax
push 5
push 0x2ad8c
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c243
mov dword [ebp - 0x18], 0
jmp 0xb5c454
push eax
push 0xb
push 0x2ad92
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c278
mov eax, dword [ebp - 0x90]
or dword [ebp - 0x8c], eax
mov edx, dword [ebp - 0x8c]
or edx, dword [ebp - 0x94]
je 0xb5c440
jmp 0xb5c2ed
push eax
push 0xc
push 0x2ad9e
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c2c0
mov ecx, dword [ebp - 0x8c]
or dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x90]
or eax, dword [ebp - 0x94]
jne 0xb5c2ed
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x90], 1
jmp 0xb5c454
push ecx
push 0xd
push 0x2adab
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c2fc
cmp dword [ebp - 0x8c], 0
jne 0xb5c2ed
mov dword [ebp - 0x8c], 1
jmp 0xb5c454
mov dword [0x33c34], 0x44
jmp 0xb5c0a6
push edx
push 0x12
push 0x2adb9
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c320
mov dword [ebp - 0x84], 1
jmp 0xb5c454
push eax
push 0x12
push 0x2adcc
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c344
mov dword [ebp - 0x88], 1
jmp 0xb5c454
push eax
push 0xa
push 0x2addf
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c365
mov dword [ebp - 0x78], 2
jmp 0xb5c454
push eax
push 9
push 0x2adea
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c386
mov dword [ebp - 0x78], 1
jmp 0xb5c454
push eax
push 8
push 0x2adf4
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c3a5
lea eax, [esi + 8]
mov dword [ebp - 0x14], eax
push eax
push eax
jmp 0xb5c3cf
push eax
push 0x15
push 0x2adfd
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c3fc
sub esp, 0xc
push 0x2ae13
call fcn.00b610d9
lea eax, [esi + 0x15]
pop edx
pop ecx
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
push eax
push ebx
call fcn.00b618f4
add esp, 0x10
test eax, eax
je 0xb5c0a6
cmp dword [ebp - 0x20], 0x100
jbe 0xb5c454
mov dword [0x33c34], 0x32
jmp 0xb5c0a6
push eax
push 0x14
push 0x2ae95
push esi
call fcn.00b60d6e
add esp, 0x10
test eax, eax
jne 0xb5c468
lea eax, [esi + 0x14]
mov dword [ebp - 0x14], eax
push eax
push eax
push edi
push ebx
call fcn.00b618f4
add esp, 0x10
test eax, eax
je 0xb5c0a6
cmp dword [ebp - 0x1c], 0x3f
jbe 0xb5c454
mov dword [0x33c34], 0x36
jmp 0xb5c0a6
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x94], 1
push eax
push eax
push esi
push 0
call fcn.00b61f98
add esp, 0x10
mov esi, eax
jmp 0xb5bb29
push eax
push eax
push esi
push 0
call fcn.00b61f98
mov dword [esp], eax
call fcn.00b62d5d
add esp, 0x10
cmp dword [0x33c34], 0
jne 0xb5c0a6
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 0xb5c4b5
cmp byte [ebp - 0x9c], 0
jne 0xb5c4fb
sub esp, 0xc
push esi
call fcn.00b62d5d
add esp, 0x10
cmp dword [0x33c34], 0
mov edi, eax
je 0xb5c4e2
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 0xb5c50a
cmp byte [ebp - 0x9c], 0
je 0xb5c50a
mov dword [0x33c34], 0x39
jmp 0xb5c0a6
cmp dword [ebp - 0x98], 0xffff
je 0xb5c524
mov ebx, dword [ebp - 0x98]
cmp ebx, dword [0x40a80]
jne 0xb5c531
cmp dword [ebp - 0x18], 0xffffffff
jne 0xb5c531
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], 0xffffffff
je 0xb5c54f
cmp byte [ebp - 0x9c], 0
je 0xb5c54f
mov dword [0x33c34], 0x3a
jmp 0xb5c0a6
cmp dword [ebp - 0x78], 1
jne 0xb5c613
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.00b60f78
mov dword [esp], ebx
call fcn.00b63dac
add esp, 0x10
test eax, eax
je 0xb5c0a6
push eax
push eax
push 0x200
push 0x77e00
call fcn.00b64974
add esp, 0x10
cmp eax, 0x200
jne 0xb5cb13
call fcn.00b62d3b
mov edx, dword [ebp - 0x74]
mov dword [0x40c30], 0
mov dword [0x40d34], edx
jmp 0xb5c5fa
mov edx, eax
shl edx, 4
cmp byte [edx + 0x77fc2], 0
je 0xb5c613
cmp byte [edx + 0x77fc0], 0
je 0xb5c613
cmp byte [edx + 0x77fc4], 0
je 0xb5c613
cmp dword [edx + 0x77fc6], 0
je 0xb5c613
cmp dword [edx + 0x77fca], 0
je 0xb5c613
inc eax
mov dword [0x40c30], eax
mov eax, dword [0x40c30]
cmp eax, 3
jbe 0xb5c5c2
mov dword [0x33c34], 0x40
jmp 0xb5c0a6
cmp dword [0x40d34], 0xffffff
jne 0xb5c704
test edi, edi
je 0xb5c704
mov al, byte [edi]
cmp al, 0x20
je 0xb5c639
cmp al, 9
jne 0xb5c704
cmp dword [ebp - 0x98], 0xffff
jne 0xb5c66f
mov eax, dword [ebp - 0x18]
test eax, eax
jg 0xb5c65b
mov dword [0x33c34], 0x3b
jmp 0xb5c0a6
mov dword [0x33be0], eax
mov dword [0x33be4], 1
jmp 0xb5c704
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [0x40a80]
jne 0xb5c6bd
mov eax, dword [0x33c28]
test eax, 0x1ff
jne 0xb5c68d
test eax, eax
jne 0xb5c69c
mov dword [0x33c34], 0x41
jmp 0xb5c0a6
shr eax, 9
mov dword [ebp - 0x18], eax
mov dword [0x33be0], eax
mov dword [0x33be4], 1
mov dword [ebp - 0x98], 0xffff
jmp 0xb5c704
cmp dword [ebp - 0x20], 0
jg 0xb5cbd5
cmp dword [ebp - 0x1c], 0
jg 0xb5cbd5
cmp dword [ebp - 0x18], 0xffffffff
je 0xb5c6f1
mov ebx, dword [ebp - 0x50]
cmp dword [ebp - 0x98], ebx
je 0xb5c6f1
mov dword [0x33c34], 0x43
jmp 0xb5c0a6
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x20], 1
jmp 0xb5d361
cmp dword [ebp - 0x18], 0xffffffff
jne 0xb5c784
push edi
push edi
push dword [ebp + 0xc]
mov dword [0x338bc], 0xffffffff
push esi
call fcn.00b5b146
add esp, 0x10
cmp dword [0x33c34], 0
jne 0xb5c0a6
cmp dword [0x338bc], 1
je 0xb5c74d
cmp dword [ebp - 0x18], 0xffffffff
jne 0xb5c74d
mov dword [0x33c34], 0x3c
jmp 0xb5c0a6
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 0xb5c784
test edx, edx
je 0xb5c784
dec eax
jne 0xb5c784
mov eax, dword [0x40c00]
mov dword [0x33be4], eax
cmp dword [ebp - 0x98], 0xffff
jne 0xb5c7bb
cmp dword [0x33be4], 1
jne 0xb5c7bb
mov eax, dword [0x33be0]
push ebx
push 0x200
shl eax, 9
push eax
push dword [0x32ed4]
call fcn.00b61649
add esp, 0x10
jmp 0xb5c8eb
sub esp, 0xc
push esi
call fcn.00b63dac
add esp, 0x10
test eax, eax
je 0xb5c0a6
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.00b64974
add esp, 0x10
mov dword [0x33c3c], 0
mov dword [0x33c48], 0
cmp eax, 0x200
jne 0xb5cb13
mov eax, dword [0x40c08]
mov edx, dword [0x33be0]
add eax, 0x1ff
shr eax, 9
cmp edx, dword [0x40bf8]
mov dword [0x33be4], eax
jne 0xb5c8b4
dec eax
jne 0xb5c8b4
cmp dword [ebp - 0x18], 0xffffffff
je 0xb5c8a6
call fcn.00b62d3b
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.00b60f78
add esp, 0x14
push 0x77e00
call fcn.00b63dac
add esp, 0x10
test eax, eax
je 0xb5c0a6
mov dword [0x40c48], 0x200
jmp 0xb5c8b4
test edx, edx
je 0xb5c8b4
mov eax, dword [0x40c00]
mov dword [0x33be4], eax
cmp dword [ebp - 0x18], 0xffffffff
jne 0xb5c8bf
call fcn.00b62d3b
cmp dword [ebp - 0x98], 0xffff
jne 0xb5c8eb
cmp dword [0x33be4], 1
jne 0xb5c8eb
sub esp, 0xc
push 0x2aebb
call fcn.00b610d9
xor eax, eax
add esp, 0x10
jmp 0xb5e08f
cmp dword [0x40c24], 0x800
jne 0xb5c8fe
shl dword [0x33be0], 2
mov eax, dword [0x32ed4]
cmp word [eax + 0x1fe], 0xaa55
jne 0xb5cc7b
push eax
call fcn.00b54f6a
pop edx
test eax, eax
jne 0xb5cbe4
cmp dword [0x32624], 0
jle 0xb5c980
mov eax, dword [0x32ed4]
mov ecx, 0x2a9d7
cmp byte [eax], 0xeb
je 0xb5c93e
mov ecx, 0x2a9dc
mov eax, dword [0x409ac]
mov edx, 0x2a9e8
cmp eax, 1
je 0xb5c970
cmp eax, 2
mov edx, 0x2a9ee
je 0xb5c970
cmp eax, 3
mov edx, 0x2a9f4
je 0xb5c970
cmp eax, 4
mov edx, 0x2a9fa
je 0xb5c970
mov edx, 0x2a9ff
push eax
push ecx
push edx
push 0x2af01
call fcn.00b610d9
add esp, 0x10
mov edx, dword [0x33be4]
cmp edx, 1
je 0xb5c9d2
cmp dword [0x32624], 0
jle 0xb5c9d2
mov ecx, dword [0x409f4]
cmp ecx, edx
jbe 0xb5c9b7
sub esp, 0xc
lea eax, [ecx - 1]
push eax
push edx
push edx
push ecx
push 0x2af36
call fcn.00b610d9
add esp, 0x20
jmp 0xb5c9d2
jae 0xb5c9d2
cmp dword [0x338c4], 0
jne 0xb5c9d2
push eax
push edx
push ecx
push 0x2b081
call fcn.00b610d9
add esp, 0x10
cmp dword [ebp - 0x18], 0xffffffff
jne 0xb5d26b
cmp dword [ebp - 0xa0], 0
je 0xb5d26b
cmp byte [ebp - 0x98], 0
jns 0xb5d26b
mov edx, dword [0x33be0]
cmp edx, dword [0x40bf8]
jne 0xb5d26b
test edx, edx
je 0xb5d26b
mov eax, dword [0x33be4]
cmp eax, dword [0x40c00]
jne 0xb5d26b
mov ecx, dword [0x32ed4]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [0x409cc]
ja 0xb5ca35
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 0xb5ca70
sub esp, 0xc
push esi
push ebx
push dword [0x4099c]
push dword [0x409a4]
push 0x2b0de
call fcn.00b610d9
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 0xb5d279
sub edi, ebx
cmp dword [0x32624], 0
lea ebx, [esi + ebx]
jle 0xb5cabf
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.00b610d9
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.00b60f78
add esp, 0x14
push dword [0x32ed4]
call fcn.00b63dac
add esp, 0x10
test eax, eax
je 0xb5c0a6
push eax
push eax
push 0x200
push dword [0x32ed4]
call fcn.00b64974
add esp, 0x10
cmp eax, 0x200
je 0xb5cb34
call fcn.00b62d3b
cmp dword [0x33c34], 0
jne 0xb5c0a6
mov dword [0x33c34], 0xd
jmp 0xb5c0a6
call fcn.00b62d3b
mov dword [0x40c30], 0
jmp 0xb5cba6
mov ecx, dword [0x32ed4]
mov eax, edx
shl eax, 4
mov al, byte [ecx + eax + 0x1c2]
cmp al, 5
je 0xb5cb63
cmp al, 0xf
je 0xb5cb63
test al, al
jne 0xb5cba0
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 0xb5cb45
cmp dword [ebp - 0x20], 0
mov dword [0x40bf8], edi
mov dword [0x40c00], ebx
mov dword [0x33be0], edi
mov dword [0x33be4], ebx
jg 0xb5cbd5
cmp dword [ebp - 0x1c], 0
jle 0xb5cbf2
mov dword [0x33c34], 0x42
jmp 0xb5c0a6
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.00b551bd
add esp, 0x10
test eax, eax
jne 0xb5cc89
cmp ebx, 1
je 0xb5d279
cmp dword [0x32624], 0
jle 0xb5d279
mov edx, dword [0x409f4]
cmp edx, ebx
jbe 0xb5cc53
sub esp, 0xc
lea eax, [edx - 1]
push eax
push ebx
push ebx
push edx
push 0x2b16f
call fcn.00b610d9
add esp, 0x20
jmp 0xb5d279
jae 0xb5d279
cmp dword [0x338c4], 0
jne 0xb5d279
push esi
push ebx
push edx
push 0x2b302
call fcn.00b610d9
add esp, 0x10
jmp 0xb5d279
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov ecx, dword [ebp - 0x7c]
or ecx, dword [ebp - 0x80]
jne 0xb5d2e9
mov eax, dword [0x32ed4]
cmp word [eax + 0x1fe], 0xaa55
je 0xb5ccbf
cmp dword [ebp - 0x20], 0
jns 0xb5ccb2
mov dword [ebp - 0x20], 0
cmp dword [ebp - 0x1c], 0
jns 0xb5ccbf
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x20]
cmp eax, 0
jge 0xb5cd38
cmp dword [ebp - 0xa0], 0
jne 0xb5cd04
mov eax, dword [0x33be4]
cmp eax, 0x960
je 0xb5cd1e
ja 0xb5ccec
cmp eax, 0x2d0
je 0xb5cd1e
cmp eax, 0x5a0
jmp 0xb5ccf8
cmp eax, 0xb40
je 0xb5cd1e
cmp eax, 0x1680
je 0xb5cd1e
sub eax, 2
cmp eax, 0x167d
jbe 0xb5cd1e
cmp dword [ebp - 0x18], 0xffffffff
je 0xb5cd0f
call fcn.00b62d3b
mov dword [0x33c34], 0x3e
jmp 0xb5c0a6
cmp dword [0x32624], 0
mov dword [ebp - 0x20], 2
jle 0xb5cdc0
push ebx
push ebx
push 2
jmp 0xb5cda0
jne 0xb5cda7
cmp dword [ebp - 0xa0], 0
jne 0xb5cd6f
mov eax, dword [0x33be4]
cmp eax, 0x140
je 0xb5cd66
ja 0xb5cd58
cmp eax, 1
jne 0xb5cd78
jmp 0xb5cd6f
cmp eax, 0x168
je 0xb5cd66
cmp eax, 0x1f4
jne 0xb5cd78
mov dword [ebp - 0x20], 1
jmp 0xb5cd89
mov dword [ebp - 0x20], 0xff
jmp 0xb5cd89
cmp eax, 0x1f802
sbb eax, eax
and al, 3
add eax, 0xff
mov dword [ebp - 0x20], eax
cmp dword [0x32624], 0
jle 0xb5cdc0
cmp dword [ebp - 0x50], 0x9f
ja 0xb5cdc0
push ecx
push ecx
push dword [ebp - 0x20]
push 0x2b37b
jmp 0xb5cdb8
cmp dword [0x32624], 0
jle 0xb5cdc0
push edx
push edx
push eax
push 0x2b3b5
call fcn.00b610d9
add esp, 0x10
mov eax, dword [ebp - 0x1c]
cmp eax, 0
jge 0xb5ce70
cmp dword [ebp - 0xa0], 0
jne 0xb5ce44
mov edx, dword [0x33be4]
cmp edx, 0x960
je 0xb5ce12
ja 0xb5cdf7
cmp edx, 0x2d0
je 0xb5ce09
cmp edx, 0x5a0
jne 0xb5ce1b
jmp 0xb5ce09
cmp edx, 0xb40
je 0xb5ce25
cmp edx, 0x1680
jne 0xb5ce1b
jmp 0xb5ce3b
mov dword [ebp - 0x1c], 9
jmp 0xb5ce5e
mov dword [ebp - 0x1c], 0xf
jmp 0xb5ce5e
lea eax, [edx - 2]
cmp eax, 0xb3d
ja 0xb5ce2e
mov dword [ebp - 0x1c], 0x12
jmp 0xb5ce5e
lea eax, [edx - 0xb41]
cmp eax, 0xb3e
ja 0xb5ce44
mov dword [ebp - 0x1c], 0x24
jmp 0xb5ce5e
cmp dword [ebp - 0x18], 0xffffffff
je 0xb5ce4f
call fcn.00b62d3b
mov dword [0x33c34], 0x3f
jmp 0xb5c0a6
cmp dword [0x32624], 0
jle 0xb5d361
jmp 0xb5d242
jne 0xb5d251
mov eax, dword [0x33be4]
cmp eax, 1
jne 0xb5ce8c
mov dword [ebp - 0x1c], 1
jmp 0xb5d228
cmp dword [ebp - 0xa0], 0
je 0xb5cea1
mov dword [ebp - 0x1c], 0x3f
jmp 0xb5d228
cmp eax, 0x9d8
je 0xb5d199
ja 0xb5cff4
cmp eax, 0x5d6
je 0xb5d15d
ja 0xb5cf54
cmp eax, 0x320
je 0xb5d169
ja 0xb5cf0f
cmp eax, 0x190
je 0xb5d145
ja 0xb5ceef
cmp eax, 0x140
je 0xb5d151
cmp eax, 0x168
jmp 0xb5cf49
cmp eax, 0x280
je 0xb5d151
cmp eax, 0x2d0
je 0xb5d15d
cmp eax, 0x1f4
jmp 0xb5cf9b
cmp eax, 0x500
je 0xb5d151
ja 0xb5cf2e
cmp eax, 0x348
je 0xb5d169
cmp eax, 0x3e8
jmp 0xb5cf9b
cmp eax, 0x5b2
je 0xb5d15d
cmp eax, 0x5c4
je 0xb5d15d
cmp eax, 0x5a0
jne 0xb5d208
jmp 0xb5d15d
cmp eax, 0x70c
je 0xb5d175
ja 0xb5cfa6
cmp eax, 0x654
je 0xb5d169
ja 0xb5cf80
cmp eax, 0x5e8
je 0xb5d15d
cmp eax, 0x640
jmp 0xb5cf9b
cmp eax, 0x67c
je 0xb5d169
cmp eax, 0x690
je 0xb5d169
cmp eax, 0x668
jne 0xb5d208
jmp 0xb5d169
cmp eax, 0x960
je 0xb5d199
ja 0xb5cfce
cmp eax, 0x7b0
je 0xb5d181
cmp eax, 0x854
jne 0xb5d208
jmp 0xb5d18d
cmp eax, 0x99c
je 0xb5d199
cmp eax, 0x9ba
je 0xb5d199
cmp eax, 0x97e
jne 0xb5d208
jmp 0xb5d199
cmp eax, 0xcd0
je 0xb5d1b7
ja 0xb5d0a5
cmp eax, 0xb64
je 0xb5d20f
ja 0xb5d057
cmp eax, 0xae4
je 0xb5d1a5
ja 0xb5d031
cmp eax, 0xaa0
je 0xb5d1a5
cmp eax, 0xac2
jmp 0xb5d04c
cmp eax, 0xb28
je 0xb5d1a5
cmp eax, 0xb40
je 0xb5d20f
cmp eax, 0xb06
jne 0xb5d208
jmp 0xb5d1a5
cmp eax, 0xbd0
je 0xb5d20f
ja 0xb5d07f
cmp eax, 0xb88
je 0xb5d20f
cmp eax, 0xbac
jne 0xb5d208
jmp 0xb5d20f
cmp eax, 0xc80
je 0xb5d1b7
cmp eax, 0xca8
je 0xb5d1b7
cmp eax, 0xc2c
jne 0xb5d208
jmp 0xb5d1ae
cmp eax, 0xe18
je 0xb5d1c9
ja 0xb5d0f7
cmp eax, 0xd4a
je 0xb5d1c0
ja 0xb5d0d1
cmp eax, 0xcf8
je 0xb5d1b7
cmp eax, 0xd20
jmp 0xb5d0ec
cmp eax, 0xd9e
je 0xb5d1c0
cmp eax, 0xdc8
je 0xb5d1c0
cmp eax, 0xd74
jne 0xb5d208
jmp 0xb5d1c0
cmp eax, 0x18fc
je 0xb5d1e4
ja 0xb5d11f
cmp eax, 0xebc
je 0xb5d1d2
cmp eax, 0x1680
jne 0xb5d208
jmp 0xb5d1db
cmp eax, 0x1cd4
je 0xb5d1f6
cmp eax, 0x1d78
je 0xb5d1ff
cmp eax, 0x1c30
jne 0xb5d208
jmp 0xb5d1ed
mov dword [ebp - 0x1c], 5
jmp 0xb5d228
mov dword [ebp - 0x1c], 8
jmp 0xb5d228
mov dword [ebp - 0x1c], 9
jmp 0xb5d228
mov dword [ebp - 0x1c], 0xa
jmp 0xb5d228
mov dword [ebp - 0x1c], 0xb
jmp 0xb5d228
mov dword [ebp - 0x1c], 0xc
jmp 0xb5d228
mov dword [ebp - 0x1c], 0xd
jmp 0xb5d228
mov dword [ebp - 0x1c], 0xf
jmp 0xb5d228
mov dword [ebp - 0x1c], 0x11
jmp 0xb5d228
mov dword [ebp - 0x1c], 0x13
jmp 0xb5d228
mov dword [ebp - 0x1c], 0x14
jmp 0xb5d228
mov dword [ebp - 0x1c], 0x15
jmp 0xb5d228
mov dword [ebp - 0x1c], 0x16
jmp 0xb5d228
mov dword [ebp - 0x1c], 0x17
jmp 0xb5d228
mov dword [ebp - 0x1c], 0x24
jmp 0xb5d228
mov dword [ebp - 0x1c], 0x27
jmp 0xb5d228
mov dword [ebp - 0x1c], 0x2c
jmp 0xb5d228
mov dword [ebp - 0x1c], 0x2d
jmp 0xb5d228
mov dword [ebp - 0x1c], 0x2e
jmp 0xb5d228
cmp eax, 0xb41
ja 0xb5d218
mov dword [ebp - 0x1c], 0x12
jmp 0xb5d228
cmp eax, 0x1682
sbb eax, eax
and eax, 0xffffffe5
add eax, 0x3f
mov dword [ebp - 0x1c], eax
cmp dword [0x32624], 0
jle 0xb5d361
cmp dword [ebp - 0x50], 0x9f
ja 0xb5d361
push eax
push eax
push dword [ebp - 0x1c]
push 0x2b3ef
jmp 0xb5d359
cmp dword [0x32624], 0
jle 0xb5d361
push edi
push edi
push eax
push 0x2b42b
jmp 0xb5d359
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
cmp dword [0x32624], 0
jle 0xb5d2aa
sub esp, 0xc
push dword [0x409f4]
push dword [0x409cc]
push dword [0x4099c]
push dword [0x409a4]
push 0x2b467
call fcn.00b610d9
add esp, 0x20
mov edx, dword [ebp - 0x18]
cmp edx, 0xffffffff
je 0xb5d2cb
test edx, edx
jg 0xb5d2cb
mov eax, dword [0x409f4]
neg edx
cmp edx, eax
jae 0xb5d2cb
cmp eax, 1
je 0xb5d2cb
neg eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x7c]
or ebx, dword [ebp - 0x80]
je 0xb5d303
mov edi, dword [ebp - 0x80]
cmp edi, dword [0x4099c]
jne 0xb5d2e9
mov eax, dword [ebp - 0x7c]
cmp eax, dword [0x409cc]
je 0xb5d303
cmp dword [ebp - 0x18], 0xffffffff
je 0xb5d2f4
call fcn.00b62d3b
mov dword [0x33c34], 0x29
jmp 0xb5c0a6
mov eax, dword [ebp - 0x20]
mov edx, dword [0x4099c]
test eax, eax
jg 0xb5d315
mov dword [ebp - 0x20], edx
jmp 0xb5d332
cmp eax, edx
je 0xb5d332
cmp dword [0x32624], 0
jle 0xb5d332
push esi
push eax
push edx
push 0x2b49c
call fcn.00b610d9
add esp, 0x10
mov eax, dword [ebp - 0x1c]
mov edx, dword [0x409cc]
test eax, eax
jg 0xb5d344
mov dword [ebp - 0x1c], edx
jmp 0xb5d361
cmp eax, edx
je 0xb5d361
cmp dword [0x32624], 0
jle 0xb5d361
push ebx
push eax
push edx
push 0x2b50a
call fcn.00b610d9
add esp, 0x10
mov dword [0x40c30], 0
jmp 0xb5d3a8
imul ecx, eax, 0x18
movzx eax, byte [ecx + 0x8a4c]
cmp eax, dword [ebp - 0x50]
je 0xb5d3b2
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
lea eax, [ecx + 0x8a4c]
push eax
push edx
call fcn.00b61649
add esp, 0x18
call fcn.00b54e2c
add esp, 0x18
test eax, eax
jne 0xb5d3b2
inc dword [0x40c30]
mov eax, dword [0x40c30]
cmp eax, 7
jbe 0xb5d36d
cmp dword [0x40c30], 8
jne 0xb5d3ca
cmp dword [ebp - 0x18], 0xffffffff
je 0xb5d8f9
jmp 0xb5d8f4
cmp dword [ebp - 0x94], 0
mov edx, dword [ebp - 0x50]
sete byte [ebp - 0x9b]
cmp dword [ebp - 0x98], edx
jne 0xb5d429
cmp byte [ebp - 0x9b], 0
je 0xb5d429
mov eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x90]
or eax, dword [ebp - 0x88]
jne 0xb5d429
cmp dword [0x33be0], 0
jne 0xb5d429
mov eax, dword [0x33be4]
test eax, eax
je 0xb5de7e
dec eax
jne 0xb5d429
cmp dword [ebp - 0x20], 0
jg 0xb5d429
cmp dword [ebp - 0x1c], 1
jle 0xb5de7e
xor ebx, ebx
sub esp, 0xc
push 1
call fcn.00b4f877
add esp, 0x10
test eax, eax
jne 0xb5d522
imul edx, ebx, 0x18
movzx eax, byte [edx + 0x8b50]
cmp dword [ebp - 0x98], eax
jne 0xb5d522
mov al, byte [edx + 0x8b51]
movzx ecx, al
inc al
mov dword [ebp - 0x98], ecx
jne 0xb5d47c
test byte [edx + 0x8b55], 0x40
jne 0xb5d47c
mov dword [ebp - 0x98], 0xffff
mov ecx, dword [0x33be0]
test ecx, ecx
jne 0xb5d4c4
mov eax, dword [0x33be4]
test eax, eax
je 0xb5d49e
dec eax
jne 0xb5d4c4
cmp dword [ebp - 0x20], 0
jg 0xb5d4c4
cmp dword [ebp - 0x1c], 1
jg 0xb5d4c4
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 0xb5d52c
cmp byte [ebp - 0x9b], 0
je 0xb5d52c
mov eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x90]
or eax, dword [ebp - 0x88]
jne 0xb5d52c
test edx, edx
jne 0xb5d52c
mov eax, dword [0x33be4]
test eax, eax
je 0xb5de7e
dec eax
jne 0xb5d52c
cmp dword [ebp - 0x20], 0
jg 0xb5d52c
cmp dword [ebp - 0x1c], 1
jg 0xb5d52c
jmp 0xb5de7e
inc ebx
cmp ebx, 8
jne 0xb5d42b
mov edx, dword [ebp - 0x18]
mov edi, dword [0x40c30]
cmp edx, 0xffffffff
mov dword [ebp - 0x4c], edi
je 0xb5dbee
mov eax, dword [0x33be0]
cmp eax, dword [0x40bf8]
mov dword [ebp - 0x54], eax
jne 0xb5d568
test eax, eax
jne 0xb5d568
cmp dword [0x33be4], 1
jne 0xb5d568
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 0xb5d591
neg edx
mov eax, edx
cdq
shld edx, eax, 9
shl eax, 9
cmp ebx, edx
jb 0xb5d58f
cmp ecx, eax
jae 0xb5d591
mov ecx, eax
cmp dword [0x409ac], 0
je 0xb5d5ab
cmp dword [ebp - 0xa0], 0
je 0xb5d5ab
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 0xb5d5db
mov edx, dword [ebp - 0x98]
cmp edx, dword [0x40a80]
jne 0xb5d5ec
dec esi
jne 0xb5d5ec
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
test byte [0x40a88], 0x40
je 0xb5d8cb
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 0xb5d8bd
mov ebx, dword [ebp - 0x5c]
cmp dword [ebx + 0x14], 1
jne 0xb5d8b0
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 0xb5d66f
ja 0xb5d661
cmp eax, 0
jbe 0xb5d66f
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 1
mov eax, dword [ebp - 0x18]
test eax, eax
jle 0xb5d6c2
cdq
shld edx, eax, 9
shl eax, 9
cmp edx, ebx
jb 0xb5d8b0
ja 0xb5d690
cmp eax, ecx
jb 0xb5d8b0
cmp edx, dword [ebp - 0x64]
ja 0xb5d8b0
jb 0xb5d6a4
cmp eax, dword [ebp - 0x68]
jae 0xb5d8b0
mov ecx, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x64]
sub ecx, eax
sbb ebx, edx
cmp ebx, dword [ebp - 0x44]
jb 0xb5d8b0
ja 0xb5d6c2
cmp ecx, dword [ebp - 0x48]
jb 0xb5d8b0
cmp edi, dword [ebp - 0x44]
jb 0xb5d800
ja 0xb5d6d6
cmp esi, dword [ebp - 0x48]
jb 0xb5d800
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 0xb5d6fc
cmp eax, 0xfffff
jbe 0xb5d8b0
mov dword [0x40c30], 0
jmp 0xb5d7f0
imul eax, eax, 0x18
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
add eax, 0x8a4c
push eax
push edx
call fcn.00b61649
add esp, 0x18
call fcn.00b54e2c
add esp, 0x18
test eax, eax
jne 0xb5d813
mov eax, dword [0x40c30]
imul edx, eax, 0x18
cmp byte [edx + 0x8a4d], 0xff
jne 0xb5d7ea
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 0xb5d7ea
ja 0xb5d77a
cmp ebx, edx
jb 0xb5d7ea
cmp esi, dword [ebp - 0x64]
ja 0xb5d7ea
jb 0xb5d786
cmp ebx, dword [ebp - 0x68]
jae 0xb5d7ea
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 0xb5d8a2
ja 0xb5d7ba
mov ecx, dword [ebp - 0x48]
cmp edx, ecx
jb 0xb5d8a2
sub ebx, dword [ebp - 0x48]
xor ecx, ecx
mov edx, ebx
and edx, 0xfffff000
cmp ecx, 0
ja 0xb5d7d8
cmp edx, 0xfffff
jbe 0xb5d8a2
cmp dword [ebp - 0x6c], ecx
jb 0xb5d7ea
ja 0xb5d7e4
cmp dword [ebp - 0x70], edx
jbe 0xb5d7ea
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], ecx
inc eax
mov dword [0x40c30], eax
mov eax, dword [0x40c30]
cmp eax, 7
jbe 0xb5d70b
jmp 0xb5d813
cmp dword [ebp - 0x6c], 0
ja 0xb5d813
cmp dword [ebp - 0x70], 0xfffff
jbe 0xb5d8b0
cmp dword [ebp - 0x98], 0xffff
je 0xb5d831
mov ebx, dword [ebp - 0x98]
cmp ebx, dword [0x40a80]
jne 0xb5e081
cmp dword [ebp - 0x18], 0
jle 0xb5d845
mov edi, dword [ebp - 0x54]
mov dword [0x33be0], edi
jmp 0xb5d908
mov eax, dword [ebp - 0x98]
cmp eax, dword [0x40a80]
jne 0xb5d85e
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 0xb5d881
cmp edx, eax
jbe 0xb5e081
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
add eax, ebx
adc edx, esi
cmp dword [ebp - 0x6c], edx
jb 0xb5d8a2
ja 0xb5d897
cmp dword [ebp - 0x70], eax
jb 0xb5d8a2
mov ecx, dword [ebp - 0x54]
mov dword [0x33be0], ecx
jmp 0xb5d908
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 0xb5d62c
jmp 0xb5d8dd
sub esp, 0xc
push 0x2b57a
call fcn.00b610d9
add esp, 0x10
jmp 0xb5d8f4
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x6c], 0
mov dword [0x33be0], eax
ja 0xb5d908
cmp dword [ebp - 0x70], 0xfffff
ja 0xb5d908
call fcn.00b62d3b
mov dword [0x33c34], 0x1c
jmp 0xb5c0a6
mov edx, dword [ebp - 0x18]
test edx, edx
jle 0xb5d93b
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 0xb5d941
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 0xb5d976
cmp dword [ebp - 0xa0], 0
je 0xb5d976
cmp dword [ebp - 0x50], 0x9f
ja 0xb5d976
mov eax, dword [ebp - 0x1c]
shl eax, 9
mov esi, eax
add esi, dword [ebp - 0x70]
jmp 0xb5d979
mov esi, dword [ebp - 0x70]
cmp dword [ebp - 0x98], 0xffff
je 0xb5d993
mov ebx, dword [ebp - 0x98]
cmp ebx, dword [0x40a80]
jne 0xb5d997
test edx, edx
jg 0xb5d9f4
push ecx
mov ebx, esi
push 0x200
add ebx, 0x200
push dword [0x32ed4]
push esi
call fcn.00b61649
pop eax
pop edx
push 0xffffffffffffffff
push ebx
call fcn.00b64974
mov edx, dword [0x40c08]
add esp, 0x10
sub edx, 0x200
cmp eax, edx
je 0xb5d9ef
call fcn.00b62d3b
cmp dword [0x33c34], 0
jne 0xb5c0a6
mov dword [0x33c34], 0x19
jmp 0xb5c0a6
call fcn.00b62d3b
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 0xb5dbe4
cmp dword [ebp - 0xa0], 0
je 0xb5dbe4
cmp dword [ebp - 0x50], 0x9f
ja 0xb5dbe4
cmp eax, 0xffffffff
je 0xb5da54
cmp eax, 3
sete dl
movzx eax, dl
dec eax
and eax, 0xffffffe4
cmp byte [esi + eax + 0x41], 0
jne 0xb5da54
movzx eax, dl
mov dl, byte [ebp - 0x50]
dec eax
and eax, 0xffffffe4
mov byte [esi + eax + 0x40], dl
cmp dword [0x409ac], 0xffffffff
jne 0xb5da6a
lea eax, [esi + 0x1c]
mov eax, dword [eax]
cmp eax, dword [0x40bf8]
jne 0xb5da72
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 0xb5daa5
cmp edx, 2
je 0xb5daa5
cmp edx, 3
mov al, 0xc
je 0xb5daa5
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 0xb5dc2e
mov eax, dword [0x409ac]
mov edx, 0xe
cmp eax, 1
je 0xb5dc23
cmp eax, 2
je 0xb5dc23
cmp eax, 3
mov dl, 0xc
je 0xb5dc23
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 0xb5dc7a
cmp dword [0x33be4], 0
jne 0xb5dc7a
cmp dword [ebp - 0x98], 3
ja 0xb5dc7a
and dword [0x40cc8], 0xfffffffe
mov dword [0x40cc4], 0x200
mov dword [0x40cb4], 0x50
mov dword [0x40cb8], 2
mov dword [0x40cbc], 0x12
jmp 0xb5dca2
push eax
push eax
push 0x40cb4
push dword [ebp - 0x98]
call fcn.00b52eb3
add esp, 0x10
test eax, eax
je 0xb5dca2
mov dword [0x33c34], 0x15
jmp 0xb5c0a6
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 0xb5dcef
cmp dword [ebp - 0x78], 0
mov cl, 1
jne 0xb5dcef
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 0xb5dd7f
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 0xb5dd6d
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 0xb5ddc1
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 0xb5de22
mov al, byte [ebp - 0x9a]
add eax, 0xffffff80
cmp byte [0x475], al
jne 0xb5e07a
mov al, byte [ebp - 0x9a]
sub eax, 0x7f
mov byte [0x475], al
jmp 0xb5de5f
mov al, byte [0x410]
xor edx, edx
test al, 1
je 0xb5de36
sar al, 6
movsx eax, al
lea edx, [eax + 1]
mov cl, byte [ebp - 0x50]
movsx eax, cl
cmp edx, eax
jne 0xb5e07a
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 0xb5e07a
cmp dword [0x338c4], 0
jne 0xb5e07a
jmp 0xb5e075
imul eax, dword [0x40c30], 0x18
cmp byte [eax + 0x8a4d], 0xff
jne 0xb5dee0
mov esi, 7
xor ebx, ebx
jmp 0xb5ded8
cmp byte [ebx + 0x8af5], 0xff
jne 0xb5ded4
cmp dword [ebp - 0x18], 0xffffffff
jne 0xb5deb5
mov dword [0x33c34], 0x25
jmp 0xb5c0a6
push eax
mov eax, 0x18
sub eax, ebx
push eax
lea eax, [ebx + 0x8b0c]
push eax
lea eax, [ebx + 0x8af4]
push eax
call fcn.00b61649
add esp, 0x10
dec esi
sub ebx, 0x18
cmp esi, dword [0x40c30]
ja 0xb5de97
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.00b61649
add esp, 0x10
cmp dword [ebp - 0x18], 0xffffffff
je 0xb5df16
call fcn.00b62d3b
xor ebx, ebx
mov dword [0x40c30], 0
jmp 0xb5df71
imul eax, eax, 0x18
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
add eax, 0x8a4c
push eax
push edx
call fcn.00b61649
add esp, 0x18
call fcn.00b54e2c
add esp, 0x18
test eax, eax
jne 0xb5df7b
mov edx, dword [0x40c30]
imul eax, edx, 0x18
mov al, byte [eax + 0x8a4c]
test al, al
js 0xb5df69
movzx eax, al
inc eax
cmp ebx, eax
jae 0xb5df69
mov ebx, eax
lea eax, [edx + 1]
mov dword [0x40c30], eax
mov eax, dword [0x40c30]
cmp eax, 7
jbe 0xb5df24
mov cl, byte [0x8b3a]
mov al, cl
and al, 1
mov byte [ebp - 0x99], al
jne 0xb5df91
xor eax, eax
jmp 0xb5df9a
mov al, cl
sar al, 6
movsx eax, al
inc eax
cmp ebx, 4
mov edx, ebx
jbe 0xb5dfa6
mov edx, 4
cmp edx, eax
ja 0xb5dfea
mov al, byte [0x410]
xor edx, edx
test al, 1
je 0xb5dfbe
sar al, 6
movsx eax, al
lea edx, [eax + 1]
xor eax, eax
cmp byte [ebp - 0x99], 0
je 0xb5dfd2
mov al, cl
sar al, 6
movsx eax, al
inc eax
cmp edx, eax
jle 0xb5dfea
cmp dword [0x32624], 0
mov byte [0x410], cl
jle 0xb5dfea
call fcn.00b56ab7
xor ebx, ebx
mov dword [0x40c30], 0
jmp 0xb5e047
imul eax, eax, 0x18
sub esp, 0x18
mov edx, esp
sub esp, 0xc
push 0x18
add eax, 0x8a4c
push eax
push edx
call fcn.00b61649
add esp, 0x18
call fcn.00b54e2c
add esp, 0x18
test eax, eax
jne 0xb5e051
mov edx, dword [0x40c30]
imul eax, edx, 0x18
mov al, byte [eax + 0x8a4c]
test al, al
jns 0xb5e03f
movzx eax, al
sub eax, 0x7f
cmp ebx, eax
jae 0xb5e03f
mov ebx, eax
lea eax, [edx + 1]
mov dword [0x40c30], eax
mov eax, dword [0x40c30]
cmp eax, 7
jbe 0xb5dff8
mov dl, byte [0x8b3b]
movsx eax, dl
cmp ebx, eax
ja 0xb5e07a
cmp byte [0x475], dl
jle 0xb5e07a
cmp dword [0x32624], 0
mov byte [0x475], dl
jle 0xb5e07a
call fcn.00b56ab7
mov eax, 1
jmp 0xb5e08f
mov edx, dword [ebp - 0x54]
mov dword [0x33be0], edx
jmp 0xb5d908
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret