Function at 0x4b7848
Capabilities:
Access peb ldr_data
Check for software breakpoints
Check http status code
Check os version
Contain obfuscated stackstrings
Encode data using base64
Encrypt data using salsa20 or chacha
Encrypt data using speck
Get process heap flags
Hash data using fnv
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0xae0
call 0x4b785c
pop edi
push 0xc
pop ecx
call fcn.004016e1
xor ebx, ebx
mov dword [eax], 0xf21
mov dword [eax + 4], 0x3c5
mov dword [eax + 8], 0xb59
push 0xfffffffffffffff4
pop ecx
test ecx, ecx
je 0x4b788b
add ebx, dword [eax + ecx + 0xc]
add ecx, 4
jmp 0x4b787e
cmp ebx, 0xa07
je 0x4b78bb
cmp ebx, 0xb8a
je 0x4b78b3
cmp ebx, 0xe9e
je 0x4b78c3
cmp ebx, 0xfa0
jne 0x4b78c9
add esp, 0x10a8
ud2
sub esp, 0xaab
ud2
add esp, 0xffe
ud2
add esp, 0x426
push 0x28
pop ecx
call fcn.004016e1
xor edx, edx
mov dword [eax], 0xe22
mov dword [eax + 4], 0xf0d
mov dword [eax + 8], 0xa1d
mov dword [eax + 0xc], 0x23a
mov dword [eax + 0x10], 0x5ef
mov dword [eax + 0x14], 0x625
mov dword [eax + 0x18], 0x25
mov dword [eax + 0x1c], 0xfef
mov dword [eax + 0x20], 0x91a
mov dword [eax + 0x24], 0xa28
push 0xffffffffffffffd8
pop ecx
test ecx, ecx
je 0x4b7928
add edx, dword [eax + ecx + 0x28]
add ecx, 4
jmp 0x4b791b
cmp ebx, 0xb3
je 0x4b796d
cmp ebx, 0x1e3f
jne 0x4b793e
lea ebx, [edx + 0x1e3f]
cmp edx, 0x221
mov dword [esp + 0x15c], edi
je 0x4b797c
cmp edx, 0x8b3
je 0x4b7975
cmp edx, 0xcc8
je 0x4b7987
cmp edx, 0x58f0
jne 0x4b7992
lea edx, [ebx + 0x58f0]
jmp 0x4b7992
add esp, 0x1279
ud2
mov edx, 0xb3080000
jmp 0x4b7992
mov edx, 0x221
mov ecx, ebx
shl edx, cl
jmp 0x4b7992
add esp, 0x4b9
mov edx, 0xcc8
mov ecx, 0xf2d
mov eax, 0x899
mov esi, 0x199a
mov edi, eax
sub esi, 1
jb 0x4b79bc
imul ebx, ecx
mov edx, ecx
mov ecx, ebx
call fcn.004015c4
mov ecx, edi
mov edx, edi
mov ebx, eax
jmp 0x4b79a1
cmp ebx, 0x81ee7fbb
je 0x4b79eb
cmp ebx, 0x81ee86ba
je 0x4b79e4
cmp ebx, 0x81ee8b3b
je 0x4b79f4
cmp ebx, 0x81ee8e94
jne 0x4b7a08
sub esp, 0x528
ud2
mov ebx, 0x5d617781
jmp 0x4b7a08
mov ebx, 0x81ee7fbb
sar ebx, cl
jmp 0x4b7a08
mov esi, ecx
mov ecx, 0x81ee8b3b
mov ebx, edx
call fcn.004015c4
mov edx, ebx
mov ecx, esi
mov ebx, eax
cmp edx, 0xaaa63813
je 0x4b7a21
cmp edx, 0xaaa63e00
jne 0x4b7a33
mov edx, 0xaaa63e00
sar edx, cl
jmp 0x4b7a33
mov esi, ecx
mov ecx, 0xaaa63813
mov edx, esi
call fcn.004015c4
mov ecx, esi
mov edx, eax
cmp ecx, 0xaaa63813
je 0x4b7a63
cmp ecx, 0xaaa63a19
je 0x4b7a5c
cmp ecx, 0xaaa642c4
jne 0x4b7a69
mov eax, ebx
mov ecx, 0x80000000
add eax, 0xaaa642c4
cmovno ecx, eax
jmp 0x4b7a69
mov ecx, 0x985c6555
jmp 0x4b7a69
lea ecx, [edi - 0x5559c7ed]
mov esi, ebx
cmp edi, 0x81ee7fbb
mov dword [esp + 0x60], edx
mov dword [esp + 0x28], ecx
jne 0x4b7a8b
mov edx, dword [esp + 0x60]
mov ecx, 0x81ee7fbb
call fcn.004015c4
mov edi, eax
push 8
pop ecx
call fcn.004016e1
xor ebx, ebx
mov dword [eax], 0x37c
mov dword [eax + 4], 0x316
push 0xfffffffffffffff8
pop ecx
mov edx, esi
test ecx, ecx
je 0x4b7ab4
add ebx, dword [eax + ecx + 8]
add ecx, 4
jmp 0x4b7aa7
cmp edx, 0xfffff03d
je 0x4b7af2
mov ecx, dword [esp + 0x28]
cmp edx, 0xfffff068
je 0x4b7ae5
cmp edx, 0xfffff176
je 0x4b7af9
cmp edx, 0xfffffece
jne 0x4b7b06
add esp, 0x777
mov edx, 0xfffffece
jmp 0x4b7b06
mov edx, 0xfffff068
mov ecx, dword [esp + 0x28]
shl edx, cl
jmp 0x4b7b02
mov edx, 0xbc0fffff
jmp 0x4b7b02
mov edx, 0xfffff176
mov ecx, ebx
sar edx, cl
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x60]
cmp eax, 0x383
je 0x4b7b54
cmp eax, 0xbb1
je 0x4b7b38
cmp eax, 0xd5b
je 0x4b7b5d
cmp eax, 0x7e68138b
jne 0x4b7b67
mov eax, ebx
shr eax, 0x1f
add eax, 0x7fffffff
imul esi, ebx, 0x7e68138b
jmp 0x4b7b4b
mov esi, 0xbb1
xor eax, eax
cmp esi, ecx
setns al
add eax, 0x7fffffff
sub esi, ecx
cmovo esi, eax
mov dword [esp + 0x60], esi
jmp 0x4b7b67
mov eax, 0x383
sub eax, ecx
jmp 0x4b7b63
lea eax, [ebx + 0xd5b]
mov dword [esp + 0x60], eax
cmp ecx, 0xc1d
je 0x4b7b99
cmp ecx, 0xcda
je 0x4b7b92
cmp ecx, 0x2c94b7ce
jne 0x4b7bb3
mov eax, dword [esp + 0x60]
mov ecx, 0x7fffffff
add eax, 0x2c94b7ce
cmovno ecx, eax
jmp 0x4b7bb3
mov ecx, 0xda0c0000
jmp 0x4b7bb3
mov esi, dword [esp + 0x60]
mov ecx, 0xc1d
xor eax, eax
cmp ecx, esi
setns al
add eax, 0x7fffffff
sub ecx, esi
cmovo ecx, eax
cmp edi, 0x89dd4a63
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], edx
je 0x4b7bfa
cmp edi, 0x89dd4e36
je 0x4b7be8
cmp edi, 0x89dd56cc
je 0x4b7c01
cmp edi, 0x89dd58ea
jne 0x4b7c06
add esp, 0x12e2
mov edi, 0x89dd58ea
jmp 0x4b7c06
mov edx, dword [esp + 0x28]
mov ecx, 0x89dd4e36
call fcn.004015c4
mov edi, eax
jmp 0x4b7c06
mov edi, 0x634add89
jmp 0x4b7c06
mov edi, 0x336abb91
cmp ebx, 0x126
je 0x4b7c3a
cmp ebx, 0x15d
je 0x4b7c25
cmp ebx, 0x692
jne 0x4b7c45
mov ebx, 0x49600000
jmp 0x4b7c45
mov eax, edi
shr eax, 0x1f
add eax, 0x7fffffff
imul ebx, edi, 0x15d
cmovo ebx, eax
jmp 0x4b7c45
mov ebx, 0x126
sub esp, 0xa9f
push 0x40
pop ecx
call fcn.004016e1
xor edx, edx
mov dword [eax], 0x2a5
mov dword [eax + 4], 0xf40
mov dword [eax + 8], 0x406
mov dword [eax + 0xc], 0xf05
mov dword [eax + 0x10], 0x3e3
mov dword [eax + 0x14], 0x12d
mov dword [eax + 0x18], 0x10
mov dword [eax + 0x1c], 0xf2b
mov dword [eax + 0x20], 0xad6
mov dword [eax + 0x24], 0x5a3
mov dword [eax + 0x28], 0x4ed
mov dword [eax + 0x2c], 0x679
mov dword [eax + 0x30], 0xfd8
mov dword [eax + 0x34], 0xbda
mov dword [eax + 0x38], 0xd63
mov dword [eax + 0x3c], 0x9dd
push 0xffffffffffffffc0
pop ecx
test ecx, ecx
je 0x4b7cce
add edx, dword [eax + ecx + 0x40]
add ecx, 4
jmp 0x4b7cc1
mov eax, dword [esp + 0x1c]
cmp eax, 0xbc0fffff
je 0x4b7d14
mov ecx, dword [esp + 0x28]
cmp eax, 0xbc100aa1
je 0x4b7d0b
cmp eax, 0xbc100c55
je 0x4b7d22
cmp eax, 0xbc100e54
jne 0x4b7d2c
mov eax, ebx
mov ecx, 0x80000000
add eax, 0xbc100e54
cmovno ecx, eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x28]
jmp 0x4b7d2c
mov eax, 0xbc100aa1
sub eax, ecx
jmp 0x4b7d28
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], 0xffff0fbc
jmp 0x4b7d2c
lea eax, [ebx - 0x43eff3ab]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x60]
cmp eax, 0x9c
je 0x4b7d90
cmp eax, 0xda3
je 0x4b7d61
cmp eax, 0xdbe
je 0x4b7d98
cmp eax, 0x7fffffff
jne 0x4b7d7b
mov eax, 0x7fffffff
mov ecx, dword [esp + 0x28]
shr eax, cl
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x60], eax
jmp 0x4b7d7b
mov esi, 0xda3
xor eax, eax
cmp esi, ecx
setns al
add eax, 0x7fffffff
sub esi, ecx
cmovo esi, eax
mov dword [esp + 0x60], esi
cmp ecx, 0x3bf
je 0x4b7da0
cmp ecx, 0x7fffffff
jne 0x4b7db6
push 0xfffffffffffffffe
pop ecx
jmp 0x4b7db6
sub esp, 0x76d
ud2
sub esp, 0x91a
ud2
mov ecx, 0x3bf
xor eax, eax
cmp ecx, edx
setns al
add eax, 0x7fffffff
sub ecx, edx
cmovo ecx, eax
cmp edi, 0xec1
je 0x4b7dde
cmp edi, 0x634add89
jne 0x4b7de3
mov edi, 0x634add89
xor eax, eax
cmp edi, edx
setns al
add eax, 0x7fffffff
sub edi, edx
cmovo edi, eax
jmp 0x4b7de3
mov edi, 0xc10e0000
cmp ebx, 0x864
je 0x4b7dff
cmp ebx, 0x49600000
jne 0x4b7e04
mov eax, dword [esp + 0x1c]
lea ebx, [eax + 0x49600000]
jmp 0x4b7e04
mov ebx, 0x64080000
cmp edx, 0x7b0
mov dword [esp + 0xe0], ebx
jne 0x4b7e19
sub esp, 0xc08
mov ebx, 0x5b0
mov edx, 0x37f
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], 0xdf4
mov dword [esp + 0x40], 0xddc
mov dword [esp + 0x24], 0x2d5
mov dword [esp + 0x90], 0x96a
mov dword [esp + 0x120], 0x582
mov dword [esp + 0x80], 0x530
push 0xe
pop eax
mov esi, dword [esp + 0x60]
mov ecx, 0x28af
mov dword [esp + 0x20], eax
mov dword [esp + 0x100], edi
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x120]
sub ecx, 1
mov dword [esp + 0xd0], edx
mov dword [esp + 0x60], edi
mov dword [esp + 0xb0], eax
jb 0x4b802d
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x18]
mov edi, ebx
mov ebx, edx
call fcn.004015c4
mov edx, edi
mov edi, ebx
mov ebx, 0xf0f0f0f
mov esi, 0x7fffffff
mov dword [esp + 0x18], eax
bswap edi
mov ecx, edi
and edi, ebx
shr ecx, 4
shl edi, 4
and ecx, ebx
mov ebx, 0x33333333
or edi, ecx
mov ecx, edi
shr edi, 2
and ecx, ebx
and edi, ebx
mov ebx, 0x55555555
lea edi, [edi + ecx*4]
mov ecx, edi
shr edi, 1
and ecx, ebx
and edi, ebx
xor ebx, ebx
lea ecx, [edi + ecx*2]
mov edi, dword [esp + 0x90]
cmp ecx, eax
setns bl
add ebx, esi
sub ecx, eax
mov esi, dword [esp + 0xe0]
cmovo ecx, ebx
mov ebx, dword [esp + 0xb0]
bswap edi
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x80]
sub esi, dword [esp + 0x60]
mov eax, ebx
add edi, ebx
imul eax, ebx
mov ebx, 0x7fffffff
shl eax, cl
mov ecx, edi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x60]
bswap esi
mov dword [esp + 0xe0], esi
xor ecx, eax
shr ecx, 0x1f
add ecx, ebx
imul edi, eax
mov ebx, dword [esp + 0x28]
cmovo edi, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], 0
sar edi, cl
mov ecx, dword [esp + 0x18]
sub eax, edi
shl eax, cl
add eax, dword [esp + 0x24]
lea ecx, [eax + esi]
sar ecx, 0x1f
add ecx, 0x80000000
add eax, esi
mov esi, dword [esp + 0x1c]
cmovo eax, ecx
mov dword [esp + 0x120], eax
mov eax, 0x7fffffff
mov ecx, esi
xor ecx, ebx
shr ecx, 0x1f
add ecx, eax
imul esi, ebx
mov eax, 0xf0f0f0f
cmovo esi, ecx
mov ecx, dword [esp + 0xd0]
sar edx, cl
bswap edx
mov dword [esp + 0x1c], esi
mov ecx, edx
and edx, eax
shr ecx, 4
shl edx, 4
and ecx, eax
mov eax, 0x33333333
or edx, ecx
mov ecx, edx
shr edx, 2
and ecx, eax
and edx, eax
mov eax, 0x55555555
lea ecx, [edx + ecx*4]
mov edx, dword [esp + 0x40]
mov esi, ecx
shr ecx, 1
and esi, eax
and ecx, eax
mov eax, dword [esp + 0x80]
lea ebx, [ecx + esi*2]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x30]
sub ebx, dword [esp + 0x90]
mov dword [esp + 0x90], edi
xor edi, edi
bswap eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x100]
bswap ebx
mov dword [esp + 0x40], eax
jmp 0x4b7e70
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cmp edx, 0x640
je 0x4b8066
mov eax, dword [esp + 0x28]
cmp edx, 0x7ec
je 0x4b8071
cmp edx, 0xa35
je 0x4b807e
cmp edx, 0xe76
jne 0x4b8094
sub esp, 0xa4f
mov edx, 0xe76
jmp 0x4b8094
mov eax, dword [esp + 0x28]
mov edx, 0x40060000
jmp 0x4b8094
mov edx, 0x7ec
add esp, 0xfc9
jmp 0x4b8094
mov edx, 0xa35
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0x28]
shl edx, cl
mov ecx, dword [esp + 0x18]
test esi, esi
mov dword [esp + 0x5c], ecx
je 0x4b80ef
cmp esi, 0x357
je 0x4b80d8
cmp esi, 0xae8
je 0x4b80e2
cmp esi, 0xcab
mov dword [esp + 0x5c], esi
jne 0x4b80ef
mov dword [esp + 0x58], ebx
mov ebx, 0xcab
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x28]
shl ebx, cl
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x58]
jmp 0x4b80ef
mov dword [esp + 0x5c], 0x57030000
jmp 0x4b80ef
mov ecx, 0xae8
sub ecx, dword [esp + 0x40]
mov dword [esp + 0x5c], ecx
test eax, eax
je 0x4b8113
mov esi, dword [esp + 0x90]
cmp eax, 0x414
je 0x4b8199
cmp eax, 0x655
jne 0x4b8129
mov eax, 0xaa600000
jmp 0x4b8129
mov edi, edx
mov edx, dword [esp + 0x5c]
xor ecx, ecx
call fcn.004015c4
mov esi, dword [esp + 0x90]
mov edx, edi
mov edi, dword [esp + 0xe0]
mov ecx, 0x7d7c847d
mov dword [esp + 0x28], eax
cmp edi, 0x7d847c7d
cmovne ecx, edi
cmp dword [esp + 0x18], 0x9a0
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xb0]
jne 0x4b815d
sub esp, 0x5c8
mov eax, dword [esp + 0x40]
mov edi, 0x2ae1c141
cmp eax, 0x82838754
cmovne edi, eax
test ecx, ecx
je 0x4b81a1
cmp ecx, 0x592
je 0x4b81a5
cmp ecx, 0x688
je 0x4b81b2
cmp ecx, 0xf10
jne 0x4b81bd
mov eax, 0xf10
mov ecx, dword [esp + 0x5c]
shr eax, cl
mov ecx, eax
jmp 0x4b81bd
add esp, 0xf47
ud2
mov ecx, esi
jmp 0x4b81bd
sub esp, 0x13d2
mov ecx, 0x592
jmp 0x4b81bd
sub esp, 0x9cd
mov ecx, 0x688
cmp ebx, 0x1c
je 0x4b81d1
cmp ebx, 0x80
jne 0x4b81d4
mov ebx, 0x1000000
jmp 0x4b81d4
imul ebx, esi, 0x1c
mov eax, esi
neg eax
jo 0x4b8206
cmp esi, 0x800009d6
je 0x4b822a
cmp esi, 0x80000eac
je 0x4b8283
cmp esi, 0x80000f5f
mov dword [esp + 0x48], edi
mov dword [esp + 0x58], ebx
jne 0x4b823d
add esp, 0xc00
ud2
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x28]
mov esi, 0x80000000
xor eax, eax
mov dword [esp + 0x58], ebx
cmp esi, edi
setns al
add eax, 0x7fffffff
sub esi, edi
cmovo esi, eax
jmp 0x4b823d
mov dword [esp + 0x48], edi
mov dword [esp + 0x58], ebx
sub esp, 0xc79
mov esi, 0x800009d6
cmp dword [esp + 0x60], 0xc93
jne 0x4b824d
add esp, 0xd0b
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x90], esi
cmp eax, 0xfec00000
je 0x4b828b
cmp eax, 0xfec001a2
je 0x4b8298
cmp eax, 0xfec00b01
jne 0x4b82b5
add esp, 0x95f
mov dword [esp + 0xd0], 0xfec00b01
jmp 0x4b82b5
add esp, 0xe33
ud2
mov dword [esp + 0xd0], 0x37f
jmp 0x4b82b5
mov esi, 0xfec001a2
xor eax, eax
cmp esi, ecx
setns al
add eax, 0x7fffffff
sub esi, ecx
cmovo esi, eax
mov dword [esp + 0xd0], esi
mov eax, dword [esp + 0x80]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x1c], edx
cmp eax, 0x666
je 0x4b82e2
cmp eax, 0x30050000
jne 0x4b8300
mov dword [esp + 0x80], 0x530
jmp 0x4b8300
mov ecx, dword [esp + 0x2c]
mov eax, ecx
shr eax, 0x1f
add eax, 0x7fffffff
imul ecx, ecx, 0x666
cmovo ecx, eax
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x28]
xor ecx, ecx
mov dword [esp + 0x24], 0
call fcn.004015c4
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xd0]
mov ecx, 0xb3e
mov edx, 0x6ca
mov esi, 0xd7d
mov dword [esp + 0x34], 0x79e
mov dword [esp + 0x20], 0x685
mov dword [esp + 0x100], 0x38b
mov dword [esp + 0x4c], 0xd41
mov dword [esp + 0xe0], 0xcf4
mov dword [esp + 0x44], 0x1b92
mov ebx, dword [esp + 0x24]
mov edi, eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x34]
sub dword [esp + 0x44], 1
mov dword [esp + 0x4c], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0xd0], ecx
jb 0x4b8577
mov esi, dword [esp + 0x24]
add eax, ecx
xor ecx, ecx
mov edi, 0x7fffffff
mov ebx, dword [esp + 0x20]
cmp eax, esi
setns cl
add ecx, edi
mov edi, dword [esp + 0xe0]
sub eax, esi
mov esi, 0x7fffffff
cmovo eax, ecx
mov ecx, edx
mov edx, dword [esp + 0x1c]
sar eax, cl
xor ecx, ecx
mov dword [esp + 0x34], eax
cmp edi, eax
setns cl
bswap edx
add ecx, esi
mov esi, edi
sub esi, eax
mov eax, 0xf0f0f0f
cmovo esi, ecx
mov ecx, edx
and edx, eax
shr ecx, 4
shl edx, 4
mov dword [esp + 0x60], esi
and ecx, eax
mov eax, 0x33333333
or edx, ecx
mov ecx, edx
shr edx, 2
and ecx, eax
and edx, eax
mov eax, 0x55555555
lea ecx, [edx + ecx*4]
mov edx, ecx
shr ecx, 1
and edx, eax
and ecx, eax
lea esi, [ecx + edx*2]
mov ecx, edi
mov edx, 0x80000000
mov edi, dword [esp + 0xb0]
shl esi, cl
add ecx, dword [esp + 0x120]
mov dword [esp + 0x1c], esi
lea eax, [ecx + esi]
sar eax, 0x1f
xor eax, edx
add ecx, esi
mov edx, 0x7fffffff
cmovo ecx, eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xe0], ecx
xor ecx, ecx
cmp edi, eax
setns cl
add ecx, edx
sub edi, eax
mov eax, dword [esp + 0x2c]
cmovo edi, ecx
mov ecx, esi
add eax, ebx
bswap eax
xor ecx, eax
shr ecx, 0x1f
add ecx, edx
imul eax, esi
mov edx, 0x80000000
cmovo eax, ecx
mov ecx, dword [esp + 0x120]
add ecx, eax
sar ecx, 0x1f
xor ecx, edx
add eax, dword [esp + 0x120]
mov edx, dword [esp + 0x80]
cmovo eax, ecx
sub edi, dword [esp + 0x90]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xb0], edi
mov edi, 0x7fffffff
mov ecx, eax
xor ecx, edx
shr ecx, 0x1f
add ecx, edi
imul edx, eax
mov eax, dword [esp + 0xe0]
cmovo edx, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x80], edx
mov edx, esi
bswap eax
sar eax, cl
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x24]
xor edx, eax
mov ecx, eax
shr edx, 0x1f
add edx, edi
mov edi, dword [esp + 0xd0]
imul ecx, esi
cmovo ecx, edx
mov edx, ebx
sub ecx, esi
mov esi, 0x7fffffff
xor edx, edi
mov dword [esp + 0x18], edi
shr edx, 0x1f
add edx, esi
imul ebx, edi
mov esi, dword [esp + 0x30]
cmovo ebx, edx
mov edx, dword [esp + 0x100]
sub ebx, esi
add eax, esi
bswap edx
mov dword [esp + 0x20], ebx
mov ebx, esi
mov dword [esp + 0x100], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], edx
mov edx, esi
mov esi, dword [esp + 0x60]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0xe0], esi
xor esi, esi
mov dword [esp + 0x28], ebx
jmp 0x4b8366
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4b85ab
cmp eax, 0x919
je 0x4b85bc
mov edx, dword [esp + 0x5c]
cmp eax, 0xf1d
jne 0x4b85d2
mov eax, dword [esp + 0x48]
mov ecx, eax
shr ecx, 0x1f
add ecx, 0x7fffffff
imul eax, eax, 0xf1d
cmovo eax, ecx
jmp 0x4b85d2
mov edx, dword [esp + 0x18]
xor ecx, ecx
call fcn.004015c4
mov edx, dword [esp + 0x5c]
jmp 0x4b85d2
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x5c]
mov eax, 0x7fffffff
add ecx, 0x919
cmovno eax, ecx
cmp edx, 0x46
push 0x46
pop ecx
je 0x4b85f9
cmp edx, 0x8be
je 0x4b8606
cmp edx, 0xe16
je 0x4b8613
cmp edx, 0xebd
jne 0x4b862e
mov edx, 0xbd0e0000
jmp 0x4b862e
mov edx, ecx
mov ecx, dword [esp + 0x80]
shl edx, cl
jmp 0x4b862e
add esp, 0x756
mov edx, 0x8be
jmp 0x4b862e
mov esi, dword [esp + 0x18]
mov edx, 0xe16
xor ecx, ecx
cmp edx, esi
setns cl
add ecx, 0x7fffffff
sub edx, esi
cmovo edx, ecx
mov esi, 0x851
xor ecx, ecx
mov edi, 0x851
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
cmp esi, eax
setns cl
add ecx, 0x7fffffff
sub edi, eax
cmovo edi, ecx
mov ecx, dword [esp + 0x28]
neg eax
test ecx, ecx
cmovne eax, ecx
xor ecx, ecx
mov dword [esp + 0x4c], eax
call fcn.004015c4
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x2c]
mov edx, 0x188
mov ecx, dword [esp + 0x100]
cmp eax, esi
mov esi, dword [esp + 0x38]
cmovne edi, eax
mov eax, 0x188
shr edx, cl
mov dword [esp + 0x44], edi
cmp esi, eax
mov eax, dword [esp + 0x18]
cmovne edx, esi
mov dword [esp + 0x138], edx
cmp eax, 0xbe1
je 0x4b86cd
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0xb0]
cmp eax, 0xd9d
jne 0x4b86e0
add esp, 0x61f
mov eax, 0xd9d
jmp 0x4b86e0
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0xb0]
mov eax, 0x87d00000
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
test ebx, ebx
cmove ebx, edx
cmp ecx, 0xfe69bda7
mov dword [esp + 0x48], ebx
je 0x4b8735
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x90]
cmp ecx, 0xfe69c117
je 0x4b8747
cmp ecx, 0xfe69c2a9
je 0x4b875e
cmp ecx, 0xfe69c665
jne 0x4b8775
mov ecx, 0xfe69c665
sub ecx, dword [esp + 0x80]
jmp 0x4b8775
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x90]
mov ecx, 0xe5bd967f
jmp 0x4b8775
mov ebx, dword [esp + 0x120]
mov ecx, 0x80000000
add ebx, 0xfe69c117
cmovno ecx, ebx
jmp 0x4b8775
mov ecx, 0xfe69c2a9
xor ebx, ebx
cmp ecx, edi
setns bl
add ebx, 0x7fffffff
sub ecx, edi
cmovo ecx, ebx
mov dword [esp + 0xb0], ecx
mov ecx, 0xebd
mov ebx, 0xebd
sub ecx, edx
cmp edi, ebx
cmovne ecx, edi
cmp eax, 0x3b3
je 0x4b87b4
mov edi, dword [esp + 0x30]
cmp eax, 0x725
je 0x4b880a
cmp eax, 0xc57
je 0x4b8812
cmp eax, 0xebd
jne 0x4b87ce
mov eax, 0xbd0e0000
jmp 0x4b87ce
mov edx, dword [esp + 0x60]
mov ebx, ecx
mov ecx, 0x3b3
call fcn.004015c4
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
mov ecx, ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x90], eax
mov dword [esp + 0x58], ecx
cmp ebx, 0x6f4
je 0x4b881a
cmp ebx, 0xa21
je 0x4b882a
cmp ebx, 0xebd
jne 0x4b8835
mov eax, edx
shr eax, 0x1f
add eax, 0x7fffffff
imul ebx, edx, 0xebd
cmovo ebx, eax
jmp 0x4b8835
sub esp, 0xb88
ud2
sub esp, 0xc50
ud2
mov edx, ecx
mov ecx, 0x6f4
call fcn.004015c4
mov ebx, eax
jmp 0x4b8835
mov ebx, 0xa21
mov ecx, dword [esp + 0x20]
shr ebx, cl
mov ecx, dword [esp + 0xb0]
mov eax, 0xebd
mov dword [esp + 0x60], ebx
mov ebx, 0x7fffffff
add ecx, eax
cmovno ebx, ecx
cmp edi, eax
cmovne ebx, edi
mov edi, dword [esp + 0x80]
mov dword [esp + 0xac], ebx
cmp edi, 0x1e3
je 0x4b888f
mov eax, dword [esp + 0x24]
cmp edi, 0x2bc
je 0x4b889f
cmp edi, 0xab5
je 0x4b891a
cmp edi, 0x7fffffff
jne 0x4b88aa
push 0xfffffffffffffffe
pop edi
jmp 0x4b88aa
mov eax, dword [esp + 0x4c]
lea edi, [eax + 0x1e3]
mov eax, dword [esp + 0x24]
jmp 0x4b88aa
mov edi, 0x2bc
sub esp, 0xe0d
mov ecx, dword [esp + 0x120]
cmp ecx, 0xaa3
je 0x4b88cb
cmp ecx, 0xb1b101c
jne 0x4b88e9
imul ecx, dword [esp + 0x3c], 0xb1b101c
jmp 0x4b88e2
mov eax, edi
shr eax, 0x1f
add eax, 0x7fffffff
imul ecx, edi, 0xaa3
cmovo ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x120], ecx
test eax, eax
je 0x4b8922
cmp eax, 7
je 0x4b8933
cmp eax, 0x89f
mov ebx, eax
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x40]
je 0x4b894d
cmp ebx, 0x8c9
jne 0x4b8959
mov ebx, dword [esp + 0x54]
add ebx, 0x8c9
jmp 0x4b8955
add esp, 0x7d3
ud2
mov edx, dword [esp + 0x1c]
xor ecx, ecx
call fcn.004015c4
mov dword [esp + 0x24], eax
jmp 0x4b8940
push 7
pop eax
mov dword [esp + 0x24], eax
sub esp, 0x416
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x40]
jmp 0x4b8959
imul ebx, dword [esp + 0x44], 0x89f
mov dword [esp + 0x24], ebx
cmp eax, 0x18d
je 0x4b89ec
cmp eax, 0xfaf
jne 0x4b897e
mov ecx, 0xfaf
mov edx, edi
call fcn.004015c4
mov ecx, dword [esp + 0x100]
cmp dword [esp + 0x20], 0xfffff143
mov dword [esp + 0x40], eax
jne 0x4b89b5
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x100], ecx
mov eax, ebx
sar eax, 0x1f
add eax, 0x80000000
imul ecx, ebx, 0xfffff143
cmovo ecx, eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x3c]
mov ebx, 0x51600000
cmp eax, 0x68a
cmovne ebx, eax
cmp ecx, 0x350
je 0x4b89f4
mov eax, dword [esp + 0xe0]
cmp ecx, 0x38b
jne 0x4b8a02
mov eax, 0x38b
mov ecx, dword [esp + 0x18]
shr eax, cl
mov ecx, eax
jmp 0x4b89fb
sub esp, 0x100f
ud2
mov ecx, 0x350
sub ecx, edi
mov eax, dword [esp + 0xe0]
cmp eax, 0x164
mov dword [esp + 0x80], edi
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x100], ecx
je 0x4b8a4a
cmp eax, 0x1a8
je 0x4b8a57
cmp eax, 0x1c4
je 0x4b8a64
mov edi, dword [esp + 0x120]
cmp eax, 0xcf2
jne 0x4b8a8a
mov edx, dword [esp + 0x20]
mov ecx, 0xcf2
call fcn.004015c4
jmp 0x4b8a8a
sub esp, 0x521
mov eax, 0x164
jmp 0x4b8a83
mov eax, 0x1a8
add esp, 0xd7b
jmp 0x4b8a83
mov edi, dword [esp + 0x90]
mov esi, 0x1c4
xor eax, eax
cmp esi, edi
setns al
add eax, 0x7fffffff
sub esi, edi
cmovo esi, eax
mov eax, esi
mov edi, dword [esp + 0x120]
mov dword [esp + 0x120], edi
mov edi, dword [esp + 0xb0]
mov dword [esp + 0xe0], eax
mov ecx, 0xe15
mov esi, 0x10a
mov eax, 0xd23
mov dword [esp + 0xfc], 0
mov dword [esp + 0x30], 0x7d2
mov dword [esp + 0xcc], 0xe40
mov dword [esp + 0x28], 0xe0
mov dword [esp + 0xf8], 0x2e0c
mov dword [esp + 0x7c], 0x766
mov dword [esp + 0x34], edi
mov edi, eax
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x3c], edi
sub eax, 1
mov dword [esp + 0x38], edx
jb 0x4b8f48
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xf8], eax
mov ebx, 0x80000000
lea eax, [ecx + edi]
sar eax, 0x1f
xor eax, ebx
add ecx, edi
cmovo ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x4c]
sub ecx, dword [esp + 0x44]
imul ecx, dword [esp + 0x58]
mov eax, ecx
mov edx, ecx
mov ecx, 0x7fffffff
xor eax, edi
shr eax, 0x1f
add eax, ecx
mov ecx, dword [esp + 0xcc]
imul edx, edi
cmovo edx, eax
mov dword [esp + 0x4c], edx
add ecx, edi
lea eax, [ecx + edx]
sar eax, 0x1f
xor eax, ebx
add ecx, edx
mov edx, 0xf0f0f0f
mov ebx, 0x7fffffff
cmovo ecx, eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x30]
shl eax, cl
bswap eax
mov ecx, eax
and eax, edx
shr ecx, 4
shl eax, 4
and ecx, edx
mov edx, 0x33333333
or eax, ecx
mov ecx, eax
shr eax, 2
and ecx, edx
and eax, edx
mov edx, 0x55555555
lea eax, [eax + ecx*4]
mov ecx, eax
shr eax, 1
and ecx, edx
and eax, edx
mov edx, dword [esp + 0x2c]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
imul eax, esi
sar eax, cl
mov ecx, 0x7fffffff
sub eax, edi
mov esi, eax
xor eax, eax
cmp esi, edx
setns al
add eax, ecx
sub esi, edx
mov edx, edi
mov edi, dword [esp + 0xac]
cmovo esi, eax
xor eax, eax
mov dword [esp + 0x150], esi
mov esi, dword [esp + 0x11c]
bswap edi
cmp edi, esi
setns al
add eax, ecx
sub edi, esi
mov ecx, dword [esp + 0x58]
cmovo edi, eax
mov eax, dword [esp + 0x54]
bswap eax
shl eax, cl
mov ecx, eax
xor ecx, edx
shr ecx, 0x1f
add ecx, ebx
imul eax, edx
mov edx, 0x80000000
mov ebx, dword [esp + 0x2c]
cmovo eax, ecx
mov ecx, eax
mov dword [esp + 0x54], eax
sar edi, cl
mov ecx, dword [esp + 0x4c]
lea eax, [edi + ecx]
sar eax, 0x1f
xor eax, edx
add edi, ecx
mov ecx, dword [esp + 0x40]
cmovo edi, eax
mov dword [esp + 0x80], edi
sub ecx, edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0x40], ecx
sar edi, cl
mov ecx, ebx
lea eax, [edi + ebx]
sar eax, 0x1f
xor eax, edx
mov edx, dword [esp + 0x20]
add edi, ebx
cmovo edi, eax
xor eax, eax
mov dword [esp + 0xd0], edi
mov edi, 0x7fffffff
imul edx, dword [esp + 0x28]
cmp edx, ebx
setns al
add eax, edi
sub edx, ebx
mov edi, 0x80000000
cmovo edx, eax
sar edx, cl
mov ecx, 0xf0f0f0f
bswap edx
mov eax, edx
and edx, ecx
shr eax, 4
shl edx, 4
and eax, ecx
mov ecx, 0x33333333
or edx, eax
mov eax, edx
shr edx, 2
and eax, ecx
and edx, ecx
lea eax, [edx + eax*4]
mov edx, 0x55555555
mov ecx, eax
shr eax, 1
and ecx, edx
and eax, edx
mov edx, dword [esp + 0x4c]
lea ecx, [eax + ecx*2]
mov dword [esp + 0x20], ecx
sar esi, cl
mov ecx, dword [esp + 0x3c]
bswap esi
lea eax, [esi + ecx]
sar eax, 0x1f
xor eax, edi
add esi, ecx
mov ecx, dword [esp + 0x60]
cmovo esi, eax
mov dword [esp + 0x11c], esi
mov esi, 0x80000000
lea eax, [ecx + ebx]
sar eax, 0x1f
xor eax, edi
add ecx, ebx
mov edi, dword [esp + 0x30]
mov ebx, 0x7fffffff
cmovo ecx, eax
bswap ecx
lea eax, [ecx + edx]
sar eax, 0x1f
xor eax, esi
add ecx, edx
mov esi, dword [esp + 0x34]
mov edx, 0x7fffffff
cmovo ecx, eax
xor eax, eax
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x100]
cmp esi, ecx
setns al
add eax, edx
mov edx, esi
mov esi, dword [esp + 0x58]
sub edx, ecx
mov ecx, dword [esp + 0x50]
cmovo edx, eax
shl edx, cl
mov ecx, 0xf0f0f0f
imul esi, edi
add edx, dword [esp + 0xac]
bswap esi
mov eax, esi
and esi, ecx
shr eax, 4
shl esi, 4
and eax, ecx
mov ecx, 0x33333333
or esi, eax
mov eax, esi
shr esi, 2
and eax, ecx
and esi, ecx
lea eax, [esi + eax*4]
mov esi, 0x55555555
mov ecx, eax
shr eax, 1
and ecx, esi
and eax, esi
mov esi, dword [esp + 0x7c]
lea ecx, [eax + ecx*2]
xor eax, eax
imul edx, esi
mov dword [esp + 0xb0], edx
imul ecx, edx
mov edx, dword [esp + 0x3c]
cmp ecx, edx
setns al
add eax, ebx
sub ecx, edx
mov ebx, dword [esp + 0xfc]
mov edx, 0x7fffffff
cmovo ecx, eax
xor eax, eax
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
setns al
add eax, edx
mov edx, dword [esp + 0x28]
sub ecx, ebx
cmovo ecx, eax
add ecx, ebx
call fcn.004015c4
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x54]
shl dword [esp + 0x48], cl
mov ecx, dword [esp + 0x4c]
mov edx, edi
shl eax, cl
mov ecx, eax
call fcn.004015c4
add ebx, dword [esp + 0x1c]
mov dword [esp + 0x90], eax
mov edx, 0x7fffffff
mov dword [esp + 0x30], edi
mov eax, ebx
xor eax, edi
shr eax, 0x1f
add eax, edx
imul ebx, edi
mov edi, dword [esp + 0x50]
cmovo ebx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0x34]
mov edx, edi
mov ecx, ebx
add dword [esp + 0xe0], ebx
sar eax, cl
mov ecx, eax
call fcn.004015c4
mov edx, dword [esp + 0x30]
mov ecx, ebx
sub eax, edi
mov dword [esp + 0x134], eax
shl edx, cl
mov ecx, dword [esp + 0x28]
sar edx, cl
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x80]
sub ecx, dword [esp + 0xd0]
call fcn.004015c4
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
mov ebx, eax
mov edi, 0x7fffffff
sub ecx, dword [esp + 0x38]
mov eax, edx
xor eax, ecx
shr eax, 0x1f
add eax, edi
mov edi, dword [esp + 0x18]
imul ecx, edx
cmovo ecx, eax
mov edx, edi
call fcn.004015c4
mov edx, dword [esp + 0x134]
mov ecx, ebx
mov dword [esp + 0xcc], ebx
mov ebx, 0x7fffffff
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x1c]
shl esi, cl
add esi, edx
mov dword [esp + 0x100], edi
mov edi, dword [esp + 0xb0]
mov ecx, esi
xor ecx, eax
shr ecx, 0x1f
add ecx, ebx
imul esi, eax
mov ebx, dword [esp + 0x3c]
cmovo esi, ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x150]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x24], ecx
mov ecx, edx
jmp 0x4b8ae7
mov edx, dword [esp + 0x1c]
cmp edx, 0x9b6
je 0x4b8f70
mov esi, dword [esp + 0x138]
cmp edx, 0xd32
jne 0x4b8f8a
add esp, 0x11a3
mov edx, 0xd32
jmp 0x4b8f8a
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0x138]
mov ecx, 0x9b6
call fcn.004015c4
mov edx, eax
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], edx
cmp ebx, 0x929
je 0x4b8fb8
cmp ebx, 0xb9b
jne 0x4b8fd6
imul ebx, dword [esp + 0x28], 0xb9b
mov dword [esp + 0x5c], ebx
jmp 0x4b8fd6
mov edx, dword [esp + 0x60]
mov ecx, 0x929
call fcn.004015c4
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
cmp eax, 0x17c
je 0x4b8ffa
cmp eax, 0xef5
mov ebx, esi
jne 0x4b9007
mov edi, ecx
mov eax, 0x7fffffff
mov esi, ebx
add edi, 0xef5
cmovno eax, edi
jmp 0x4b9005
mov eax, 0x17c
add esp, 0x993
mov ebx, esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
cmp esi, 0x20
je 0x4b9033
cmp esi, 0x159
je 0x4b9047
cmp esi, 0x165
jne 0x4b9058
mov esi, 0x165
mov ecx, edx
shl esi, cl
mov ecx, dword [esp + 0x44]
jmp 0x4b9058
push 0x20
pop ecx
mov edx, dword [esp + 0x44]
call fcn.004015c4
mov ecx, dword [esp + 0x44]
mov esi, eax
jmp 0x4b9058
mov eax, dword [esp + 0x38]
mov esi, 0x7fffffff
add eax, 0x159
cmovno esi, eax
cmp ecx, 0x9b5a8656
je 0x4b9075
cmp ecx, 0x9b5a92ae
jne 0x4b907d
add esp, 0x7b5
mov ecx, 0x9b5a92ae
jmp 0x4b907d
imul ecx, dword [esp + 0x20], 0x9b5a8656
mov edx, dword [esp + 0x58]
mov dword [esp + 0x44], ecx
mov ecx, 0xa8c
xor eax, eax
mov edi, 0xa8c
cmp ecx, edx
setns al
add eax, 0x7fffffff
sub edi, edx
cmovo edi, eax
cmp ebx, ecx
cmovne edi, ebx
cmp dword [esp + 0x18], 0xa3
jne 0x4b90b5
add esp, 0x992
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x90]
cmp eax, 9
je 0x4b90d9
cmp eax, 1
jne 0x4b90ea
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x48], eax
jmp 0x4b90ea
mov eax, edx
mov ecx, 0x7fffffff
add eax, 9
cmovno ecx, eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x58]
test eax, eax
je 0x4b9108
cmp eax, 0xeb
jne 0x4b910e
mov eax, dword [esp + 0x7c]
add eax, 0xeb
jmp 0x4b910e
mov eax, dword [esp + 0x4c]
neg eax
cmp ecx, 0x2d8
je 0x4b9143
cmp ecx, 0xd07
mov dword [esp + 0x34], eax
je 0x4b914b
cmp ecx, 0xd21
je 0x4b9152
cmp ecx, 0xf14
jne 0x4b915d
mov eax, edi
mov ecx, 0x7fffffff
add eax, 0xf14
cmovno ecx, eax
jmp 0x4b915d
add esp, 0x7f0
ud2
mov ecx, 0x70d0000
jmp 0x4b915d
sub esp, 0xdce
mov ecx, 0xd21
mov dword [esp + 0x58], ecx
cmp ebx, 3
push 5
pop eax
je 0x4b917f
mov ecx, dword [esp + 0x120]
cmp ebx, 5
jne 0x4b918b
mov ebx, eax
mov ecx, dword [esp + 0x7c]
shr ebx, cl
jmp 0x4b9184
mov ebx, 0xc0000000
mov ecx, dword [esp + 0x120]
cmp edx, 0x80007623
mov dword [esp + 0x90], ebx
je 0x4b91bf
cmp edx, 0x80007a5e
je 0x4b91c6
cmp edx, 0x80007bab
je 0x4b91e4
cmp edx, 0x80008122
jne 0x4b91f5
sub esp, 0x4b7
mov edx, 0x80008122
jmp 0x4b91f5
mov edx, 0x23760080
jmp 0x4b91f5
mov edx, dword [esp + 0x4c]
mov ebx, 0x80007a5e
xor eax, eax
cmp ebx, edx
setns al
add eax, 0x7fffffff
sub ebx, edx
mov edx, ebx
cmovo edx, eax
jmp 0x4b91f5
mov eax, dword [esp + 0x50]
mov edx, 0x80000000
add eax, 0x80007bab
cmovno edx, eax
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0xac]
mov eax, 0xc5a
mov dword [esp + 0x60], edx
add esi, eax
cmp ebx, eax
mov eax, dword [esp + 0x80]
cmovne esi, ebx
mov dword [esp + 0x154], esi
cmp eax, 0x539
je 0x4b9245
cmp eax, 0xe1d
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
jne 0x4b925e
mov dword [esp + 0x80], 0xb8700000
jmp 0x4b925e
add esp, 0x4bd
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x80], 0x539
cmp ecx, 0x8f74046e
je 0x4b929e
cmp ecx, 0x8f7404e1
je 0x4b92b0
cmp ecx, 0x8f7410ad
je 0x4b92ca
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
cmp ecx, 0x8f741119
mov dword [esp + 0x120], ecx
jne 0x4b92f6
imul ecx, dword [esp + 0x3c], 0x8f741119
mov dword [esp + 0x120], ecx
jmp 0x4b92f6
mov edx, 0x8f74046e
sub edx, dword [esp + 0x54]
mov dword [esp + 0x120], edx
jmp 0x4b92f6
mov edx, dword [esp + 0xe0]
mov ecx, 0x8f7404e1
call fcn.004015c4
mov dword [esp + 0x120], eax
jmp 0x4b92ee
mov edx, dword [esp + 0x90]
mov ecx, 0x8f7410ad
xor eax, eax
cmp ecx, edx
setns al
add eax, 0x7fffffff
sub ecx, edx
cmovo ecx, eax
mov dword [esp + 0x120], ecx
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
cmp eax, 0x8f7407d3
je 0x4b930c
cmp eax, 0x8f740cce
jne 0x4b9315
add esp, 0x129f
ud2
mov eax, 0x8f7407d3
sub eax, dword [esp + 0x18]
cmp ebx, 0x6f0
mov dword [esp + 0x24], eax
je 0x4b933a
cmp ebx, 0x4a2
jne 0x4b9351
mov eax, edi
mov ebx, 0x7fffffff
add eax, 0x4a2
cmovno ebx, eax
jmp 0x4b9351
mov ecx, dword [esp + 0x38]
mov eax, ecx
shr eax, 0x1f
add eax, 0x7fffffff
imul ebx, ecx, 0x6f0
cmovo ebx, eax
mov eax, dword [esp + 0x20]
cmp eax, 0x918
je 0x4b937b
cmp eax, 0xffd
je 0x4b938c
cmp eax, 0x5b602b49
mov eax, dword [esp + 0x100]
jne 0x4b939b
mov dword [esp + 0x20], 0x492b605b
jmp 0x4b939b
mov eax, 0x918
mov ecx, dword [esp + 0x48]
shr eax, cl
mov dword [esp + 0x20], eax
jmp 0x4b9394
mov dword [esp + 0x20], 0xbff00000
mov eax, dword [esp + 0x100]
mov edx, dword [esp + 0x11c]
cmp edx, 0xffffffff
push 6
pop ecx
je 0x4b93ca
cmp edx, 6
je 0x4b93e4
cmp edx, 0x10
mov edx, dword [esp + 0x5c]
jne 0x4b9401
push 0x10
pop ecx
mov dword [esp + 0x11c], ecx
add esp, 0x115a
jmp 0x4b9401
mov ecx, dword [esp + 0x30]
mov edx, 0x80000000
dec ecx
cmovno edx, ecx
mov dword [esp + 0x11c], edx
mov edx, dword [esp + 0x5c]
jmp 0x4b9401
mov eax, ecx
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x5c]
shr eax, cl
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x100]
cmp eax, 0x5cc
je 0x4b941d
cmp eax, 0xad0
je 0x4b942a
cmp eax, 0xe2c0000
jne 0x4b943c
mov eax, 0x2c0e
jmp 0x4b943c
mov eax, 0x5cc
mov ecx, dword [esp + 0x24]
shl eax, cl
jmp 0x4b943c
mov edx, dword [esp + 0x5c]
mov ecx, 0xad0
call fcn.004015c4
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x38]
cmp ecx, 0x1c6
je 0x4b946c
cmp ecx, 0x766
jne 0x4b9478
mov ecx, dword [esp + 0x4c]
mov edx, 0x7fffffff
add ecx, 0x766
cmovno edx, ecx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x5c]
jmp 0x4b9478
imul ecx, dword [esp + 0x7c], 0x1c6
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xfc]
cmp ecx, 0x2c0
je 0x4b949b
cmp ecx, 0xfab
jne 0x4b94b9
mov ecx, dword [esp + 0x3c]
add ecx, 0xfab
jmp 0x4b94b9
mov edx, dword [esp + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, 0x7fffffff
imul edx, edx, 0x2c0
cmovo edx, ecx
mov ecx, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x100], eax
mov dword [esp + 0xf8], edi
cmp ecx, 0xd3b6f067
je 0x4b9501
cmp ecx, 0xd3b6f288
je 0x4b950c
mov eax, ecx
cmp ecx, 0xd3b6f5ea
je 0x4b951c
mov ecx, dword [esp + 0x28]
cmp eax, 0xd3b6fa8e
jne 0x4b9525
mov eax, 0x715f6dcb
jmp 0x4b9525
mov eax, dword [esp + 0x20]
add eax, 0xd3b6f067
jmp 0x4b9521
mov eax, 0xd3b6f288
mov ecx, dword [esp + 0x80]
shl eax, cl
jmp 0x4b9521
mov eax, 0xeaf5b6d3
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xe0], eax
cmp edi, 0x9ee80000
je 0x4b955b
cmp edi, 0x9ee80e1e
je 0x4b9572
mov eax, dword [esp + 0x24]
cmp edi, 0x9ee80fcd
jne 0x4b9581
mov edi, 0x9ee80fcd
mov ecx, edx
sar edi, cl
mov dword [esp + 0x2c], edi
jmp 0x4b9581
mov eax, dword [esp + 0x34]
mov ecx, 0x80000000
add eax, 0x9ee80000
cmovno ecx, eax
mov dword [esp + 0x2c], ecx
jmp 0x4b957d
mov eax, 0x9ee80e1e
shl eax, cl
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x50]
cmp ecx, 0xdc8a0000
je 0x4b95b9
cmp ecx, 0xdc8a00a2
mov eax, ecx
jne 0x4b95bf
mov edx, dword [esp + 0x4c]
mov ecx, 0xdc8a00a2
xor eax, eax
cmp ecx, edx
setns al
add eax, 0x7fffffff
sub ecx, edx
mov edx, dword [esp + 0x5c]
cmovo ecx, eax
mov eax, ecx
jmp 0x4b95bf
imul eax, eax, 0xdc8a0000
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4b95de
mov ecx, dword [esp + 0x28]
cmp eax, 0x22f
jne 0x4b95f4
lea eax, [ecx + 0x22f]
jmp 0x4b95f4
mov edx, dword [esp + 0x11c]
xor ecx, ecx
call fcn.004015c4
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0xcc]
cmp edi, 0x5ce
je 0x4b9618
cmp edi, 0xa0b
jne 0x4b963b
mov edi, 0xa0b
mov ecx, dword [esp + 0x50]
shr edi, cl
jmp 0x4b9630
mov ecx, eax
mov eax, dword [esp + 0xe0]
mov edi, 0x7fffffff
add eax, 0x5ce
cmovno edi, eax
mov eax, ecx
mov dword [esp + 0xcc], edi
mov ecx, dword [esp + 0x28]
cmp ecx, 0x593
je 0x4b9d4b
cmp ecx, 0xe03
mov dword [esp + 0x5c], edx
mov dword [esp + 0x30], eax
jne 0x4b9668
mov eax, dword [esp + 0x7c]
mov ecx, 0x7fffffff
add eax, 0xe03
cmovno ecx, eax
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0xcc]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x28], ecx
mov ecx, 0xd3
mov edi, ebx
mov dword [esp + 0x16c], 0x850
mov dword [esp + 0xd0], 0xda7
mov dword [esp + 0x144], 0x248
mov dword [esp + 0xb0], 0x75b
mov dword [esp + 0x138], 0xd34
mov dword [esp + 0x134], 0xf38
mov dword [esp + 0xac], 0x345
mov dword [esp + 0x148], 0x18aa
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x16c]
mov ebx, dword [esp + 0xac]
sub dword [esp + 0x148], 1
mov dword [esp + 0xe0], esi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xcc], eax
jb 0x4b9cf5
mov eax, edi
mov esi, edi
mov dword [esp + 0x40], edi
mov edi, 0x7fffffff
mov dword [esp + 0x140], edx
mov edx, dword [esp + 0xf8]
xor eax, ecx
shr eax, 0x1f
add eax, edi
imul ecx, esi
mov esi, 0x7fffffff
cmovo ecx, eax
xor eax, eax
cmp ebx, ecx
mov dword [esp + 0x13c], ecx
setns al
add eax, edi
mov edi, ebx
sub edi, ecx
mov ecx, dword [esp + 0x134]
cmovo edi, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xac], edi
mov edi, dword [esp + 0x80]
add dword [esp + 0x44], eax
mov eax, edx
xor eax, ecx
bswap edi
shr eax, 0x1f
add eax, esi
imul edx, ecx
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x48]
cmovo edx, eax
mov eax, dword [esp + 0x54]
sar edx, cl
mov ecx, edx
mov edx, dword [esp + 0x150]
bswap esi
bswap eax
mov dword [esp + 0x54], eax
call fcn.004015c4
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x90]
mov ecx, eax
imul ebx, eax
mov eax, dword [esp + 0x60]
shl esi, cl
mov ecx, dword [esp + 0x138]
sar esi, cl
mov ecx, dword [esp + 0x100]
sar ebx, cl
mov ecx, dword [esp + 0xe0]
shl ebx, cl
mov ecx, dword [esp + 0x150]
add esi, dword [esp + 0xd0]
imul eax, dword [esp + 0x54]
imul ebx, dword [esp + 0x154]
sub dword [esp + 0x34], ecx
mov edx, esi
mov dword [esp + 0x48], esi
shl eax, cl
mov dword [esp + 0x90], ebx
mov ecx, eax
call fcn.004015c4
mov esi, dword [esp + 0x140]
mov ecx, dword [esp + 0x154]
mov edx, ebx
mov dword [esp + 0x60], eax
imul ecx, esi
call fcn.004015c4
mov dword [esp + 0x4c], eax
mov eax, edi
mov ecx, 0xf0f0f0f
mov ebx, dword [esp + 0x11c]
mov edx, 0x55555555
shr eax, 4
and edi, ecx
and eax, ecx
shl edi, 4
mov ecx, 0x33333333
or edi, eax
mov eax, edi
shr edi, 2
and eax, ecx
and edi, ecx
lea eax, [edi + eax*4]
mov edi, 0x7fffffff
mov ecx, eax
shr eax, 1
and ecx, edx
and eax, edx
mov edx, dword [esp + 0x120]
lea eax, [eax + ecx*2]
mov ecx, ebx
sar eax, cl
mov ecx, dword [esp + 0xb0]
add eax, esi
imul eax, dword [esp + 0x38]
mov esi, ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x80], eax
mov eax, edx
xor eax, ecx
mov ecx, 0x7fffffff
shr eax, 0x1f
add eax, ecx
imul edx, esi
mov esi, dword [esp + 0x34]
cmovo edx, eax
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x20]
mov eax, esi
imul edx, dword [esp + 0x138]
xor eax, edx
shr eax, 0x1f
add eax, ecx
imul edx, esi
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
cmovo edx, eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x20], edx
bswap esi
shl eax, cl
mov dword [esp + 0x24], esi
mov ecx, eax
xor ecx, esi
shr ecx, 0x1f
add ecx, edi
imul eax, esi
cmovo eax, ecx
mov ecx, eax
call fcn.004015c4
mov edi, eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0xb0]
mov edx, 0xf0f0f0f
add eax, ecx
bswap eax
mov ecx, eax
and eax, edx
shr ecx, 4
shl eax, 4
and ecx, edx
mov edx, 0x33333333
or eax, ecx
mov ecx, eax
shr eax, 2
and ecx, edx
and eax, edx
mov edx, 0x55555555
lea eax, [eax + ecx*4]
mov ecx, eax
shr eax, 1
and ecx, edx
and eax, edx
mov edx, dword [esp + 0x134]
lea ecx, [eax + ecx*2]
call fcn.004015c4
mov ecx, dword [esp + 0x18]
xor edx, edx
mov esi, 0x7fffffff
cmp eax, ecx
setns dl
add edx, esi
sub eax, ecx
mov esi, dword [esp + 0xd0]
mov ecx, 0x80000000
cmovo eax, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
lea eax, [esi + edx]
sar eax, 0x1f
xor eax, ecx
add esi, edx
mov edx, edi
mov edi, dword [esp + 0x138]
cmovo esi, eax
mov dword [esp + 0xd0], esi
mov esi, dword [esp + 0x7c]
lea eax, [edx + edi]
sar eax, 0x1f
xor eax, ecx
add edx, edi
cmovo edx, eax
mov dword [esp + 0x16c], edx
mov edx, dword [esp + 0xcc]
lea eax, [esi + edx]
sar eax, 0x1f
xor eax, ecx
mov ecx, dword [esp + 0x50]
add esi, edx
mov edx, 0xf0f0f0f
cmovo esi, eax
mov dword [esp + 0x7c], esi
mov esi, 0x7fffffff
imul ecx, dword [esp + 0x34]
bswap ecx
mov eax, ecx
and ecx, edx
shr eax, 4
shl ecx, 4
and eax, edx
mov edx, 0x33333333
or ecx, eax
mov eax, ecx
shr ecx, 2
and eax, edx
and ecx, edx
mov edx, 0x55555555
lea eax, [ecx + eax*4]
mov ecx, eax
shr eax, 1
and ecx, edx
and eax, edx
lea edx, [eax + ecx*2]
mov ecx, dword [esp + 0x3c]
xor eax, eax
cmp edx, ecx
setns al
add eax, esi
sub edx, ecx
mov ecx, dword [esp + 0x40]
cmovo edx, eax
mov eax, dword [esp + 0x1c]
imul eax, dword [esp + 0xb0]
sar eax, cl
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xf8]
bswap ecx
imul eax, dword [esp + 0x120]
mov dword [esp + 0xf8], eax
mov eax, ecx
xor eax, edi
shr eax, 0x1f
add eax, esi
imul ecx, edi
mov esi, 0xf0f0f0f
mov edi, dword [esp + 0x60]
cmovo ecx, eax
bswap ecx
mov eax, ecx
and ecx, esi
shr eax, 4
shl ecx, 4
add edi, dword [esp + 0x38]
and eax, esi
mov esi, 0x33333333
or ecx, eax
mov eax, ecx
shr ecx, 2
and eax, esi
and ecx, esi
mov esi, dword [esp + 0x100]
lea eax, [ecx + eax*4]
mov ecx, 0xf0f0f0f
mov dword [esp + 0xb0], eax
mov eax, ebx
and ebx, ecx
shr eax, 4
shl ebx, 4
and eax, ecx
mov ecx, 0x33333333
or ebx, eax
mov eax, ebx
shr ebx, 2
and eax, ecx
and ebx, ecx
lea eax, [ebx + eax*4]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x140]
mov ecx, eax
sar ebx, cl
mov ecx, dword [esp + 0xfc]
sar esi, cl
mov ecx, dword [esp + 0x54]
shl edi, cl
mov ecx, esi
mov esi, dword [esp + 0xe0]
bswap edi
sub ecx, dword [esp + 0x20]
mov dword [esp + 0x120], edi
bswap ecx
mov dword [esp + 0x100], ecx
shl edx, cl
mov ecx, eax
mov dword [esp + 0x50], edx
mov edx, ebx
shl esi, cl
mov ecx, 0xf0f0f0f
bswap edx
mov eax, edx
and edx, ecx
shr eax, 4
shl edx, 4
and eax, ecx
mov ecx, 0x33333333
or edx, eax
mov eax, edx
shr edx, 2
and eax, ecx
and edx, ecx
mov ecx, dword [esp + 0xb0]
lea edx, [edx + eax*4]
mov eax, 0x55555555
mov ebx, ecx
shr ecx, 1
and ecx, eax
and ebx, eax
mov dword [esp + 0xb0], ecx
mov ecx, edx
shr edx, 1
mov dword [esp + 0x40], ebx
and ecx, eax
and edx, eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x28]
mov ebx, ecx
shr ecx, 1
and ebx, eax
and ecx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x11c], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x28], ecx
mov ecx, eax
add ebx, edi
xor ecx, esi
mov edi, 0x7fffffff
imul ebx, dword [esp + 0x80]
shr ecx, 0x1f
add ecx, edi
imul esi, eax
mov edi, dword [esp + 0x100]
mov eax, dword [esp + 0xd0]
cmovo esi, ecx
mov ecx, dword [esp + 0x20]
sar dword [esp + 0x7c], cl
bswap ebx
sub eax, edi
mov ecx, ebx
mov dword [esp + 0x30], ebx
mov ebx, 0xf0f0f0f
mov dword [esp + 0x134], edi
shl eax, cl
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x144]
bswap eax
mov ecx, eax
and eax, ebx
shr ecx, 4
shl eax, 4
and ecx, ebx
mov ebx, 0x33333333
or eax, ecx
mov ecx, eax
shr eax, 2
and ecx, ebx
and eax, ebx
mov ebx, 0x55555555
lea ecx, [eax + ecx*4]
mov eax, ecx
shr ecx, 1
and eax, ebx
and ecx, ebx
mov ebx, edi
mov edi, dword [esp + 0x44]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xfc], edi
mov edi, dword [esp + 0x13c]
lea ecx, [edx + ecx*2]
mov edx, dword [esp + 0xac]
mov dword [esp + 0x154], ecx
sar eax, cl
mov ecx, ebx
mov ebx, dword [esp + 0xb0]
imul edx, dword [esp + 0x1c]
sar edx, cl
mov ecx, edx
mov edx, dword [esp + 0x54]
imul ecx, dword [esp + 0x16c]
add eax, edx
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x140]
mov ecx, eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x40]
lea eax, [ebx + eax*2]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x11c]
lea eax, [ebx + eax*2]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
jmp 0x4b96dd
cmp dword [esp + 0x5c], 0x7e7
jne 0x4b9d05
sub esp, 0x10fc
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
cmp eax, 0xe29
je 0x4b9d53
cmp eax, 0xe60
jne 0x4b9d3b
mov ecx, dword [esp + 0x20]
mov edx, 0xe60
xor eax, eax
cmp edx, ecx
setns al
add eax, 0x7fffffff
sub edx, ecx
mov ecx, dword [esp + 0x44]
cmovo edx, eax
mov eax, edx
cmp ecx, 0x9b5a8817
jne 0x4b9d5b
add esp, 0xcc0
ud2
sub esp, 0xae1
ud2
sub esp, 0xdc1
ud2
neg dword [esp + 0xf8]
mov dword [esp + 0x4c], eax
jno 0x4b9d76
mov edx, dword [esp + 0x18]
mov ecx, 0x80000000
call fcn.004015c4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4b9da7
cmp eax, 0x124
je 0x4b9db8
mov edx, dword [esp + 0x60]
cmp eax, 0xa25
je 0x4b9dcc
cmp eax, 0xd50
jne 0x4b9dd7
add esp, 0xd42
mov dword [esp + 0x18], 0xd50
jmp 0x4b9dd7
mov edx, dword [esp + 0x30]
xor ecx, ecx
call fcn.004015c4
mov edx, dword [esp + 0x60]
jmp 0x4b9dd3
add esp, 0x1292
mov edx, dword [esp + 0x60]
mov dword [esp + 0x18], 0x124
jmp 0x4b9dd7
mov eax, 0xa25
sub eax, edx
mov dword [esp + 0x18], eax
cmp dword [esp + 0x34], 0xe31dbb99
jne 0x4b9de7
add esp, 0xb47
mov ebx, dword [esp + 0x58]
mov eax, 0xfb2
mov esi, 0xfb2
mov ecx, dword [esp + 0xb0]
shr esi, cl
cmp ebx, eax
cmovne esi, ebx
cmp edx, 0x791
jne 0x4b9e11
sub esp, 0x1286
cmp dword [esp + 0x24], 0x8f740e6d
mov edx, dword [esp + 0xe0]
jne 0x4b9e28
add esp, 0x850
cmp edi, 0x417
jne 0x4b9e45
mov edx, dword [esp + 0x3c]
mov ecx, 0x417
call fcn.004015c4
mov edx, dword [esp + 0xe0]
cmp dword [esp + 0x11c], 0x10
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0x7c]
jne 0x4b9e60
sub esp, 0xbad
mov edi, dword [esp + 0x150]
mov eax, 0x215
add edi, eax
cmp ecx, eax
mov eax, dword [esp + 0x38]
cmovne edi, ecx
cmp eax, 0x382
je 0x4b9ea3
cmp eax, 0x2375e3dd
mov esi, eax
jne 0x4b9eb8
mov ecx, dword [esp + 0x4c]
mov esi, 0x2375e3dd
xor eax, eax
cmp esi, ecx
setns al
add eax, 0x7fffffff
sub esi, ecx
cmovo esi, eax
jmp 0x4b9eb8
mov ecx, 0x382
mov edx, esi
call fcn.004015c4
mov edx, dword [esp + 0xe0]
mov esi, eax
cmp dword [esp + 0xfc], 0x9b5a8301
jne 0x4b9ed8
mov ecx, 0x9b5a8301
mov edx, edi
call fcn.004015c4
mov edx, dword [esp + 0xe0]
cmp dword [esp + 0x2c], 9
jne 0x4b9ef5
push 9
pop ecx
mov edx, dword [esp + 0xb0]
call fcn.004015c4
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4b9f0c
cmp eax, 0x99d
jne 0x4b9f21
add esp, 0x773
jmp 0x4b9f21
mov edx, dword [esp + 0xcc]
xor ecx, ecx
call fcn.004015c4
mov edx, dword [esp + 0xe0]
cmp dword [esp + 0x30], 0x1a0
jne 0x4b9f43
mov edx, dword [esp + 0xcc]
mov ecx, 0x1a0
call fcn.004015c4
mov edx, dword [esp + 0xe0]
cmp edx, 0x2cb
jne 0x4b9f59
mov edx, dword [esp + 0x18]
mov ecx, 0x2cb
call fcn.004015c4
cmp dword [esp + 0x28], 0x298
jne 0x4b9f71