Function at 0x1001b834
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x340
mov ecx, dword [ebp + 8]
mov eax, dword [0x100c51b8]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor esi, esi
mov dword [ecx], esi
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
lea eax, [ebp - 0x114]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x318]
mov edi, 0x104
push edi
push esi
push dword [ebp - 0x318]
call fcn.1008c000
add esp, 0xc
lea eax, [ebp - 0x218]
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
push edi
push esi
push dword [ebp - 0x31c]
call fcn.1008c000
add esp, 0xc
lea eax, [ebp - 0x2e4]
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x320]
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
lea eax, [ebp - 0x230]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x324]
lea edi, [ebp - 0x2ba]
mov byte [edi - 2], 1
mov byte [edi - 1], 0xf
mov byte [edi], 0x6e
mov byte [edi + 1], 0x6c
mov byte [edi + 2], 0x6a
mov byte [edi + 3], 0x19
mov byte [edi + 4], 0x18
mov byte [edi + 5], 0x1b
mov byte [edi + 6], 0x1a
mov byte [edi + 7], 0x15
mov byte [edi + 8], 0x14
mov byte [edi + 9], 0x17
mov byte [edi + 0xa], 0x16
mov byte [edi + 0xb], 0x7d
mov byte [edi + 0xc], 0x6f
mov al, 0x41
mov byte [edi + 0xd], al
mov cl, 0x48
mov byte [edi + 0xe], cl
mov dl, 0x58
mov byte [edi + 0xf], dl
mov byte [edi + 0x10], 0x5f
mov byte [edi + 0x11], 0x4b
mov byte [edi + 0x12], 0x4d
mov byte [edi + 0x13], 0x65
mov byte [edi + 0x14], 0x1d
mov byte [edi + 0x15], cl
mov byte [edi + 0x16], 0x66
mov byte [edi + 0x17], 0x70
mov byte [edi + 0x18], dl
mov byte [edi + 0x19], 0x52
mov byte [edi + 0x1a], 0x5b
mov byte [edi + 0x1b], 0x54
mov byte [edi + 0x1c], 0x5e
mov byte [edi + 0x1d], 0x47
mov byte [edi + 0x1e], al
mov byte [edi + 0x1f], 0x51
mov byte [edi + 0x20], 0x29
mov byte [edi + 0x21], 0x6b
lea eax, [ebp - 0x298]
lea ecx, [ebp - 0x296]
mov dword [ebp - 0x2f0], ecx
mov edx, 0x4255a2c4
mov ecx, 0x230e6f6e
cmp edx, 0x230e6f6e
je 0x1001b9a8
cmp edx, 0x4255a2c4
jne 0x1001b984
mov byte [eax], 0
inc eax
cmp eax, dword [ebp - 0x2f0]
mov edx, 0x4255a2c4
cmove edx, ecx
jmp 0x1001b984
lea eax, [ebp - 0x2bc]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2fc]
mov al, byte [eax]
mov byte [ebp - 0x300], al
mov edx, 0xb0b2dee6
mov eax, 0x93aca062
mov ecx, 0xe2d3b687
cmp edx, 0xe2d3b686
jg 0x1001ba08
cmp edx, 0x93aca062
je 0x1001bad2
cmp edx, 0xb0b2dee6
je 0x1001ba47
cmp edx, 0xb157cdb9
jne 0x1001b9d1
mov edx, dword [ebp - 0x2d8]
cmp edx, 0x22
mov edx, 0xf25f7fd4
cmovb edx, ecx
jmp 0x1001b9d1
cmp edx, 0xe2d3b687
je 0x1001ba5b
cmp edx, 0xf25f7fd4
je 0x1001baab
cmp edx, 0x1cbab744
jne 0x1001b9d1
lea edx, [ebp - 0x2d8]
mov dword [ebp - 0x2f0], edx
mov edx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2d8], 0
mov edx, 0xb157cdb9
jmp 0x1001b9d1
test byte [ebp - 0x300], 1
mov edx, 0x1cbab744
cmove edx, eax
jmp 0x1001b9d1
mov edx, dword [ebp - 0x2d8]
mov bl, byte [ebp + edx - 0x2ba]
mov edx, dword [ebp - 0x2d8]
mov bh, byte [ebp - 0x2bb]
mov esi, 0x7e
sub esi, edx
inc edx
and esi, 0x6c
and edx, 0x93
or edx, esi
xor dl, bh
xor dl, bl
xor dl, 0x4e
mov esi, dword [ebp - 0x2d8]
mov byte [ebp + esi - 0x2ba], dl
inc dword [ebp - 0x2d8]
mov edx, 0xb157cdb9
jmp 0x1001b9d1
mov edx, dword [ebp - 0x2f0]
mov byte [ebp - 0x298], 0
mov byte [ebp - 0x297], 0
mov edx, dword [ebp - 0x2fc]
mov byte [edx], 0
mov edx, 0x93aca062
jmp 0x1001b9d1
xor eax, eax
lea esi, [ebp - 0x230]
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push edi
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push edi
call fcn.10007b00
lea eax, [ebp - 0x248]
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x328]
lea eax, [ebp - 0x297]
mov byte [eax - 0x25], 1
mov byte [eax - 0x24], 0xf
mov byte [eax - 0x23], 0x6f
mov byte [eax - 0x22], 0x6d
mov cl, 0x6b
mov byte [eax - 0x21], cl
mov byte [eax - 0x20], 0x18
mov byte [eax - 0x1f], 0x19
mov byte [eax - 0x1e], 0x1a
mov byte [eax - 0x1d], 0x1b
mov byte [eax - 0x1c], 0x14
mov byte [eax - 0x1b], 0x15
mov byte [eax - 0x1a], 0x16
mov byte [eax - 0x19], 0x17
mov byte [eax - 0x18], 0x7c
mov byte [eax - 0x17], 0x6e
mov byte [eax - 0x16], 0x40
mov dl, 0x49
mov byte [eax - 0x15], dl
mov byte [eax - 0x14], 0x59
mov byte [eax - 0x13], 0x5e
mov byte [eax - 0x12], 0x4a
mov byte [eax - 0x11], 0x4c
mov byte [eax - 0x10], 0x64
mov byte [eax - 0xf], 0x1c
mov byte [eax - 0xe], dl
mov byte [eax - 0xd], 0x46
mov byte [eax - 0xc], 0x68
mov byte [eax - 0xb], 0x70
mov byte [eax - 0xa], 0x5a
mov byte [eax - 9], 0x52
mov byte [eax - 8], 0x5d
mov byte [eax - 7], 0x54
mov byte [eax - 6], 0x5c
mov byte [eax - 5], 0x47
mov byte [eax - 4], 0x7f
mov byte [eax - 3], 0x51
mov byte [eax - 2], 0x2b
mov byte [eax - 1], cl
lea ecx, [ebp - 0x295]
mov dword [ebp - 0x2f0], ecx
mov edx, 0xaf37cc2f
mov ecx, 0xa297d592
cmp edx, 0xa297d592
je 0x1001bbe1
cmp edx, 0xaf37cc2f
jne 0x1001bbbd
mov byte [eax], 0
inc eax
cmp eax, dword [ebp - 0x2f0]
mov edx, 0xaf37cc2f
cmove edx, ecx
jmp 0x1001bbbd
lea eax, [ebp - 0x2bc]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2fc]
mov al, byte [eax]
mov byte [ebp - 0x300], al
mov edx, 0x5f91d107
mov eax, 0xff801532
mov ecx, 0x52e9bf4f
cmp edx, 0x52e9bf4e
jg 0x1001bc6e
cmp edx, 0xcc4d57e6
je 0x1001bc9e
cmp edx, 0xdd2d578f
je 0x1001bcc4
cmp edx, 0xff801532
jne 0x1001bc0a
mov edx, dword [ebp - 0x2d8]
mov bl, byte [ebp + edx - 0x2ba]
mov edx, dword [ebp - 0x2d8]
mov bh, byte [ebp - 0x2bb]
inc dl
xor dl, bh
xor dl, bl
xor dl, 0x23
mov esi, dword [ebp - 0x2d8]
mov byte [ebp + esi - 0x2ba], dl
inc dword [ebp - 0x2d8]
mov edx, 0xdd2d578f
jmp 0x1001bc0a
cmp edx, 0x52e9bf4f
je 0x1001bd01
cmp edx, 0x5fa446cf
je 0x1001bcda
cmp edx, 0x5f91d107
jne 0x1001bc0a
test byte [ebp - 0x300], 1
mov edx, 0xcc4d57e6
cmove edx, ecx
jmp 0x1001bc0a
lea edx, [ebp - 0x2d8]
mov dword [ebp - 0x2f0], edx
mov edx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2d8], 0
mov edx, 0xdd2d578f
jmp 0x1001bc0a
mov edx, dword [ebp - 0x2d8]
cmp edx, 0x23
mov edx, 0x5fa446cf
cmovb edx, eax
jmp 0x1001bc0a
mov edx, dword [ebp - 0x2f0]
mov byte [ebp - 0x297], 0
mov byte [ebp - 0x296], 0
mov edx, dword [ebp - 0x2fc]
mov byte [edx], 0
mov edx, 0x52e9bf4f
jmp 0x1001bc0a
xor eax, eax
lea esi, [ebp - 0x248]
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push edi
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push edi
call fcn.10007b00
lea eax, [ebp - 0x260]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x32c]
lea eax, [ebp - 0x2a6]
mov byte [eax - 0x16], 1
mov byte [eax - 0x15], 0xf
mov byte [eax - 0x14], 0x4d
mov byte [eax - 0x13], 0x70
mov byte [eax - 0x12], 0x76
mov byte [eax - 0x11], 0x7b
mov byte [eax - 0x10], 0x71
mov byte [eax - 0xf], 0x6a
mov byte [eax - 0xe], 0x6f
mov byte [eax - 0xd], 0x33
mov byte [eax - 0xc], 0x50
mov byte [eax - 0xb], 0x7e
mov byte [eax - 0xa], 0x7f
mov byte [eax - 9], 0x63
mov byte [eax - 8], 0x36
mov byte [eax - 7], 0x58
mov byte [eax - 6], 0x75
mov byte [eax - 5], 0x65
mov byte [eax - 4], 0x6b
mov byte [eax - 3], 0x6e
mov byte [eax - 2], 0x6d
mov byte [eax - 1], 0x7d
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 0x2f0], ecx
mov edx, 0xa0c02db2
mov ecx, 0x3fd9d277
cmp edx, 0x3fd9d277
je 0x1001bdd4
cmp edx, 0xa0c02db2
jne 0x1001bdb0
mov byte [eax], 0
inc eax
cmp eax, dword [ebp - 0x2f0]
mov edx, 0xa0c02db2
cmove edx, ecx
jmp 0x1001bdb0
lea eax, [ebp - 0x2bc]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2fc]
mov al, byte [eax]
mov byte [ebp - 0x300], al
mov edx, 0xa800e809
mov eax, 0x70e12232
mov ecx, 0x8c7d59a0
cmp edx, 0xbe1f3842
jg 0x1001be2e
cmp edx, 0x8933165d
je 0x1001be53
cmp edx, 0x8c7d59a0
je 0x1001be77
cmp edx, 0xa800e809
jne 0x1001bdfd
test byte [ebp - 0x300], 1
mov edx, 0x3551ade3
cmove edx, eax
jmp 0x1001bdfd
cmp edx, 0xbe1f3843
je 0x1001bec7
cmp edx, 0x3551ade3
je 0x1001bedd
cmp edx, 0x70e12232
jne 0x1001bdfd
jmp 0x1001bf03
mov edx, dword [ebp - 0x2f0]
mov byte [ebp - 0x2a6], 0
mov byte [ebp - 0x2a5], 0
mov edx, dword [ebp - 0x2fc]
mov byte [edx], 0
mov edx, 0x70e12232
jmp 0x1001bdfd
mov edx, dword [ebp - 0x2d8]
mov bl, byte [ebp + edx - 0x2ba]
mov edx, dword [ebp - 0x2d8]
mov bh, byte [ebp - 0x2bb]
mov esi, 0xfe
sub esi, edx
and esi, 0xd5
inc edx
and edx, 0x2a
or edx, esi
xor dl, bh
xor dl, bl
xor dl, 0xc1
mov esi, dword [ebp - 0x2d8]
mov byte [ebp + esi - 0x2ba], dl
inc dword [ebp - 0x2d8]
mov edx, 0xbe1f3843
jmp 0x1001bdfd
mov edx, dword [ebp - 0x2d8]
cmp edx, 0x14
mov edx, 0x8933165d
cmovb edx, ecx
jmp 0x1001bdfd
lea edx, [ebp - 0x2d8]
mov dword [ebp - 0x2f0], edx
mov edx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2d8], 0
mov edx, 0xbe1f3843
jmp 0x1001bdfd
xor eax, eax
lea esi, [ebp - 0x260]
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push edi
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push edi
call fcn.10007b00
lea eax, [ebp - 0x278]
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x330]
lea eax, [ebp - 0x2b3]
mov byte [eax - 9], 1
mov byte [eax - 8], 0xf
mov byte [eax - 7], 0x4c
mov byte [eax - 6], 0x66
mov byte [eax - 5], 0x6e
mov byte [eax - 4], 0x61
mov byte [eax - 3], 0x68
mov byte [eax - 2], 0x60
mov byte [eax - 1], 0x7b
lea ecx, [ebp - 0x2b1]
mov dword [ebp - 0x2f0], ecx
mov edx, 0xa1c8bfe8
mov ecx, 0xc9e9c155
cmp edx, 0xc9e9c155
je 0x1001bfa2
cmp edx, 0xa1c8bfe8
jne 0x1001bf7e
mov byte [eax], 0
inc eax
cmp eax, dword [ebp - 0x2f0]
mov edx, 0xa1c8bfe8
cmove edx, ecx
jmp 0x1001bf7e
lea eax, [ebp - 0x2bc]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2fc]
mov al, byte [eax]
mov byte [ebp - 0x300], al
mov edx, 0x1c13a91b
mov eax, 0xa558dd75
mov ecx, 0xc796bb5f
cmp edx, 0x1c13a91a
jg 0x1001bff0
cmp edx, 0xa558dd75
je 0x1001c01d
cmp edx, 0xc6f647db
je 0x1001c05c
cmp edx, 0xc796bb5f
jne 0x1001bfcb
jmp 0x1001c0bf
cmp edx, 0x737f0327
je 0x1001c072
cmp edx, 0x5eaf0cb9
je 0x1001c098
cmp edx, 0x1c13a91b
jne 0x1001bfcb
test byte [ebp - 0x300], 1
mov edx, 0x737f0327
cmove edx, ecx
jmp 0x1001bfcb
mov edx, dword [ebp - 0x2d8]
mov bl, byte [ebp + edx - 0x2ba]
mov edx, dword [ebp - 0x2d8]
mov bh, byte [ebp - 0x2bb]
inc dl
xor dl, bh
xor dl, bl
xor dl, 7
mov esi, dword [ebp - 0x2d8]
mov byte [ebp + esi - 0x2ba], dl
inc dword [ebp - 0x2d8]
mov edx, 0xc6f647db
jmp 0x1001bfcb
mov edx, dword [ebp - 0x2d8]
cmp edx, 7
mov edx, 0x5eaf0cb9
cmovb edx, eax
jmp 0x1001bfcb
lea edx, [ebp - 0x2d8]
mov dword [ebp - 0x2f0], edx
mov edx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2d8], 0
mov edx, 0xc6f647db
jmp 0x1001bfcb
mov edx, dword [ebp - 0x2f0]
mov byte [ebp - 0x2b3], 0
mov byte [ebp - 0x2b2], 0
mov edx, dword [ebp - 0x2fc]
mov byte [edx], 0
mov edx, 0xc796bb5f
jmp 0x1001bfcb
xor ebx, ebx
lea esi, [ebp - 0x278]
mov dword [esi], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], 0xf
mov byte [esi], bl
push edi
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push edi
call fcn.10007b00
lea eax, [ebp - 0x290]
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x334]
mov cl, 1
lea eax, [ebp - 0x294]
mov byte [eax - 0x28], cl
mov byte [eax - 0x27], 0xf
mov byte [eax - 0x26], 0x53
mov byte [eax - 0x25], 0x12
mov byte [eax - 0x24], 0x4e
mov byte [eax - 0x23], 0x48
mov byte [eax - 0x22], 0x4d
mov dl, 0x17
mov byte [eax - 0x21], dl
mov byte [eax - 0x20], 0x18
mov byte [eax - 0x1f], 0x13
mov ch, 0x43
mov byte [eax - 0x1e], ch
mov byte [eax - 0x1d], 0xe
mov byte [eax - 0x1c], dl
mov byte [eax - 0x1b], 0x46
mov byte [eax - 0x1a], 0x40
mov byte [eax - 0x19], ch
mov byte [eax - 0x18], 0xb
mov byte [eax - 0x17], 0xd
mov dl, 0x5d
mov byte [eax - 0x16], dl
mov byte [eax - 0x15], 0xc
mov byte [eax - 0x14], 0xa
mov byte [eax - 0x13], 0x10
mov byte [eax - 0x12], dl
mov byte [eax - 0x11], 0x5c
mov byte [eax - 0x10], dl
mov byte [eax - 0xf], bl
mov byte [eax - 0xe], 0x1d
mov byte [eax - 0xd], 0x55
mov byte [eax - 0xc], cl
mov byte [eax - 0xb], 7
mov byte [eax - 0xa], 0x56
mov byte [eax - 9], 4
mov byte [eax - 8], 2
mov cl, 0x3d
mov byte [eax - 7], cl
mov byte [eax - 6], 0x6c
mov byte [eax - 5], 0x3f
mov byte [eax - 4], cl
mov byte [eax - 3], 0x34
mov byte [eax - 2], 0x39
mov byte [eax - 1], 0x72
lea ecx, [ebp - 0x292]
mov dword [ebp - 0x2f0], ecx
mov edx, 0x1043782d
mov ecx, 0x4c6bdc19
cmp edx, 0x4c6bdc19
je 0x1001c1d7
cmp edx, 0x1043782d
jne 0x1001c1b3
mov byte [eax], 0
inc eax
cmp eax, dword [ebp - 0x2f0]
mov edx, 0x1043782d
cmove edx, ecx
jmp 0x1001c1b3
lea eax, [ebp - 0x2bc]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2fc]
mov al, byte [eax]
mov byte [ebp - 0x300], al
mov edx, 0x3f4ca634
mov eax, 0x1634d84
mov ecx, 0x303709ad
cmp edx, 0x303709ac
jg 0x1001c275
cmp edx, 0xf1b0b1ec
je 0x1001c2a9
cmp edx, 0xfa9bf300
je 0x1001c2bf
cmp edx, 0x1634d84
jne 0x1001c200
mov edx, dword [ebp - 0x2d8]
mov bl, byte [ebp + edx - 0x2ba]
mov edx, dword [ebp - 0x2d8]
mov bh, byte [ebp - 0x2bb]
mov esi, 0xfe
sub esi, edx
and esi, 0xc8
inc edx
and edx, 0x37
or edx, esi
xor dl, bh
xor dl, bl
xor dl, 0xee
mov esi, dword [ebp - 0x2d8]
mov byte [ebp + esi - 0x2ba], dl
inc dword [ebp - 0x2d8]
mov edx, 0xf1b0b1ec
jmp 0x1001c200
cmp edx, 0x303709ad
je 0x1001c30c
cmp edx, 0x48da2947
je 0x1001c2e6
cmp edx, 0x3f4ca634
jne 0x1001c200
test byte [ebp - 0x300], 1
mov edx, 0x48da2947
cmove edx, ecx
jmp 0x1001c200
mov edx, dword [ebp - 0x2d8]
cmp edx, 0x26
mov edx, 0xfa9bf300
cmovb edx, eax
jmp 0x1001c200
mov edx, dword [ebp - 0x2f0]
mov byte [ebp - 0x294], 0
mov byte [ebp - 0x293], 0
mov edx, dword [ebp - 0x2fc]
mov byte [edx], 0
mov edx, 0x303709ad
jmp 0x1001c200
lea edx, [ebp - 0x2d8]
mov dword [ebp - 0x2f0], edx
mov edx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2d8], 0
mov edx, 0xf1b0b1ec
jmp 0x1001c200
xor eax, eax
lea esi, [ebp - 0x290]
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push edi
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push edi
call fcn.10007b00
mov ecx, esi
call fcn.10007bca
mov ebx, eax
lea ecx, [ebp - 0x230]
call fcn.10007bca
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x308], ecx
mov esi, 0x104
push 0xb71b04
push ebx
push eax
push esi
push dword [ebp - 0x308]
call fcn.10009906
add esp, 0x14
lea eax, [ebp - 0x218]
mov dword [ebp - 0x304], eax
lea ecx, [ebp - 0x278]
call fcn.10007bca
push esi
push dword [ebp - 0x304]
push eax
push dword [ebp - 0x308]
call fcn.1005b834
add esp, 0x10
mov dword [ebp - 0x34c], eax
mov eax, 0xc7e6b4a4
mov edi, dword [ebp + 8]
cmp eax, 0xffc7c66e
jg 0x1001c3e9
cmp eax, 0xd93e5f7d
jg 0x1001c413
cmp eax, 0xc2f46df9
jg 0x1001c4cd
cmp eax, 0x82a191fc
je 0x1001c5a2
cmp eax, 0xc0b2b3b6
jne 0x1001c3ab
mov eax, dword [ebp - 0x33c]
mov eax, dword [ebp - 0x338]
mov eax, 0x5c95481d
jmp 0x1001c3ab
cmp eax, 0x46b2e13f
jle 0x1001c462
cmp eax, 0x5c95481c
jg 0x1001c4fc
cmp eax, 0x46b2e140
je 0x1001c5b3
cmp eax, 0x4ae5cbce
je 0x1001c5fb
jmp 0x1001c3ab
cmp eax, 0xed2ec011
jle 0x1001c58b
cmp eax, 0xed2ec012
je 0x1001c5d5
cmp eax, 0xf2d4e2d2
jne 0x1001c3ab
lea ecx, [ebp - 0x260]
call fcn.10007bca
push eax
push dword [ebp - 0x304]
call fcn.1009eda0
add esp, 8
test eax, eax
mov eax, 0x5c95481d
mov ecx, 0x6c76cf35
cmove eax, ecx
jmp 0x1001c3ab
cmp eax, 0xffc7c66f
je 0x1001c718
cmp eax, 0x292270a
je 0x1001c605
cmp eax, 0x412a62db
jne 0x1001c3ab
lea ecx, [ebp - 0x2d4]
mov dword [ebp - 0x340], ecx
mov eax, dword [ebp - 0x340]
mov eax, dword [ebp - 0x2f4]
xor esi, esi
mov dword [ebp - 0x2d4], esi
mov dword [ebp - 0x2c4], esi
mov dword [ebp - 0x2c0], esi
push eax
call fcn.10007eb6
cmp dword [ebp - 0x2c4], esi
mov eax, 0x292270a
mov ecx, 0xd93e5f7e
cmove eax, ecx
jmp 0x1001c3ab
cmp eax, 0xc2f46dfa
je 0x1001c67e
cmp eax, 0xc7e6b4a4
jne 0x1001c3ab
cmp dword [ebp - 0x34c], 0
mov eax, 0x5c95481d
mov ecx, 0xf2d4e2d2
cmove eax, ecx
jmp 0x1001c3ab
cmp eax, 0x5c95481d
je 0x1001c69c
cmp eax, 0x6c76cf35
jne 0x1001c3ab
mov esi, 0x104
push esi
push 0
push dword [ebp - 0x304]
call fcn.1008c000
add esp, 0xc
lea ecx, [ebp - 0x290]
call fcn.10007bca
mov ebx, eax
lea ecx, [ebp - 0x230]
call fcn.10007bca
push 0x16e3601
push ebx
push eax
push esi
push dword [ebp - 0x308]
call fcn.10009906
add esp, 0x14
lea ecx, [ebp - 0x278]
call fcn.10007bca
push esi
push dword [ebp - 0x304]
push eax
push dword [ebp - 0x308]
call fcn.1005b834
add esp, 0x10
test eax, eax
mov eax, 0x5c95481d
mov ecx, 0xffc7c66f
cmove eax, ecx
jmp 0x1001c3ab
cmp eax, 0xd93e5f7e
je 0x1001c5fb
cmp eax, 0xe3154edf
jne 0x1001c3ab
jmp 0x1001ca1e
mov ecx, edi
call fcn.100087f0
mov eax, 0xe3154edf
jmp 0x1001c3ab
lea ecx, [ebp - 0x2d4]
call fcn.100087f0
mov eax, dword [ebp - 0x340]
add dword [ebp - 0x2f4], 0x18
mov eax, 0xc2f46dfa
jmp 0x1001c3ab
mov esi, dword [ebp - 0x304]
push esi
call fcn.1009ee80
add esp, 4
mov ecx, edi
push eax
push esi
call fcn.10008e94
mov ecx, edi
push 1
push 0x100be460
call fcn.10008e94
mov eax, 0x46b2e140
jmp 0x1001c3ab
lea ecx, [ebp - 0x2d4]
call fcn.10007bca
mov ebx, eax
lea ecx, [ebp - 0x248]
call fcn.10007bca
push 0xb71b04
push ebx
push eax
mov esi, 0x104
push esi
push dword [ebp - 0x308]
call fcn.10009906
add esp, 0x14
push esi
push 0
push dword [ebp - 0x304]
call fcn.1008c000
add esp, 0xc
lea ecx, [ebp - 0x278]
call fcn.10007bca
push esi
push dword [ebp - 0x304]
push eax
push dword [ebp - 0x308]
call fcn.1005b834
add esp, 0x10
test eax, eax
mov eax, 0x4ae5cbce
mov ecx, 0xed2ec012
cmove eax, ecx
jmp 0x1001c3ab
mov eax, dword [ebp - 0x2f4]
cmp eax, dword [ebp - 0x2f8]
mov eax, 0x412a62db
mov ecx, 0xc0b2b3b6
cmove eax, ecx
jmp 0x1001c3ab
lea ecx, [ebp - 0x290]
call fcn.100087f0
mov eax, dword [ebp - 0x334]
lea ecx, [ebp - 0x278]
call fcn.100087f0
mov eax, dword [ebp - 0x330]
lea ecx, [ebp - 0x260]
call fcn.100087f0
mov eax, dword [ebp - 0x32c]
lea ecx, [ebp - 0x248]
call fcn.100087f0
mov eax, dword [ebp - 0x328]
lea ecx, [ebp - 0x230]
call fcn.100087f0
mov eax, dword [ebp - 0x324]
lea ecx, [ebp - 0x2e4]
call fcn.1001f4bc
mov eax, dword [ebp - 0x320]
mov eax, dword [ebp - 0x31c]
mov eax, dword [ebp - 0x318]
mov eax, 0xe3154edf
jmp 0x1001c3ab
mov dword [ebp - 0x348], esp
push eax
sub esp, 0x1c
mov ebx, esp
lea esi, [ebx + 4]
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x314], eax
xor edi, edi
mov dword [ebx + 4], edi
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x18], 0xf
mov byte [ebx + 4], 0
push eax
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push dword [ebp - 0x314]
call fcn.10007b00
lea eax, [ebp - 0x2f0]
mov dword [ebx], eax
lea eax, [ebx + 0x1c]
mov byte [ebx + 0x1c], 0x7d
mov dword [ebp - 0x344], ebx
mov ecx, dword [ebp - 0x344]
mov ecx, dword [ecx]
mov dword [ebp - 0x310], ecx
mov dword [ebp - 0x30c], esi
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x300]
movsx ebx, byte [eax]
mov ecx, dword [ebp - 0x30c]
mov esi, dword [ecx + 0x10]
call fcn.10007bca
push ebx
push edi
push esi
push eax
call fcn.1001ee43
add esp, 0x10
mov ebx, eax
mov eax, dword [ebp - 0x310]
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov eax, 0x3e847d8d
cmp eax, 0x4f62c8e
jg 0x1001c7f0
cmp eax, 0xfc882a70
jg 0x1001c81f
cmp eax, 0xbfa12bb4
je 0x1001c8d9
cmp eax, 0xd4d3a7b6
je 0x1001c818
cmp eax, 0xc90f7e1f
jne 0x1001c7c4
jmp 0x1001c9a8
cmp eax, 0x3e847d8c
jg 0x1001c89d
cmp eax, 0x4f62c8f
je 0x1001c977
cmp eax, 0x32b64a67
jne 0x1001c7c4
mov ecx, dword [ebp - 0x310]
call fcn.1001f4bc
mov eax, 0xc90f7e1f
jmp 0x1001c7c4
cmp eax, 0xfc882a71
je 0x1001c8fd
cmp eax, 0xfda89780
jne 0x1001c7c4
mov eax, dword [ebp - 0x2d8]
sub eax, dword [ebp - 0x2fc]
mov edx, dword [ebp - 0x30c]
mov esi, dword [ebp - 0x2fc]
xor ecx, ecx
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x2a8], 0xf
mov byte [ebp - 0x2bc], 0
mov dword [ebp - 0x314], edi
mov edi, ebx
lea ebx, [ebp - 0x2bc]
mov ecx, ebx
push eax
push esi
push edx
call fcn.10009162
mov ecx, dword [ebp - 0x310]
push ebx
call fcn.1001ef30
mov ecx, ebx
mov ebx, edi
mov edi, dword [ebp - 0x314]
call fcn.100087f0
jmp 0x1001c914
cmp eax, 0x719204b3
je 0x1001c91e
cmp eax, 0x3e847d8d
jne 0x1001c7c4
mov dword [ebp - 0x2d8], ebx
mov dword [ebp - 0x2fc], edi
mov ecx, dword [ebp - 0x2d8]
mov eax, 0xbfa12bb4
cmp ecx, 0xffffffff
je 0x1001c7c4
mov eax, 0xfc882a71
jmp 0x1001c7c4
mov ecx, dword [ebp - 0x30c]
mov edx, dword [ebp - 0x2fc]
mov eax, 0xd4d3a7b6
cmp edx, dword [ecx + 0x10]
je 0x1001c7c4
mov eax, 0x719204b3
jmp 0x1001c7c4
mov ecx, dword [ebp - 0x2d8]
mov eax, 0xfda89780
cmp ecx, dword [ebp - 0x2fc]
ja 0x1001c7c4
mov eax, 0x4f62c8f
jmp 0x1001c7c4
mov eax, dword [ebp - 0x30c]
mov edx, dword [ebp - 0x2fc]
xor ecx, ecx
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x2a8], 0xf
mov byte [ebp - 0x2bc], 0
lea esi, [ebp - 0x2bc]
mov ecx, esi
push 0xffffffffffffffff
push edx
push eax
call fcn.10009162
mov ecx, dword [ebp - 0x310]
push esi
call fcn.1001ef30
mov ecx, esi
call fcn.100087f0
mov eax, 0xd4d3a7b6
jmp 0x1001c7c4
mov edi, dword [ebp - 0x2d8]
inc edi
mov eax, dword [ebp - 0x300]
movsx esi, byte [eax]
mov ecx, dword [ebp - 0x30c]
mov ebx, dword [ecx + 0x10]
call fcn.10007bca
push esi
push edi
push ebx
push eax
call fcn.1001ee43
add esp, 0x10
mov ebx, eax
jmp 0x1001c7bf
mov ecx, dword [ebp - 0x30c]
call fcn.100087f0
mov eax, dword [ebp - 0x344]
mov esp, dword [ebp - 0x348]
lea ecx, [ebp - 0x2e4]
lea esi, [ebp - 0x2f0]
push esi
call fcn.1001ca32
mov ecx, esi
call fcn.1001f4bc
lea eax, [ebp - 0x2f4]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x338]
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0x2f4], eax
lea eax, [ebp - 0x2f8]
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x2f8], ecx
mov eax, 0xc2f46dfa
jmp 0x1001c3a8
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100879aa
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret