Function at 0xbd3710
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x828
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00bc2800
mov ebx, eax
cmp ebx, 0
jne 0xbd3738
xor eax, eax
jmp 0xbd59c1
xor edi, edi
jmp 0xbd373c
mov dword [esp], ebx
call fcn.00bc2c40
cmp edi, eax
jb 0xbd374f
mov al, 1
jmp 0xbd59c1
mov dword [esp], ebx
mov dword [esp + 4], edi
call fcn.00bc2c50
mov esi, eax
mov al, byte [esp + 0x1d0]
mov byte [esp + 0x1e8], al
mov byte [esp + 0x6c], 0x1e
mov byte [esp + 0x6d], 0x8c
mov eax, 2
mov byte [esp + eax + 0x6c], 0
add eax, 1
cmp eax, 3
jne 0xbd377a
xor eax, eax
cmp eax, 3
jae 0xbd37b8
movzx edx, byte [esp + eax + 0x6c]
mov ecx, eax
add ecx, 0xa2869413
xor ecx, edx
add ecx, 0xebcb5f67
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
mov byte [esp + eax + 0x6c], cl
add eax, 1
jmp 0xbd3789
lea eax, [esp + 0x6c]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.00bc2b20
cmp eax, 0
je 0xbd390f
mov al, byte [esp + 0x1cc]
mov byte [esp + 0x1ec], al
mov byte [esp + 0xd2], 0x3e
mov byte [esp + 0xd3], 0x2d
mov byte [esp + 0xd4], 0xda
mov eax, 3
mov byte [esp + eax + 0xd2], 0
add eax, 1
cmp eax, 5
jne 0xbd3804
xor eax, eax
mov dword [esp + 0x3c], esi
cmp eax, 5
jae 0xbd3856
movzx edx, byte [esp + eax + 0xd2]
mov ecx, eax
add ecx, 0x18
and ecx, edx
mov esi, edx
shl esi, 1
xor esi, 0xffffffff
add esi, edx
mov edx, 0xe7
sub edx, eax
and esi, edx
or ecx, esi
mov esi, dword [esp + 0x3c]
mov dl, 0x3f
sub dl, cl
mov byte [esp + eax + 0xd2], dl
add eax, 1
jmp 0xbd381a
lea eax, [esp + 0xd2]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.00bc2b20
cmp eax, 0
je 0xbd390f
mov al, byte [esp + 0x1c8]
mov byte [esp + 0x1f0], al
mov byte [esp + 0x68], 0xc8
mov byte [esp + 0x69], 0x6e
mov eax, 2
mov byte [esp + eax + 0x68], 0
add eax, 1
cmp eax, 4
jne 0xbd3897
xor eax, eax
cmp eax, 4
jae 0xbd38ea
movzx edx, byte [esp + eax + 0x68]
mov ecx, eax
add ecx, 0x82a39545
mov esi, edx
xor esi, 0xffffffff
and ecx, esi
mov esi, 0xba
sub esi, eax
and esi, edx
or ecx, esi
mov esi, dword [esp + 0x3c]
mov edx, ecx
and edx, 0x29
xor edx, 0x29
and ecx, 0xd6
sub ecx, edx
add cl, 1
mov byte [esp + eax + 0x68], cl
add eax, 1
jmp 0xbd38a6
lea eax, [esp + 0x68]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 3
call fcn.00bc2b20
sub eax, 1
mov al, 1
sbb al, 0xff
test al, 1
jne 0xbd390f
jmp 0xbd3914
jmp 0xbd59b1
mov al, byte [esp + 0x1c4]
mov byte [esp + 0x1f4], al
mov byte [esp + 0x64], 0x9d
mov byte [esp + 0x65], 0x69
mov eax, 2
mov byte [esp + eax + 0x64], 0
add eax, 1
cmp eax, 4
jne 0xbd3931
xor eax, eax
mov dword [esp + 0x30], edi
cmp eax, 4
jae 0xbd39a0
movzx ecx, byte [esp + eax + 0x64]
mov edx, eax
shl edx, 1
and edx, 0xf2909a50
mov edi, eax
xor edi, 0xf9484d28
add edi, edx
mov esi, ecx
xor esi, 0xffffffff
shl esi, 1
add esi, ecx
add esi, 1
mov edx, edi
and edx, esi
xor edi, 0xffffffff
and ecx, edi
or edx, ecx
add edx, 0x35bd96bf
mov ecx, edx
xor ecx, 0xfe
mov esi, edx
or esi, 1
and esi, ecx
or edx, 1
add edx, esi
mov esi, dword [esp + 0x3c]
mov byte [esp + eax + 0x64], dl
add eax, 1
jmp 0xbd3944
lea eax, [esp + 0x64]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00bc2490
mov dword [esp + 0x2c0], eax
mov al, byte [esp + 0x1c0]
mov byte [esp + 0x1f8], al
mov byte [esp + 0xcc], 0x6e
mov byte [esp + 0xcd], 0x7d
mov byte [esp + 0xce], 0x8a
mov eax, 3
mov byte [esp + eax + 0xcc], 0
add eax, 1
cmp eax, 5
jne 0xbd39e2
mov dword [esp + 0xb4], ebx
xor edx, edx
cmp edx, 5
jae 0xbd3a6d
movzx eax, byte [esp + edx + 0xcc]
mov dword [esp + 0x274], eax
mov ecx, 0x570ffe37
sub ecx, edx
or ecx, eax
mov edi, 0x570ffe37
sub edi, edx
mov ebx, 0x570ffe37
sub ebx, edx
mov esi, 0x570ffe37
sub esi, edx
or ebx, esi
mov eax, ebx
xor eax, 0xffffffff
mov esi, edi
and esi, eax
mov eax, edi
xor eax, ebx
add edi, eax
xor edi, 0xffffffff
add esi, edi
mov eax, dword [esp + 0x274]
xor eax, 0xffffffff
or esi, eax
and ecx, esi
mov esi, dword [esp + 0x3c]
mov eax, ecx
shl eax, 1
xor eax, 0xffffffff
add ecx, eax
add cl, 0xc0
mov byte [esp + edx + 0xcc], cl
add edx, 1
jmp 0xbd39fb
lea eax, [esp + 0xcc]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00bc25c0
fnstcw word [esp + 0x5e]
movzx eax, word [esp + 0x5e]
or eax, 0xc00
mov word [esp + 0x256], ax
fldcw word [esp + 0x256]
fistp dword [esp + 0x2cc]
fldcw word [esp + 0x5e]
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x58], eax
mov al, byte [esp + 0x1bc]
mov byte [esp + 0x1fc], al
mov byte [esp + 0x40], 0xe7
mov byte [esp + 0x41], 0x83
xor eax, eax
mov ebx, dword [esp + 0xb4]
cmp eax, 2
jae 0xbd3b0d
movzx ecx, byte [esp + eax + 0x40]
mov edx, eax
add edx, 0x12
mov esi, ecx
xor esi, 0xffffffff
and edx, esi
mov esi, eax
add esi, 0x12
mov edi, eax
add edi, 0x12
and esi, edi
xor esi, 0xffffffff
and ecx, esi
mov esi, dword [esp + 0x3c]
or ecx, edx
add cl, 0x70
mov byte [esp + eax + 0x40], cl
add eax, 1
jmp 0xbd3ad4
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00bc25c0
fnstcw word [esp + 0x5c]
movzx eax, word [esp + 0x5c]
or eax, 0xc00
mov word [esp + 0x254], ax
fldcw word [esp + 0x254]
fistp dword [esp + 0x2c8]
fldcw word [esp + 0x5c]
mov edi, dword [esp + 0x2c8]
lea eax, [esp + 0x424]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0x400
mov eax, dword [esp + 0x2c0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00bcbdd0
lea eax, [esp + 0x424]
lea ecx, [esp + 0x38]
lea edx, [esp + 0x260]
xor esi, esi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.00bcc5f0
test al, 1
jne 0xbd3bb3
jmp 0xbd3baa
mov edi, dword [esp + 0x30]
jmp 0xbd59af
cmp edi, 0
sete al
mov byte [esp + 0x4b], al
test al, 1
jne 0xbd3bc6
jmp 0xbd4e9f
mov al, byte [esp + 0x1b8]
mov byte [esp + 0x200], al
mov byte [esp + 0x60], 0x6d
mov byte [esp + 0x61], 0xde
mov eax, 2
mov byte [esp + eax + 0x60], 0
add eax, 1
cmp eax, 3
jne 0xbd3be3
xor eax, eax
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
cmp eax, 3
jae 0xbd3c34
movzx esi, byte [esp + eax + 0x60]
mov ecx, eax
add ecx, 0xeb6ce975
mov edx, eax
add edx, 0x75
and edx, esi
shl edx, 1
add ecx, esi
mov esi, ecx
xor esi, edx
xor edx, 0xffffffff
and ecx, edx
shl ecx, 1
sub ecx, esi
mov edx, dword [esp + 0x3c]
add cl, 0x58
mov byte [esp + eax + 0x60], cl
add eax, 1
jmp 0xbd3bfa
lea eax, [esp + 0x60]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00bc2490
cmp eax, 0
je 0xbd3e74
mov dword [esp + 0x278], eax
mov dword [esp], eax
call fcn.00bd59d0
mov edi, eax
mov eax, edi
add eax, 1
mov ecx, 2
mov dword [esp + 0x270], eax
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0xbd3c80
mov ecx, eax
mov dword [esp], ecx
call fcn.00bc94d0
mov esi, eax
xor eax, eax
mov dword [esp], esi
mov eax, dword [esp + 0x270]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00bcbdd0
xor eax, eax
lea eax, [esp + 0x1b4]
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 0x2b8], edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
call dword [0xc09a70]
sub esp, 0x18
mov dword [esp + 0x29c], eax
mov cl, byte [esp + 0x1b0]
mov byte [esp + 0x204], cl
mov byte [esp + 0x76], 0x14
mov byte [esp + 0x77], 0xe8
mov byte [esp + 0x78], 0xe9
mov byte [esp + 0x79], 0xaa
mov ecx, 4
mov byte [esp + ecx + 0x76], 0
add ecx, 1
cmp ecx, 6
jne 0xbd3d1c
mov eax, esi
xor edi, edi
cmp edi, 6
jae 0xbd3d77
movzx edx, byte [esp + edi + 0x76]
mov ecx, 0x70
sub ecx, edi
mov esi, 0x70
sub esi, edi
and ecx, esi
xor ecx, 0xffffffff
mov esi, edx
and esi, ecx
shl esi, 1
mov ecx, edi
add ecx, 0x63d7b08f
add ecx, edx
sub ecx, esi
add ecx, 0xe1427b87
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
mov byte [esp + edi + 0x76], cl
add edi, 1
jmp 0xbd3d2d
mov ecx, dword [esp + 0x76]
cmp dword [esp + 0x29c], ecx
mov esi, eax
jne 0xbd3daa
mov edi, dword [esp + 0x30]
jmp 0xbd3d8c
mov dword [esp], esi
call fcn.00bc94e0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00bfa420
mov eax, 4
jmp 0xbd3e66
mov eax, dword [esp + 0x1b4]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
mov edi, dword [esp + 0x30]
jne 0xbd3dcb
mov ecx, eax
mov dword [esp], ecx
call fcn.00bc94d0
mov ecx, dword [0xc09a70]
mov dword [esp + 0x268], ecx
mov ecx, dword [esp + 0x1b4]
xor edx, edx
mov dword [esp], 0
mov dword [esp + 0x2c], esi
mov dword [esp + 4], esi
mov edx, dword [esp + 0x2b8]
mov dword [esp + 8], edx
mov esi, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
lea eax, [esp + 0x1b4]
mov dword [esp + 0x14], eax
call dword [esp + 0x268]
sub esp, 0x18
cmp eax, 0
jge 0xbd3e52
jmp 0xbd3e29
mov dword [esp], esi
call fcn.00bc94e0
mov esi, dword [esp + 0x2c]
jmp 0xbd3e37
mov dword [esp], esi
call fcn.00bc94e0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00bfa420
mov eax, 4
jmp 0xbd3e64
jmp 0xbd3e54
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00bc94e0
xor eax, eax
jmp 0xbd3e64
jmp 0xbd3e66
cmp eax, 0
je 0xbd44e9
jmp 0xbd44eb
call fcn.00bc9d30
mov ebx, eax
and ebx, 0xf
xor ebx, 0x10
add ebx, 0
xor ecx, ecx
lea eax, [esp + 0x3e4]
cmp ecx, ebx
jb 0xbd40b1
mov word [eax], 0
mov al, byte [esp + 0x1a8]
mov byte [esp + 0x20c], al
mov byte [esp + 0xd8], 0xa
mov byte [esp + 0xd9], 0x60
mov byte [esp + 0xda], 0xd5
mov byte [esp + 0xdb], 0x62
mov byte [esp + 0xdc], 0x26
mov byte [esp + 0xdd], 0x64
mov byte [esp + 0xde], 0xd8
mov byte [esp + 0xdf], 0x66
mov byte [esp + 0xe0], 0xd7
mov byte [esp + 0xe1], 0x58
mov byte [esp + 0xe2], 0x3c
mov byte [esp + 0xe3], 0x5a
mov byte [esp + 0xe4], 0xf7
mov byte [esp + 0xe5], 0x5c
mov byte [esp + 0xe6], 0x5d
mov byte [esp + 0xe7], 0x5e
mov eax, 0x10
mov byte [esp + eax + 0xd8], 0
add eax, 1
cmp eax, 0x12
jne 0xbd3f2d
xor eax, eax
cmp eax, 0x12
jae 0xbd3fba
movzx ecx, byte [esp + eax + 0xd8]
mov edi, eax
add edi, 0x9f06ddd7
mov esi, edi
shl esi, 1
mov edx, eax
add edx, 0x9f06ddd6
sub edx, esi
and edx, 0xb59d1ff7
and edi, 0x4a62e008
xor ecx, 0xb59d1ff7
or edx, edi
mov esi, ecx
and esi, edx
shl esi, 1
add ecx, edx
sub ecx, esi
mov edx, ecx
and edx, 0x45
mov edi, ecx
and edi, 2
xor edi, 2
mov esi, ecx
and esi, 0x45
imul edi, esi
mov esi, ecx
and esi, 2
or edx, 2
imul edx, esi
add edx, edi
mov edi, dword [esp + 0x30]
xor ecx, 0x47
add ecx, edx
add cl, 1
mov byte [esp + eax + 0xd8], cl
add eax, 1
jmp 0xbd3f3f
lea eax, [esp + 0x384]
lea ecx, [esp + 0xd8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00bcafc0
lea ecx, [esp + 0x3e4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00bcafc0
lea edx, [esp + 0x384]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
sar eax, 1
xor ecx, ecx
lea edx, [esp + 0x384]
lea ecx, [esp + 0x1a4]
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 0x2a4], eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], ecx
call dword [0xc09a70]
sub esp, 0x18
mov cl, byte [esp + 0x1a0]
mov byte [esp + 0x210], cl
mov byte [esp + 0x50], 0xad
mov byte [esp + 0x51], 0x4f
mov byte [esp + 0x52], 0x30
mov byte [esp + 0x53], 0x71
xor ecx, ecx
cmp ecx, 4
jae 0xbd4099
mov bl, byte [esp + ecx + 0x50]
mov esi, ecx
add esi, 0xbe
mov edx, 1
sub edx, ecx
and edx, 0x2a
and esi, 0xd5
or edx, esi
xor dl, bl
xor dl, 0x2a
add dl, 0x10
mov byte [esp + ecx + 0x50], dl
add ecx, 1
jmp 0xbd4065
mov ecx, dword [esp + 0x50]
cmp eax, ecx
mov ebx, dword [esp + 0xb4]
jne 0xbd4148
jmp 0xbd4160
mov dword [esp + 0x298], eax
mov dword [esp + 0x2a0], ecx
call fcn.00bc9d30
mov cl, byte [esp + 0x1ac]
mov byte [esp + 0x208], cl
mov byte [esp + 0x54], 0xd8
mov byte [esp + 0x55], 0x3d
mov byte [esp + 0x56], 0x3e
mov byte [esp + 0x57], 0x3f
xor ecx, ecx
cmp ecx, 4
jae 0xbd4119
movzx edx, byte [esp + ecx + 0x54]
mov esi, ecx
add esi, 0x5cfd4ddc
xor esi, edx
mov edx, esi
and edx, 1
xor edx, 1
mov edi, 0xe0
sub edi, esi
or edi, 1
sub edx, edi
mov byte [esp + ecx + 0x54], dl
add ecx, 1
jmp 0xbd40e8
cdq
idiv dword [esp + 0x54]
movsx ecx, byte [edx + 0xc00b94]
mov edx, dword [esp + 0x298]
mov eax, edx
add eax, 2
mov word [edx], cx
mov ecx, dword [esp + 0x2a0]
sub ecx, 0xffffffff
mov edi, dword [esp + 0x30]
jmp 0xbd3e8d
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00bfa420
xor esi, esi
mov eax, 4
jmp 0xbd44dc
mov eax, dword [esp + 0x1a4]
add eax, 4
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0xbd4180
mov ecx, eax
mov dword [esp], ecx
call fcn.00bc94d0
mov esi, dword [0xc09a70]
mov ecx, dword [esp + 0x1a4]
xor edx, edx
lea edx, [esp + 0x384]
mov dword [esp], 0
mov dword [esp + 4], edx
mov edx, dword [esp + 0x2a4]
mov dword [esp + 8], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
lea eax, [esp + 0x1a4]
mov dword [esp + 0x14], eax
call esi
sub esp, 0x18
cmp eax, 0
setge al
test al, 1
mov ecx, dword [esp + 0x58]
jne 0xbd4204
jmp 0xbd41e0
jmp 0xbd41e2
mov esi, dword [esp + 0x2c]
mov dword [esp], esi
call fcn.00bc94e0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00bfa420
mov eax, 4
jmp 0xbd44dc
cmp ecx, 0
jne 0xbd42c4
mov al, byte [esp + 0x19c]
mov byte [esp + 0x214], al
mov byte [esp + 0xaa], 0x99
mov byte [esp + 0xab], 0x38
mov byte [esp + 0xac], 0x9c
mov byte [esp + 0xad], 0x3a
mov byte [esp + 0xae], 0xb3
mov byte [esp + 0xaf], 0x3c
mov byte [esp + 0xb0], 0x98
mov byte [esp + 0xb1], 0x3e
mov byte [esp + 0xb2], 0x3f
mov byte [esp + 0xb3], 0x30
xor eax, eax
mov esi, dword [esp + 0x2c]
cmp eax, 0xa
jae 0xbd42ac
movzx ecx, byte [esp + eax + 0xaa]
mov edx, eax
add edx, 0x140935bf
xor edx, ecx
mov ecx, edx
shl ecx, 1
and ecx, 0xe
xor edx, 0xf8
sub ecx, edx
mov byte [esp + eax + 0xaa], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0xbd4271
lea eax, [esp + 0xaa]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00bd5da0
jmp 0xbd44d8
cmp ecx, 1
sete al
mov esi, dword [esp + 0x2c]
jmp 0xbd42d0
test al, 1
jne 0xbd42d9
jmp 0xbd43c9
mov al, byte [esp + 0x198]
mov byte [esp + 0x218], al
mov byte [esp + 0xc0], 0x2c
mov byte [esp + 0xc1], 3
mov byte [esp + 0xc2], 0x60
mov byte [esp + 0xc3], 5
mov byte [esp + 0xc4], 0x6a
mov byte [esp + 0xc5], 7
mov byte [esp + 0xc6], 0x64
mov byte [esp + 0xc7], 9
mov byte [esp + 0xc8], 0xa
mov byte [esp + 0xc9], 0xb
mov eax, 0xa
mov byte [esp + eax + 0xc0], 0
add eax, 1
cmp eax, 0xc
jne 0xbd433c
xor edi, edi
cmp edi, 0xc
jae 0xbd43ad
movzx ecx, byte [esp + edi + 0xc0]
mov eax, edi
add eax, 0x38c10292
xor eax, ecx
mov edx, eax
add edx, 0x39f7eb6f
mov esi, edx
and esi, 1
mov ecx, eax
and ecx, 1
xor ecx, 1
or ecx, esi
mov esi, 0xc6081490
sub esi, eax
mov eax, esi
and eax, 0xc5
and edx, 0x3a
or eax, edx
and esi, 1
xor esi, 1
or eax, esi
mov esi, dword [esp + 0x2c]
xor eax, 0xc4
add eax, ecx
mov byte [esp + edi + 0xc0], al
add edi, 1
jmp 0xbd434e
lea eax, [esp + 0xc0]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00bd5da0
mov edi, dword [esp + 0x30]
jmp 0xbd44d8
cmp ecx, 2
sete al
test al, 1
jne 0xbd43d8
jmp 0xbd44d8
mov al, byte [esp + 0x194]
mov byte [esp + 0x21c], al
mov byte [esp + 0xa0], 0xc7
mov byte [esp + 0xa1], 0xfa
mov byte [esp + 0xa2], 0x8b
mov byte [esp + 0xa3], 0xfc
mov byte [esp + 0xa4], 0x8e
mov byte [esp + 0xa5], 0xfe
mov byte [esp + 0xa6], 0xce
mov byte [esp + 0xa7], 0xf0
mov byte [esp + 0xa8], 0xf1
mov byte [esp + 0xa9], 0xf2
xor eax, eax
cmp eax, 0xa
jae 0xbd44c3
movzx edx, byte [esp + eax + 0xa0]
mov ecx, eax
add ecx, 0xb30c7271
mov edi, ecx
and edi, edx
mov esi, edi
and esi, 2
xor esi, 2
mov ebx, edi
and ebx, 0xfd
imul ebx, esi
mov esi, edi
and esi, 2
or edi, 2
imul edi, esi
add edi, ebx
mov ebx, dword [esp + 0xb4]
sub ecx, edi
mov edi, dword [esp + 0x30]
add ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0x869a7e68
xor ecx, 0x434d3f34
add ecx, edx
mov edx, ecx
add edx, 0x77
mov esi, 8
sub esi, ecx
and esi, 0x34
and edx, 0xcb
sub edx, esi
mov esi, dword [esp + 0x2c]
add dl, 1
mov byte [esp + eax + 0xa0], dl
add eax, 1
jmp 0xbd4438
lea eax, [esp + 0xa0]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00bd5da0
jmp 0xbd44d8
xor eax, eax
jmp 0xbd44dc
cmp eax, 0
sete cl
test cl, 1
jne 0xbd44e9
jmp 0xbd44eb
xor eax, eax
cmp eax, 0
jne 0xbd59af
lea eax, [esp + 0x25c]
xor ecx, ecx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], 0x100002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 5
mov dword [esp + 0x14], 0x60
mov dword [esp + 0x18], 0x80
call 0xbfdf50
mov dword [esp + 0x2c], esi
mov esi, eax
cmp esi, 0
jl 0xbd46b1
mov eax, dword [esp + 0x260]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x25c]
xor esi, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call 0xbfe650
mov ecx, dword [esp + 0x25c]
mov dword [esp + 0x2b4], ecx
mov cl, byte [esp + 0x1e4]
mov byte [esp + 0x240], cl
mov byte [esp + 0x94], 0x26
mov byte [esp + 0x95], 0x25
mov byte [esp + 0x96], 0x24
mov byte [esp + 0x97], 0x23
mov ecx, 4
mov byte [esp + ecx + 0x94], 0
add ecx, 1
cmp ecx, 5
jne 0xbd45ad
mov dword [esp + 0x2bc], eax
xor eax, eax
cmp eax, 5
jae 0xbd4626
movzx esi, byte [esp + eax + 0x94]
mov edx, esi
add edx, 1
mov ecx, eax
add ecx, 0x7dcb1b21
or ecx, esi
add edx, eax
mov edi, eax
add edi, 0x7dcb1b21
or edi, esi
sub ecx, edx
add ecx, 0x8234e4df
and ecx, edi
add ecx, 0x11a726f7
mov edx, ecx
and edx, 1
mov esi, ecx
and esi, 0xfe
mov edi, ecx
xor edi, 1
add ecx, edi
mov edi, dword [esp + 0x30]
sub ecx, esi
add ecx, edx
mov byte [esp + eax + 0x94], cl
add eax, 1
jmp 0xbd45c6
mov eax, dword [esp + 0x94]
mov dword [esp + 0x290], eax
xor edx, edx
cmp edx, dword [0xc09a74]
jb 0xbd4640
jmp 0xbd46a8
mov eax, dword [0xc09a78]
cmp dword [eax + edx*8], 0xb430e561
sete cl
mov byte [esp + 0x47], cl
test cl, 1
jne 0xbd465a
jmp 0xbd469a
mov eax, dword [eax + edx*8 + 4]
cmp eax, dword [esp + 0x290]
je 0xbd469a
mov ecx, dword [0xc09a7c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x27c], edx
call 0xbfbdc0
mov edx, dword [esp + 0x27c]
test byte [esp + 0x47], 1
je 0xbd46a3
jmp 0xbd46a8
add edx, 1
jmp 0xbd4636
mov esi, dword [esp + 0x2bc]
jmp 0xbd46b1
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00bfa420
mov dword [esp + 0x38], 0
cmp esi, 0
jge 0xbd46e4
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x34], 0
mov eax, 4
jmp 0xbd4e91
mov ecx, dword [esp + 0x58]
cmp ecx, 1
sete al
mov esi, dword [esp + 0x2c]
test al, 1
jne 0xbd46fb
jmp 0xbd4b4d
mov al, byte [esp + 0x190]
mov byte [esp + 0x220], al
mov byte [esp + 0x4c], 0x6c
mov byte [esp + 0x4d], 0x65
mov byte [esp + 0x4e], 0x8c
mov eax, 3
mov byte [esp + eax + 0x4c], 0
add eax, 1
cmp eax, 4
jne 0xbd471d
xor edi, edi
cmp edi, 4
jae 0xbd47a6
movzx eax, byte [esp + edi + 0x4c]
mov dword [esp + 0x264], eax
mov edx, edi
xor edx, 0xd76cd8a6
mov ecx, edi
shl ecx, 1
and ecx, 0x51264eb2
sub ecx, edx
mov edx, eax
xor edx, 0xffffffff
shl edx, 1
add edx, eax
mov esi, edx
xor esi, 0xffffffff
mov ebx, edx
add ebx, 1
or ebx, ecx
mov eax, ebx
add eax, esi
mov esi, dword [esp + 0x2c]
or ecx, dword [esp + 0x264]
sub edx, ebx
mov ebx, dword [esp + 0xb4]
and edx, 0x5f7d8635
and eax, 0xa08279ca
or edx, eax
mov eax, edx
xor eax, 0x35
xor edx, 0x35
and eax, edx
xor eax, 0xffffffff
and ecx, eax
add cl, 0x30
mov byte [esp + edi + 0x4c], cl
add edi, 1
jmp 0xbd472c
lea eax, [esp + 0x4c]
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00bc2490
mov dword [esp + 0x178], eax
mov al, byte [esp + 0x18c]
mov byte [esp + 0x224], al
mov byte [esp + 0xba], 0xb2
mov byte [esp + 0xbb], 0xc6
mov byte [esp + 0xbc], 0x55
mov eax, 3
mov byte [esp + eax + 0xba], 0
add eax, 1
cmp eax, 5
jne 0xbd47ec
xor eax, eax
cmp eax, 5
jae 0xbd4860
movzx edx, byte [esp + eax + 0xba]
mov dword [esp + 0x26c], edx
mov edi, eax
add edi, 0xb
mov ecx, 0xf4
sub ecx, eax
or ecx, edx
mov edx, 0x34
sub edx, eax
and edx, 0x3f
and edi, 0xc0
or edx, edi
xor edx, 0xc0
mov esi, 0xf4
sub esi, eax
or edx, esi
mov esi, dword [esp + 0x2c]
and edx, dword [esp + 0x26c]
xor ecx, 0xffffffff
or edx, ecx
add dl, 0xa8
mov byte [esp + eax + 0xba], dl
add eax, 1
jmp 0xbd47fe
lea eax, [esp + 0xba]
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00bc2490
mov dword [esp + 0x174], eax
mov dword [esp], esi
call fcn.00bd5df0
mov edi, eax
cmp dword [esp + 0x178], 0
setne al
mov dword [esp + 0x16c], 0
mov byte [esp + 0x49], al
test al, 1
jne 0xbd48a8
jmp 0xbd48c3
mov eax, dword [esp + 0x178]
mov dword [esp], eax
call fcn.00bc9720
sub eax, 0xffffffff
mov dword [esp + 0x16c], eax
jmp 0xbd48c3
cmp dword [esp + 0x174], 0
setne al
mov dword [esp + 0x170], 0
mov byte [esp + 0x4a], al
test al, 1
jne 0xbd48e3
jmp 0xbd48fc
mov eax, dword [esp + 0x174]
mov dword [esp], eax
call fcn.00bc9720
add eax, 1
mov dword [esp + 0x170], eax
xor ecx, ecx
sub ecx, edi
add ecx, 0xfffffff7
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, dword [esp + 0x16c]
sub eax, ecx
mov ecx, eax
mov edx, dword [esp + 0x170]
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0xbd493f
mov ecx, eax
mov dword [esp], ecx
call fcn.00bc94d0
mov dword [esp + 0x34], eax
mov al, byte [esp + 0x188]
mov byte [esp + 0x228], al
mov byte [esp + 0xea], 0x72
mov byte [esp + 0xeb], 1
mov byte [esp + 0xec], 0x77
mov byte [esp + 0xed], 3
mov byte [esp + 0xee], 0x6a
mov byte [esp + 0xef], 5
mov byte [esp + 0xf0], 0x62
mov byte [esp + 0xf1], 7
mov byte [esp + 0xf2], 0x64
mov byte [esp + 0xf3], 9
mov byte [esp + 0xf4], 0x66
mov byte [esp + 0xf5], 0xb
mov byte [esp + 0xf6], 0x3f
mov byte [esp + 0xf7], 0xd
mov byte [esp + 0xf8], 0x3c
mov byte [esp + 0xf9], 0xf
mov byte [esp + 0xfa], 0x10
mov byte [esp + 0xfb], 0x11
mov eax, 0x12
mov byte [esp + eax + 0xea], 0
add eax, 1
cmp eax, 0x14
jne 0xbd49ee
xor eax, eax
cmp eax, 0x14
jae 0xbd4a65
movzx edx, byte [esp + eax + 0xea]
mov ecx, 0x7b6c29ff
sub ecx, eax
and ecx, 0xb78272be
mov esi, eax
add esi, 0x8493d601
mov edi, 0x7b6c29ff
sub edi, eax
or edi, 0x487d8d41
add edi, esi
or ecx, edi
xor ecx, edx
xor ecx, 0xb78272be
add ecx, 0xdb614fff
mov edx, ecx
shl edx, 1
and edx, 2
mov esi, ecx
and esi, edx
shl esi, 1
xor ecx, edx
xor ecx, 1
add ecx, esi
mov esi, dword [esp + 0x2c]
mov byte [esp + eax + 0xea], cl
add eax, 1
jmp 0xbd4a00
lea eax, [esp + 0xea]
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00bcafc0
mov ecx, eax
add ecx, 2
mov word [eax], 0x20
add ecx, 2
mov word [eax + 2], 0x22
mov dword [esp], ecx
mov dword [esp + 4], esi
call fcn.00bcafc0
mov edi, eax
add edi, 2
mov word [eax], 0x22
cmp esi, 0
sete al
test al, 1
jne 0xbd4abb
jmp 0xbd4ab1
mov dword [esp], esi
call fcn.00bc94e0
jmp 0xbd4abb
mov al, byte [esp + 0x49]
test al, 1
jne 0xbd4acb
mov esi, edi
mov edi, dword [esp + 0x30]
jmp 0xbd4b09
mov esi, edi
add esi, 2
mov word [edi], 0x2c
mov edi, dword [esp + 0x30]
jmp 0xbd4adb
xor eax, eax
mov dword [esp], esi
mov eax, dword [esp + 0x16c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00bcbdd0
shl eax, 1
add esi, eax
jmp 0xbd4b09
test byte [esp + 0x4a], 1
jne 0xbd4b12
jmp 0xbd4b44
mov eax, esi
add eax, 2
mov word [esi], 0x2c
xor ecx, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00bcbdd0
xor esi, esi
xor ecx, ecx
jmp 0xbd4e8f
mov dword [esp + 0x34], 0
cmp ecx, 2
je 0xbd4b5f
jmp 0xbd4e8f
mov dword [esp], esi
call fcn.00bd5df0
xor ecx, ecx
sub ecx, eax
mov eax, 0x1d
sub eax, ecx
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0xbd4b8b
mov ecx, eax
mov dword [esp], ecx
call fcn.00bc94d0
mov dword [esp + 0x34], eax
mov al, byte [esp + 0x184]
mov byte [esp + 0x22c], al
mov byte [esp + 0x70], 0x90
mov byte [esp + 0x71], 0xb3
mov byte [esp + 0x72], 0xb4
mov byte [esp + 0x73], 0xb5
mov eax, 4
mov byte [esp + eax + 0x70], 0
add eax, 1
cmp eax, 5
jne 0xbd4bbe
xor eax, eax
cmp eax, 5
jae 0xbd4c16
movzx edi, byte [esp + eax + 0x70]
mov edx, 0x4a12e95d
sub edx, eax
or edx, edi
mov ecx, 0x5d
sub ecx, eax
mov esi, 0x5d
sub esi, eax
or ecx, esi
mov esi, dword [esp + 0x2c]
and ecx, edi
xor edx, 0xffffffff
or ecx, edx
add ecx, 0x50974aef
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
mov byte [esp + eax + 0x70], cl
add eax, 1
jmp 0xbd4bcd
mov al, byte [esp + 0x180]
mov byte [esp + 0x230], al
mov byte [esp + 0xfe], 0x34
mov byte [esp + 0xff], 0x85
mov byte [esp + 0x100], 0x29
mov byte [esp + 0x101], 0x87
mov byte [esp + 0x102], 0x3f
mov byte [esp + 0x103], 0x89
mov byte [esp + 0x104], 0x2f
mov byte [esp + 0x105], 0x8b
mov byte [esp + 0x106], 0x3e
mov byte [esp + 0x107], 0x8d
mov byte [esp + 0x108], 0x3d
mov byte [esp + 0x109], 0x8f
mov byte [esp + 0x10a], 0x38
mov byte [esp + 0x10b], 0x91
mov byte [esp + 0x10c], 0x37
mov byte [esp + 0x10d], 0x93
mov byte [esp + 0x10e], 0x38
mov byte [esp + 0x10f], 0x95
mov byte [esp + 0x110], 0x3a
mov byte [esp + 0x111], 0x97
mov byte [esp + 0x112], 0xf8
mov byte [esp + 0x113], 0x99
mov byte [esp + 0x114], 0xf7
mov byte [esp + 0x115], 0x9b
mov byte [esp + 0x116], 0x39
mov byte [esp + 0x117], 0x9d
mov byte [esp + 0x118], 0x26
mov byte [esp + 0x119], 0x9f
mov byte [esp + 0x11a], 0x45
mov byte [esp + 0x11b], 0xe1
mov byte [esp + 0x11c], 0x41
mov byte [esp + 0x11d], 0xe3
mov byte [esp + 0x11e], 0x84
mov byte [esp + 0x11f], 0xe5
mov byte [esp + 0x120], 0x44
mov byte [esp + 0x121], 0xe7
mov byte [esp + 0x122], 0x51
mov byte [esp + 0x123], 0xe9
mov byte [esp + 0x124], 0x5a
mov byte [esp + 0x125], 0xeb
mov byte [esp + 0x126], 0x4d
mov byte [esp + 0x127], 0xed
mov byte [esp + 0x128], 0x5d
mov byte [esp + 0x129], 0xef
mov byte [esp + 0x12a], 0x43
mov byte [esp + 0x12b], 0xf1
mov byte [esp + 0x12c], 0x92
mov byte [esp + 0x12d], 0xf3
mov byte [esp + 0x12e], 0x99
mov byte [esp + 0x12f], 0xf5
mov byte [esp + 0x130], 0x50
mov byte [esp + 0x131], 0xf7
mov byte [esp + 0x132], 0x98
mov byte [esp + 0x133], 0xf9
mov byte [esp + 0x134], 0x98
mov byte [esp + 0x135], 0xfb
mov byte [esp + 0x136], 0xfc
mov byte [esp + 0x137], 0xfd
xor eax, eax
cmp eax, 0x3a
jae 0xbd4e53
movzx esi, byte [esp + eax + 0xfe]
mov ecx, 0x5b
sub ecx, eax
or ecx, esi
mov edi, eax
add edi, 0xa4
mov edx, 0x5b
sub edx, eax
or edx, esi
sub edi, esi
add edx, edi
and edx, ecx
mov cl, 0xdf
sub cl, dl
mov byte [esp + eax + 0xfe], cl
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 0x3e
mov esi, eax
xor esi, 1
add eax, esi
mov esi, dword [esp + 0x2c]
sub eax, edx
mov edx, ecx
and edx, eax
shl edx, 1
xor ecx, eax
add ecx, edx
mov eax, ecx
jmp 0xbd4df6
lea eax, [esp + 0xfe]
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00bcafc0
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.00bcafc0
lea ecx, [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00bcafc0
mov ecx, 2
mov edi, dword [esp + 0x30]
xor eax, eax
cmp eax, 0
je 0xbd51a8
jmp 0xbd59af
call fcn.00bd5e10
xor edi, 1
mov ecx, dword [esp + 0x58]
mov eax, ecx
xor eax, 2
or edi, eax
sete al
mov dword [esp + 0x34], 0
test al, 1
jne 0xbd4ecc
xor esi, esi
mov edi, dword [esp + 0x30]
jmp 0xbd51a8
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00bd59d0
mov edi, eax
sub edi, 0xffffffff
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0xbd4ef5
mov ecx, eax
mov dword [esp], ecx
call fcn.00bc94d0
mov esi, eax
mov eax, dword [esp + 0x38]
xor ecx, ecx
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00bcbdd0
mov eax, dword [esp + 0x260]
mov ecx, eax
and ecx, 0x18
or eax, 0x18
add ecx, eax
xor edx, edx
sub edx, ecx
add edx, 0xffffffff
xor eax, eax
sub eax, edx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0xbd4f4f
mov ecx, eax
mov dword [esp], ecx
call fcn.00bc94d0
mov dword [esp + 0x34], eax
mov al, byte [esp + 0x17c]
mov byte [esp + 0x234], al
mov byte [esp + 0x138], 0x8f
mov byte [esp + 0x139], 0x10
mov byte [esp + 0x13a], 0x8e
mov byte [esp + 0x13b], 0x12
mov byte [esp + 0x13c], 0x84
mov byte [esp + 0x13d], 0x14
mov byte [esp + 0x13e], 0xb0
mov byte [esp + 0x13f], 0x16
mov byte [esp + 0x140], 0x85
mov byte [esp + 0x141], 8
mov byte [esp + 0x142], 0x9a
mov byte [esp + 0x143], 0xa
mov byte [esp + 0x144], 0x93
mov byte [esp + 0x145], 0xc
mov byte [esp + 0x146], 0xa8
mov byte [esp + 0x147], 0xe
mov byte [esp + 0x148], 0x93
mov byte [esp + 0x149], 0
mov byte [esp + 0x14a], 0x9d
mov byte [esp + 0x14b], 2
mov byte [esp + 0x14c], 0x63
mov byte [esp + 0x14d], 4
mov byte [esp + 0x14e], 0x58
mov byte [esp + 0x14f], 6
mov byte [esp + 0x150], 0xa2
mov byte [esp + 0x151], pe_nt_image_headers32
mov byte [esp + 0x152], 0xf1
mov byte [esp + 0x153], 0x7a
mov byte [esp + 0x154], 0xde
mov byte [esp + 0x155], 0x7c
mov byte [esp + 0x156], 0xde
mov byte [esp + 0x157], 0x7e
mov byte [esp + 0x158], 0x1f
mov byte [esp + 0x159], 0x70
mov byte [esp + 0x15a], 0xd3
mov byte [esp + 0x15b], 0x72
mov byte [esp + 0x15c], 0xfa
mov byte [esp + 0x15d], 0x74
mov byte [esp + 0x15e], 0xe5
mov byte [esp + 0x15f], 0x76
mov byte [esp + 0x160], 0xd6
mov byte [esp + 0x161], 0x68
mov byte [esp + 0x162], 0xfa
mov byte [esp + 0x163], 0x6a
mov byte [esp + 0x164], 0xf8
mov byte [esp + 0x165], 0x6c
mov byte [esp + 0x166], 0xd
mov byte [esp + 0x167], 0x6e
mov byte [esp + 0x168], 0x6f
mov byte [esp + 0x169], 0x60
mov eax, 0x32
mov byte [esp + eax + 0x138], 0
add eax, 1
cmp eax, 0x33
jne 0xbd50fe
xor eax, eax
cmp eax, 0x33
jae 0xbd516f
movzx edi, byte [esp + eax + 0x138]
mov edx, 0x11471bd8
sub edx, eax
or edx, edi
mov ecx, 0xd8
sub ecx, eax
mov dword [esp + 0x2c4], esi
mov esi, 0xd8
sub esi, eax
or ecx, esi
mov esi, dword [esp + 0x2c4]
and ecx, edi
xor edx, 0xffffffff
or ecx, edx
add ecx, 0x8a38dec7
mov edx, ecx
shl edx, 1
and edx, 0xb0
xor ecx, 0x58
add ecx, edx
add cl, 0xa9
mov byte [esp + eax + 0x138], cl
add eax, 1
jmp 0xbd5110
lea eax, [esp + 0x138]
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00bcafc0
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.00bcafc0
mov edi, dword [esp + 0x30]
mov dword [esp], esi
call fcn.00bc94e0
mov ecx, dword [esp + 0x58]
jmp 0xbd51a4
xor esi, esi
jmp 0xbd51a8
test ecx, ecx
je 0xbd51c9
jmp 0xbd51ae
mov eax, ecx
sub eax, 1
je 0xbd53a5
jmp 0xbd51bb
sub ecx, 2
je 0xbd568b
jmp 0xbd5978
test byte [esp + 0x4b], 1
jne 0xbd51d5
jmp 0xbd53a5
lea edi, [esp + 0x340]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov dword [esp + 0x340], 0x44
mov eax, dword [0xc08a68]
mov dword [esp], eax
mov dword [esp + 4], 0x755f867b
call fcn.00bfd7c0
test eax, eax
setne cl
xor ecx, ecx
lea ecx, [esp + 0x340]
lea edx, [esp + 0x2ec]
mov dword [esp], esi
mov edi, dword [esp + 0x34]
mov dword [esp + 4], edi
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
call eax
sub esp, 0x28
cmp eax, 0
je 0xbd539c
mov eax, dword [esp + 0x2ec]
mov dword [esp + 0x2a8], eax
mov al, byte [esp + 0x1e0]
mov byte [esp + 0x244], al
mov byte [esp + 0x8e], 0x26
mov byte [esp + 0x8f], 0x25
mov byte [esp + 0x90], 0x24
mov byte [esp + 0x91], 0x23
mov eax, 4
mov byte [esp + eax + 0x8e], 0
add eax, 1
cmp eax, 5
jne 0xbd52ac
xor eax, eax
cmp eax, 5
jae 0xbd5322
mov dword [esp + 0x2c], esi
movzx esi, byte [esp + eax + 0x8e]
mov edx, esi
add edx, 1
mov ecx, eax
add ecx, 0x7dcb1b21
or ecx, esi
add edx, eax
mov edi, eax
add edi, 0x7dcb1b21
or edi, esi
sub ecx, edx
add ecx, 0x8234e4df
and ecx, edi
add ecx, 0x11a726f7
mov edx, ecx
and edx, 1
mov esi, ecx
and esi, 0xfe
mov edi, ecx
xor edi, 1
add ecx, edi
sub ecx, esi
mov esi, dword [esp + 0x2c]
add ecx, edx
mov byte [esp + eax + 0x8e], cl
add eax, 1
jmp 0xbd52be
mov ecx, dword [esp + 0x8e]
xor edi, edi
cmp edi, dword [0xc09a74]
jb 0xbd5335
jmp 0xbd539a
mov eax, dword [0xc09a78]
cmp dword [eax + edi*8], 0xb430e561
sete dl
test dl, 1
jne 0xbd534b
jmp 0xbd538e
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0xbd538e
mov dword [esp + 0x280], ecx
mov ecx, dword [0xc09a7c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x2a8]
mov dword [esp + 0xc], eax
mov byte [esp + 0x43], dl
call 0xbfbdc0
mov dl, byte [esp + 0x43]
mov ecx, dword [esp + 0x280]
test dl, 1
je 0xbd5395
jmp 0xbd539a
add edi, 1
jmp 0xbd532b
jmp 0xbd539c
mov edi, dword [esp + 0x30]
jmp 0xbd5978
call fcn.00bd5e10
mov eax, dword [0xc08a68]
mov dword [esp], eax
mov dword [esp + 4], 0x4e0c8565
call fcn.00bfd7c0
test eax, eax
setne cl
mov ecx, dword [esp + 0x38]
xor edx, edx
lea edx, [0xbe2480]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call eax
sub esp, 0x18
cmp eax, 0
setne cl
test cl, 1
jne 0xbd540c
jmp 0xbd5686
mov dword [esp + 0x258], eax
call fcn.00bd5e10
mov dword [esp + 0x2d4], 0xffffffff
mov dword [esp + 0x2d0], 0xdc3cba00
mov al, byte [esp + 0x238]
mov byte [esp + 0x23c], al
mov byte [esp + 0x9a], 0x26
mov byte [esp + 0x9b], 0x25
mov byte [esp + 0x9c], 0x24
mov byte [esp + 0x9d], 0x23
mov eax, 4
mov byte [esp + eax + 0x9a], 0
add eax, 1
cmp eax, 5
jne 0xbd5461
xor eax, eax
mov dword [esp + 0x2c], esi
cmp eax, 5
jae 0xbd54d3
movzx esi, byte [esp + eax + 0x9a]
mov edx, esi
add edx, 1
mov ecx, eax
add ecx, 0x7dcb1b21
or ecx, esi
add edx, eax
mov edi, eax
add edi, 0x7dcb1b21
or edi, esi
sub ecx, edx
add ecx, 0x8234e4df
and ecx, edi
add ecx, 0x11a726f7
mov edx, ecx
and edx, 1
mov esi, ecx
and esi, 0xfe
mov edi, ecx
xor edi, 1
add ecx, edi
sub ecx, esi
add ecx, edx
mov byte [esp + eax + 0x9a], cl
add eax, 1
jmp 0xbd5477
mov ecx, dword [esp + 0x9a]
xor edi, edi
cmp edi, dword [0xc09a74]
jb 0xbd54e6
jmp 0xbd5563
mov eax, dword [0xc09a78]
cmp dword [eax + edi*8], 0xa67d73aa
sete dl
test dl, 1
jne 0xbd54fc
jmp 0xbd5554
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0xbd5554
mov dword [esp + 0x294], ecx
mov ecx, dword [0xc09a7c]
mov byte [esp + 0x48], dl
xor edx, edx
lea edx, [esp + 0x2d0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xc
mov eax, dword [esp + 0x258]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
call 0xbfbdc0
mov dl, byte [esp + 0x48]
mov ecx, dword [esp + 0x294]
test dl, 1
je 0xbd555b
jmp 0xbd5563
add edi, 1
jmp 0xbd54dc
mov al, byte [esp + 0x1dc]
mov byte [esp + 0x248], al
mov byte [esp + 0x88], 0x26
mov byte [esp + 0x89], 0x25
mov byte [esp + 0x8a], 0x24
mov byte [esp + 0x8b], 0x23
mov eax, 4
mov byte [esp + eax + 0x88], 0
add eax, 1
cmp eax, 5
jne 0xbd5596
xor eax, eax
cmp eax, 5
jae 0xbd5604
movzx esi, byte [esp + eax + 0x88]
mov edx, esi
add edx, 1
mov ecx, eax
add ecx, 0x7dcb1b21
or ecx, esi
add edx, eax
mov edi, eax
add edi, 0x7dcb1b21
or edi, esi
sub ecx, edx
add ecx, 0x8234e4df
and ecx, edi
add ecx, 0x11a726f7
mov edx, ecx
and edx, 1
mov esi, ecx
and esi, 0xfe
mov edi, ecx
xor edi, 1
add ecx, edi
sub ecx, esi
add ecx, edx
mov byte [esp + eax + 0x88], cl
add eax, 1
jmp 0xbd55a8
mov ecx, dword [esp + 0x88]
xor edi, edi
mov esi, dword [esp + 0x2c]
cmp edi, dword [0xc09a74]
jb 0xbd561b
jmp 0xbd5680
mov eax, dword [0xc09a78]
cmp dword [eax + edi*8], 0xb430e561
sete dl
test dl, 1
jne 0xbd5631
jmp 0xbd5674
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0xbd5674
mov dword [esp + 0x284], ecx
mov ecx, dword [0xc09a7c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x258]
mov dword [esp + 0xc], eax
mov byte [esp + 0x44], dl
call 0xbfbdc0
mov dl, byte [esp + 0x44]
mov ecx, dword [esp + 0x284]
test dl, 1
je 0xbd567b
jmp 0xbd5680
add edi, 1
jmp 0xbd5611
mov edi, dword [esp + 0x30]
jmp 0xbd5686
jmp 0xbd5978
call fcn.00bd5e10
lea edi, [esp + 0x2fc]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov dword [esp + 0x2fc], 0x44
mov eax, dword [0xc08a68]
mov dword [esp], eax
mov dword [esp + 4], 0x755f867b
call fcn.00bfd7c0
test eax, eax
setne cl
xor ecx, ecx
lea ecx, [esp + 0x2fc]
lea edx, [esp + 0x2dc]
mov dword [esp], 0
mov edi, dword [esp + 0x34]
mov dword [esp + 4], edi
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x8000000
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
call eax
sub esp, 0x28
cmp eax, 0
setne al
test al, 1
mov edi, dword [esp + 0x30]
jne 0xbd5734
jmp 0xbd5978
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x2b0], eax
mov al, byte [esp + 0x1d8]
mov byte [esp + 0x24c], al
mov byte [esp + 0x82], 0x26
mov byte [esp + 0x83], 0x25
mov byte [esp + 0x84], 0x24
mov byte [esp + 0x85], 0x23
mov eax, 4
mov byte [esp + eax + 0x82], 0
add eax, 1
cmp eax, 5
jne 0xbd5775
xor eax, eax
mov dword [esp + 0x2c], esi
cmp eax, 5
jae 0xbd57e7
movzx esi, byte [esp + eax + 0x82]
mov edx, esi
add edx, 1
mov ecx, eax
add ecx, 0x7dcb1b21
or ecx, esi
add edx, eax
mov edi, eax
add edi, 0x7dcb1b21
or edi, esi
sub ecx, edx
add ecx, 0x8234e4df
and ecx, edi
add ecx, 0x11a726f7
mov edx, ecx
and edx, 1
mov esi, ecx
and esi, 0xfe
mov edi, ecx
xor edi, 1
add ecx, edi
sub ecx, esi
add ecx, edx
mov byte [esp + eax + 0x82], cl
add eax, 1
jmp 0xbd578b
mov ecx, dword [esp + 0x82]
xor edi, edi
cmp edi, dword [0xc09a74]
jb 0xbd57fa
jmp 0xbd585f
mov eax, dword [0xc09a78]
cmp dword [eax + edi*8], 0xb430e561
sete dl
test dl, 1
jne 0xbd5810
jmp 0xbd5853
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0xbd5853
mov dword [esp + 0x28c], ecx
mov ecx, dword [0xc09a7c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0xc], eax
mov byte [esp + 0x46], dl
call 0xbfbdc0
mov dl, byte [esp + 0x46]
mov ecx, dword [esp + 0x28c]
test dl, 1
je 0xbd585a
jmp 0xbd585f
add edi, 1
jmp 0xbd57f0
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0x2ac], eax
mov al, byte [esp + 0x1d4]
mov byte [esp + 0x250], al
mov byte [esp + 0x7c], 0x26
mov byte [esp + 0x7d], 0x25
mov byte [esp + 0x7e], 0x24
mov byte [esp + 0x7f], 0x23
mov eax, 4
mov byte [esp + eax + 0x7c], 0
add eax, 1
cmp eax, 5
jne 0xbd5894
xor eax, eax
cmp eax, 5
jae 0xbd58f9
movzx esi, byte [esp + eax + 0x7c]
mov edx, esi
add edx, 1
mov ecx, eax
add ecx, 0x7dcb1b21
or ecx, esi
add edx, eax
mov edi, eax
add edi, 0x7dcb1b21
or edi, esi
sub ecx, edx
add ecx, 0x8234e4df
and ecx, edi
add ecx, 0x11a726f7
mov edx, ecx
and edx, 1
mov esi, ecx
and esi, 0xfe
mov edi, ecx
xor edi, 1
add ecx, edi
sub ecx, esi
add ecx, edx
mov byte [esp + eax + 0x7c], cl
add eax, 1
jmp 0xbd58a3
mov ecx, dword [esp + 0x7c]
xor edi, edi
mov esi, dword [esp + 0x2c]
cmp edi, dword [0xc09a74]
jb 0xbd590d
jmp 0xbd5972
mov eax, dword [0xc09a78]
cmp dword [eax + edi*8], 0xb430e561
sete dl
test dl, 1
jne 0xbd5923
jmp 0xbd5966
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0xbd5966
mov dword [esp + 0x288], ecx
mov ecx, dword [0xc09a7c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0xc], eax
mov byte [esp + 0x45], dl
call 0xbfbdc0
mov dl, byte [esp + 0x45]
mov ecx, dword [esp + 0x288]
test dl, 1
je 0xbd596d
jmp 0xbd5972
add edi, 1
jmp 0xbd5903
mov edi, dword [esp + 0x30]
jmp 0xbd5978
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00bfa420
cmp esi, 0
sete al
test al, 1
jne 0xbd5998
jmp 0xbd5990
mov dword [esp], esi
call fcn.00bc94e0
cmp dword [esp + 0x34], 0
je 0xbd59ad
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00bc94e0
jmp 0xbd59ad
jmp 0xbd59af
jmp 0xbd59b1
xor eax, eax
sub eax, edi
add eax, 0xffffffff
xor edi, edi
sub edi, eax
jmp 0xbd373c
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret