Function at 0x10008e10
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x384
mov eax, dword [ebp + 8]
push ebx
lea edx, [eax + 0x396]
push esi
mov ecx, eax
push edi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x84], edx
cmp eax, edx
ja case.0x10009bc7.22417
mov esi, dword [ebp + 0x2c]
mov ebx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x10]
jmp 0x10008e50
mov edx, dword [ebp + 0x14]
cmp ecx, 0x56e7
ja 0x10009baf
je 0x1000952b
cmp ecx, 0x3b0b
ja 0x10009430
je 0x100093dc
cmp ecx, 0x1409
ja 0x10008ede
je 0x10008ebf
mov eax, ecx
sub eax, 0x49b
je 0x10008ea3
sub eax, 0x11
jne case.0x10009bc7.22265
or eax, 0x293368f6
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov word [esi], gs
loope 0x10008eca
mov byte [0xf20458b], al
mov bh, 8
mov dx, word [ecx + 0x10006000]
mov word [esp + 0x18], dx
or byte [esi - 0x75], ah
xchg ecx, eax
add byte [eax], ah
adc byte [esi - 0x77], ah
push esp
and al, 0x18
jmp case.0x10009bc7.22265
push edx
out 0xb1, eax
push esp
int3
lea edx, [ebp + 0x20]
call fcn.10021e70
add esp, 4
mov dword [esp + 0x14], eax
jmp case.0x10009bc7.22265
mov eax, ecx
sub eax, 0x141a
je 0x10008f2e
sub eax, 0x11
jne case.0x10009bc7.22265
jmp 0x10008ead
mov eax, 0x31d0
cmp eax, eax
je 0x10009d65
add eax, 0x32
cmp eax, 0x31d0
jbe 0x10008f13
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x14], 0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
jne case.0x10009bc7.22265
mov esi, 0x336
mov dword [esp + 0x28], esi
lea ebx, [ebx]
mov eax, esi
sub eax, 0x336
je 0x100093ae
sub eax, 0x4b
je 0x1000938b
sub eax, 0x4b
jne 0x100093c1
cmp dword [esp + 0x14], 4
jne 0x100093c1
test byte [esp + 0x5f], 0x20
je 0x10008f8e
mov dword [esp + 0x14], 6
jmp 0x100093c1
mov eax, 0x6a5b
mov dword [esp + 0x24], eax
jmp 0x10008fa0
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
cmp eax, 0x6b2b
ja 0x10009056
je 0x10009029
add eax, 0xffff95a5
cmp eax, 0x9c
ja case.0x10008fd0.27228
movzx ecx, byte [eax + 0x10009da0]
jmp dword [ecx*4 + 0x10009d8c]
popfd
add byte [eax], dl
pop esi
jns 0x10008fd4
and byte [edx + ebp*2], cl
add byte [ebp - 0x17c7dbb4], cl
dec ecx
jne 0x10008fe7
add byte [ebx + 0x448904c4], al
and al, 0x2c
add esp, 4
mov dword [esp + 0x2c], eax
jmp case.0x10008fd0.27228
mov dword [esp + 0x14], 0
jmp case.0x10008fd0.27228
test edx, edx
jne case.0x10008fd0.27228
mov dword [esp + 0x14], 7
jmp case.0x10008fd0.27228
mov edx, dword [esp + 0xc]
movzx eax, word [edx + 0xa]
shl eax, 9
mov dword [esp + 0x40], eax
jmp case.0x10008fd0.27228
sub al, 0xbe
test eax, 0xfa83fcf0
add dword [ebp + 0xd], esi
cld
cmp edx, 1
jne 0x10009040
mov dword [esp + 0x14], 2
jmp case.0x10008fd0.27228
cmp edx, 0xffffffff
jne case.0x10008fd0.27228
mov dword [esp + 0x14], 1
jmp case.0x10008fd0.27228
sub eax, 0x6b5f
je 0x10009350
sub eax, 0x34
je 0x1000912c
sub eax, 0x34
jne case.0x10008fd0.27228
test ecx, ecx
jne 0x10009118
mov edi, 0x752e
cmp edi, edi
jne 0x10009100
mov esi, 0x5325
mov eax, esi
sub eax, 0x5325
je 0x100090c6
sub eax, 0x5d
je 0x100090ab
sub eax, 0x5d
jne 0x100090e1
mov cl, 0x41
aad 0x2d
jl 0x1000902d
dec esp
and al, 0xc
mov byte [ecx + 3], 1
jmp 0x100090e1
dec edx
sbb byte [eax + 0x548b895d], cl
and al, 0x2c
mov eax, dword [esp + 0xc]
push edx
mov ecx, ebx
call fcn.10011190
mov byte [ebx + 0xb], 0x10
jmp 0x100090de
clc
push edx
out dx, eax
inc eax
and dword [ebx - 0x74afdbbc], ecx
dec esp
and al, 0x70
mov ebx, eax
push ecx
add eax, 0x16
call fcn.10016790
add esp, 4
add esi, 0x5d
cmp esi, 0x53df
jbe 0x10009089
cmp dword [esp + 0x14], 0
jne 0x10009100
mov eax, dword [esp + 0xc]
call fcn.1000e500
mov dword [esp + 0x14], eax
add edi, 0x2f
cmp edi, 0x752e
jbe 0x10009082
mov dword [esp + 0x1c], ebx
jmp case.0x10008fd0.27228
push 0
push edx
lea eax, [esp + 0x3c]
call fcn.1001c260
add esp, 8
jmp case.0x10008fd0.27228
test ecx, ecx
jne case.0x10008fd0.27228
mov ebx, 0x2bed
cmp ebx, 0x2ce6
ja 0x1000927a
je 0x100091aa
mov eax, ebx
sub eax, 0x2bed
je 0x10009190
sub eax, 0x53
je 0x1000917b
sub eax, 0x53
jne 0x1000928d
jb 0x100091a8
int 0x8a
mov word [ebx + 0x681c2454], cs
add byte [edx], al
add byte [eax], al
push eax
push edx
call fcn.10008db0
add esp, 0xc
jmp 0x1000928d
fbld tbyte [ecx - 0x7457fd22]
inc esp
and al, 0xc
add eax, 0x38
mov dword [esp + 0x1c], eax
jmp 0x1000928d
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
push ecx
call fcn.1000eed0
add esp, 4
mov dword [esp + 0x74], eax
jmp 0x1000928d
add byte [eax], al
xor esi, esi
lea edi, [esi + 6]
cmp esi, 0xaa
ja case.0x100091c2.1
movzx edx, byte [esi + 0x10009e5c]
jmp dword [edx*4 + 0x10009e40]
aad 0xea
invalid
mov edx, dword [esp + 0x1c]
push 0x20
lea ecx, [edx + 0x20]
call fcn.1001f820
mov eax, dword [esp + 0x20]
mov byte [eax + 0x21], 0x2e
jmp 0x1000926b
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x1c]
push ecx
add eax, 0x16
call fcn.10016790
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
add esp, 4
push edx
jmp 0x10009266
fisttp qword [0x8bd81c7e]
inc esp
and al, 0x3c
mov dword [esp + 0x68], eax
jmp case.0x100091c2.1
cmp al, 0x26
xchg byte [eax], ah
xor ecx, dword [ebx + 0x6a1c244c]
or ebp, dword [edx + 0x20]
push ecx
call fcn.10008db0
add esp, 0xc
jmp case.0x100091c2.1
mov eax, dword [esp + 0xc]
cmp byte [eax], 3
jne 0x1000925a
mov edx, dword [esp + 0x68]
cmp edx, dword [eax + 0x2c]
jne 0x1000925a
mov dword [esp + 0x68], 0
mov ecx, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x20]
add ecx, 0x20
call fcn.10011190
add esp, 4
add esi, 0x22
dec edi
jne 0x100091af
jmp 0x1000928d
mov eax, ebx
sub eax, 0x2d39
je 0x100092b9
sub eax, 0x53
jne 0x1000928d
mov ebx, 0x2d8c
add ebx, 0x53
cmp ebx, 0x2d8c
jbe 0x10009139
cmp dword [esp + 0x14], 0
jne case.0x10008fd0.27228
lea eax, [esp + 0x34]
call fcn.100192c0
mov dword [esp + 0x14], eax
jmp case.0x10008fd0.27228
add byte [eax], al
xchg ebp, eax
sti
inc ebx
cdq
add byte [ebx + 0xf0c2454], cl
mov bh, 0x7a
or al, byte [ebp - 0x723c8b01]
wait
add byte [eax], al
add byte [eax], al
xor esi, esi
cmp esi, 0x27
ja case.0x100092de.1
movzx eax, byte [esi + 0x10009f1c]
jmp dword [eax*4 + 0x10009f08]
mov eax, dword [esp + 0xc]
call fcn.1001e7f0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10009288
jmp case.0x100092de.1
ja 0x10009341
pop edi
scasb al, byte es:[edi]
and eax, 0xc244c8b
mov byte [ecx + 3], 1
jmp case.0x100092de.1
cmpsb byte [esi], byte es:[edi]
push esp
scasd eax, dword es:[edi]
syscall
mov edx, dword [esp + 0x1c]
push 0x200
push 0
push edx
call fcn.10008db0
add esp, 0xc
jmp case.0x100092de.1
add ecx, dword [ecx]
cdq
push 0x24448b0c
je 0x100092b7
dec esp
and al, 0xc
mov dword [ecx + 0x34], eax
inc eax
mov dword [esp + 0x74], eax
add esi, 0xd
lea edx, [esi + 0x5af3]
cmp edx, 0x5b1a
jbe 0x100092d2
cli
sbb bl, byte [ebx]
add byte [esi - 0x76], dh
dec edi
jne 0x100092d0
jmp 0x1000928d
test ecx, ecx
jne 0x10009361
mov eax, dword [esp + 0xc]
call fcn.1001e7f0
mov dword [esp + 0x14], eax
mov dword [esp + 0x70], 0x48210000
mov eax, dword [esp + 0x24]
add eax, 0x34
mov dword [esp + 0x24], eax
cmp eax, 0x6bc7
jbe 0x10008fa0
mov ebx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x10]
mov esi, dword [esp + 0x28]
jmp 0x100093c1
xor eax, 0xae4381f2
mov ecx, dword [ebp + 0x20]
lea eax, [esp + 0x34]
call fcn.1001f840
mov dword [esp + 0x14], eax
test eax, eax
jne 0x100093c1
mov dword [esp + 0x14], 8
jmp 0x100093c1
jbe 0x10009422
jge 0x1000940a
sbb al, 0x8b
dec esp
and al, 0xc
lea eax, [esp + 0x88]
mov dword [ecx + 0xc], eax
add esi, 0x4b
mov dword [esp + 0x28], esi
cmp esi, 0x3cc
jbe 0x10008f50
mov esi, dword [ebp + 0x2c]
jmp case.0x10009bc7.22265
add byte [esi - 0x74d659f3], bh
adc al, byte [ebx + 0xfff207a]
test byte [ebp + 9], al
add byte [eax], al
mov ecx, 0x7292
mov eax, ecx
sub eax, 0x7292
je 0x10009410
sub eax, 0x57
jne 0x10009420
xor al, byte [ecx]
pop esi
adc dl, byte [ebp - 0x75]
inc esp
and al, 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc eax
cmp esp, dword [edx - 0x3a]
jecxz 0x10009449
sar byte [eax], 3
setne al
mov dword [esp + 0x18], eax
add ecx, 0x57
push edi
cmp ecx, 0x72e9
jbe 0x100093f2
jmp case.0x10009bc7.22265
lea eax, [ecx - 0x3b1c]
cmp eax, 0x44
ja case.0x10009bc7.22265
add byte [edi], cl
mov dh, 0x88
pop esp
lahf
add byte [eax], dl
movzx ecx, byte [eax + 0x10009f5c]
jmp dword [ecx*4 + 0x10009f44]
inc esp
lahf
add byte [eax], dl
mov edx, dword [esi]
mov ecx, dword [ebp + 0x20]
push 4
push edx
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.10017ba0
add esp, 0x10
mov dword [esp + 0x80], eax
test eax, eax
jne case.0x10009bc7.22265
ror byte [eax], 0
add byte [ecx + 0x4e44], bh
mov ecx, 0x4e44
mov eax, ecx
sub eax, 0x4e44
je 0x10009495
sub eax, 0xb
jne 0x100094a2
jb 0x1000943e
xor byte [ebx + 0x24448b13], 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jbe 0x1000946e
dec esp
inc eax
push edi
mov dword [esp + 0x18], 1
add ecx, 0xb
cmp ecx, 0x4e4f
jbe 0x10009477
jmp case.0x10009bc7.22265
mov edx, dword [ebp + 0x14]
mov eax, dword [0x100310f0]
mov ecx, dword [edx]
push 0x24
call fcn.100111b0
mov eax, dword [esp + 0x84]
add esp, 4
add eax, 0xfffffff5
mov dword [esp + 0x7c], eax
jmp case.0x10009bc7.22265
aad 0xaf
nop dword [ebp + ecx*4 + 0x4c]
and al, 0x10
push ecx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x3c], 0x9d0048e5
call fcn.1002d520
add esp, 0xc
jmp case.0x10009bc7.22265
push es
stc
jbe 0x10009573
and eax, 0x448b0a8b
and al, 0x7c
sub ecx, eax
sub ecx, 8
shr ecx, 2
and ecx, 0xffffff
or ecx, 0xeb000000
mov dword [eax], ecx
add dword [edx], 0x24
jmp case.0x10009bc7.22265
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x64]
add edx, dword [eax + 0x60]
cmp dword [eax + 0x68], edx
jae 0x10009b83
nop
mov eax, 0x601c
mov dword [esp + 0x24], eax
sub eax, 0x601c
je 0x10009aa0
sub eax, 0xb
je 0x10009b4e
sub eax, 0xb
jne 0x10009b56
mov eax, dword [ebp + 0x30]
cmp word [eax + 2], 0x10
jae 0x100095d6
mov esi, 0x2645
add byte [eax], al
cmp esi, esi
jne 0x100095c6
mov edx, 0x570c
mov eax, edx
sub eax, 0x570c
je 0x10009597
sub eax, 0x13
jne 0x1000959f
mov ecx, dword [ebp + 0x30]
movzx eax, byte [ecx + 1]
sub dword [edi], eax
jmp 0x1000959f
mov ecx, dword [ebp + 0x30]
mov cl, byte [ecx + 1]
shr dword [ebx], cl
add edx, 0x13
cmp edx, 0x571f
jbe 0x1000957e
mov edx, dword [ebp + 0x20]
mov eax, dword [edx]
mov ecx, dword [eax + 0x68]
mov edx, dword [ebp + 0x30]
mov dx, word [edx + 2]
mov word [eax + ecx*2 + 0x70], dx
mov eax, dword [ebp + 0x20]
mov eax, dword [eax]
inc dword [eax + 0x68]
add esi, 0x3c
cmp esi, 0x2645
jbe 0x10009577
jmp 0x10009b56
mov esi, dword [ebp + 0x2c]
mov dword [esp + 0x28], 0x6f0d
mov eax, dword [esp + 0x28]
sub eax, 0x6f0d
je 0x10009666
sub eax, 0x5b
jne 0x10009a84
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx]
mov edx, dword [ebp + 0x28]
mov ecx, dword [edx]
mov edx, dword [eax + 0x64]
add edx, dword [eax + 0x60]
mov eax, dword [eax + 0x68]
add eax, ecx
cmp eax, edx
jbe 0x10009625
mov eax, 0x7dd5
cmp eax, eax
je 0x10009d7f
add eax, 0x5c
cmp eax, 0x7dd5
jbe 0x10009615
test ecx, ecx
je 0x10009653
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x1c]
mov esi, 1
dec dword [ecx]
mov eax, dword [ebp + 0x20]
mov eax, dword [eax]
mov edi, dword [eax + 0x68]
mov bx, word [edx]
mov word [eax + edi*2 + 0x70], bx
mov eax, dword [ebp + 0x20]
mov eax, dword [eax]
add dword [eax + 0x68], esi
cmp dword [ecx], 0
jne 0x10009634
mov eax, dword [ebp + 0x28]
dec dword [eax]
mov esi, dword [ebp + 0x2c]
mov ebx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x10]
jmp 0x10009a84
mov edx, dword [ebp + 0x30]
movzx eax, word [edx + 2]
cmp eax, 0x10
jne 0x100097d3
mov ecx, 0x1ad3
mov dword [esp + 0x20], ecx
cmp ecx, 0x1b67
ja 0x1000976f
je 0x1000974b
mov eax, ecx
sub eax, 0x1ad3
je 0x100096ca
sub eax, 0x4a
jne 0x100097bb
mov eax, 0x1e71
cmp eax, eax
jne 0x100096bb
mov cl, byte [edx + 1]
shr dword [ebx], cl
movzx ecx, byte [edx + 1]
sub dword [edi], ecx
mov ecx, dword [esp + 0x20]
add eax, 0x23
cmp eax, 0x1e71
jbe 0x100096aa
jmp 0x100097bb
movzx eax, byte [edx + 1]
add eax, 2
cmp dword [edi], eax
jae 0x100097bb
lea esp, [esp]
mov edx, 0x5c5a
mov eax, edx
sub eax, 0x5c5a
je 0x10009711
sub eax, 0x12
je 0x100096fd
sub eax, 0x12
jne 0x10009730
add dword [edi], 8
jmp 0x10009730
mov eax, dword [ebp + 0x14]
dec dword [eax]
mov ecx, dword [esi]
movzx eax, byte [ecx]
mov ecx, dword [edi]
shl eax, cl
add dword [ebx], eax
inc dword [esi]
jmp 0x10009730
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x10009730
mov eax, 0x3b8c
cmp eax, eax
je 0x10009d73
add eax, 0x4f
cmp eax, 0x3b8c
jbe 0x10009720
add edx, 0x12
cmp edx, 0x5c7e
jbe 0x100096e5
mov edx, dword [ebp + 0x30]
movzx eax, byte [edx + 1]
add eax, 2
cmp dword [edi], eax
jb 0x100096e0
jmp 0x100097b7
mov eax, dword [ebp + 0x20]
mov eax, dword [eax]
cmp dword [eax + 0x68], 0
jne 0x100097bb
mov eax, 0x2a8d
cmp eax, eax
je 0x10009d7f
add eax, 0x3d
cmp eax, 0x2a8d
jbe 0x1000975d
jmp 0x100097bb
mov eax, ecx
sub eax, 0x1bb1
je 0x10009798
sub eax, 0x4a
jne 0x100097bb
mov eax, 0x38d4
cmp eax, eax
jne 0x1000978c
shr dword [ebx], 2
add dword [edi], 0xfffffffe
add eax, 0x4a
cmp eax, 0x38d4
jbe 0x10009784
jmp 0x100097bb
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx]
mov ecx, dword [eax + 0x68]
movzx eax, word [eax + ecx*2 + 0x6e]
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
mov eax, dword [ebx]
mov ecx, dword [ebp + 0x28]
and eax, 3
add eax, 3
mov dword [ecx], eax
mov ecx, dword [esp + 0x20]
add ecx, 0x4a
mov dword [esp + 0x20], ecx
cmp ecx, 0x1bfb
jbe 0x1000967f
jmp 0x10009a84
cmp eax, 0x11
jne 0x100098f6
mov eax, 0x46f7
mov dword [esp + 0x20], eax
jmp 0x100097f3
mov edx, dword [ebp + 0x30]
sub eax, 0x46f7
je 0x1000985c
sub eax, 0x28
je 0x10009833
sub eax, 0x28
jne 0x100098db
mov edx, dword [ebx]
mov eax, dword [ebp + 0x28]
and edx, 7
add edx, 3
mov dword [eax], edx
mov eax, 0x7e24
cmp eax, eax
jne 0x10009824
shr dword [ebx], 3
add dword [edi], 0xfffffffd
add eax, 0x41
cmp eax, 0x7e24
jbe 0x1000981c
jmp 0x100098db
mov eax, 0x2468
cmp eax, eax
jne 0x10009847
mov cl, byte [edx + 1]
shr dword [ebx], cl
movzx ecx, byte [edx + 1]
sub dword [edi], ecx
add eax, 0x1b
cmp eax, 0x2468
jbe 0x1000983a
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0
jmp 0x100098db
movzx eax, byte [edx + 1]
add eax, 3
cmp dword [edi], eax
jae 0x100098db
jmp 0x10009870
mov edx, 0x5c8b
mov eax, edx
sub eax, 0x5c8b
je 0x1000989c
sub eax, 0x3b
je 0x1000988d
sub eax, 0x3b
jne 0x100098c2
add dword [edi], 8
jmp 0x100098c2
mov ecx, dword [esi]
movzx eax, byte [ecx]
mov ecx, dword [edi]
shl eax, cl
add dword [ebx], eax
inc dword [esi]
jmp 0x100098c2
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
test ecx, ecx
jne 0x100098bc
mov eax, 0x44fe
cmp eax, eax
je 0x10009d73
add eax, 0x2b
cmp eax, 0x44fe
jbe 0x100098ac
mov eax, dword [ebp + 0x14]
dec ecx
mov dword [eax], ecx
add edx, 0x3b
cmp edx, 0x5d01
jbe 0x10009875
mov ecx, dword [ebp + 0x30]
movzx edx, byte [ecx + 1]
add edx, 3
cmp dword [edi], edx
jb 0x10009870
mov eax, dword [esp + 0x20]
add eax, 0x28
mov dword [esp + 0x20], eax
cmp eax, 0x4747
jbe 0x100097f0
jmp 0x10009a84
mov edx, 0x6e0
mov dword [esp + 0x20], edx
nop
cmp edx, 0x792
ja 0x10009a3e
je 0x10009a2f
mov eax, edx
sub eax, 0x6e0
je 0x10009932
sub eax, 0x59
jne 0x10009a71
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0
jmp 0x10009a71
mov ecx, dword [ebp + 0x30]
movzx edx, byte [ecx + 1]
add edx, 7
cmp dword [edi], edx
jae 0x100099f8
mov edx, dword [ebp + 0x2c]
mov esi, 0x4ca2
mov eax, esi
sub eax, 0x4ca2
je 0x1000999c
sub eax, 0x52
je 0x10009988
sub eax, 0x52
jne 0x100099d7
push 0x104
lea eax, [esp + 0x28c]
push eax
push 7
push str.String
push 0x800
push 0x7f
call dword [sym.imp.KERNEL32.dll_LCMapStringA]
add dword [edi], 8
mov edx, dword [ebp + 0x2c]
jmp 0x100099d7
mov eax, dword [ebp + 0x14]
dec dword [eax]
mov ecx, dword [edx]
movzx eax, byte [ecx]
mov ecx, dword [edi]
shl eax, cl
add dword [ebx], eax
inc dword [edx]
jmp 0x100099d7
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x100099d7
mov ecx, 0x7a47
lea esp, [esp]
mov eax, ecx
sub eax, 0x7a47
je 0x100099c4
sub eax, 0x54
je case.0x10009bc7.22417
jmp 0x100099cc
mov dword [esp + 0x18], 0x20
add ecx, 0x54
cmp ecx, 0x7a9b
jbe 0x100099b0
add esi, 0x52
cmp esi, 0x4d46
jbe 0x1000994c
mov edx, dword [ebp + 0x30]
movzx eax, byte [edx + 1]
add eax, 7
cmp dword [edi], eax
jb 0x10009944
mov esi, dword [ebp + 0x30]
mov edx, 0x3de1
mov eax, edx
sub eax, 0x3de1
je 0x10009a16
sub eax, 0x43
jne 0x10009a1b
movzx ecx, byte [esi + 1]
sub dword [edi], ecx
jmp 0x10009a1b
mov cl, byte [esi + 1]
shr dword [ebx], cl
add edx, 0x43
cmp edx, 0x3e24
jbe 0x10009a00
mov esi, dword [ebp + 0x2c]
mov edx, dword [esp + 0x20]
jmp 0x10009a71
mov eax, dword [ebx]
mov ecx, dword [ebp + 0x28]
and eax, 0x7f
add eax, 0xb
mov dword [ecx], eax
jmp 0x10009a71
cmp edx, 0x7eb
jne 0x10009a71
mov ecx, 0x1f00
jmp 0x10009a50
mov eax, ecx
sub eax, 0x1f00
je 0x10009a63
sub eax, 0x5a
jne 0x10009a66
add dword [edi], 0xfffffff9
jmp 0x10009a66
shr dword [ebx], 7
add ecx, 0x5a
cmp ecx, 0x1f5a
jbe 0x10009a50
add edx, 0x59
mov dword [esp + 0x20], edx
cmp edx, 0x7eb
jbe 0x10009900
mov eax, dword [esp + 0x28]
add eax, 0x5b
mov dword [esp + 0x28], eax
cmp eax, 0x6f68
jbe 0x100095e1
jmp 0x10009b59
mov esi, 0x6d88
mov eax, esi
sub eax, 0x6d88
je 0x10009b15
sub eax, 0x4d
jne 0x10009b3a
mov edx, 0x29d5
mov eax, edx
sub eax, 0x29d5
je 0x10009ae2
sub eax, 0x29
jne 0x10009b08
mov eax, dword [ebp + 0x2c]
mov ecx, dword [eax]
movzx eax, byte [ecx]
mov ecx, dword [edi]
shl eax, cl
add dword [ebx], eax
mov eax, dword [ebp + 0x2c]
inc dword [eax]
add dword [edi], 8
jmp 0x10009b08
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10009b02
mov eax, 0x2a90
cmp eax, eax
je 0x10009d73
add eax, 0x14
cmp eax, 0x2a90
jbe 0x10009af2
mov eax, dword [ebp + 0x14]
dec ecx
mov dword [eax], ecx
add edx, 0x29
cmp edx, 0x29fe
jbe 0x10009abc
jmp 0x10009b3a
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx]
mov ecx, dword [eax + 0x54]
mov eax, dword [eax + 0x4c]
mov edx, 1
shl edx, cl
dec edx
and edx, dword [ebx]
mov ecx, dword [eax + edx*4]
mov eax, dword [ebp + 0x30]
mov dword [eax], ecx
movzx edx, byte [eax + 1]
cmp edx, dword [edi]
jbe 0x10009b4e
add esi, 0x4d
cmp esi, 0x6dd5
ja 0x10009aa0
jmp 0x10009aa5
mov dword [esp + 0x24], 0x6027
mov esi, dword [ebp + 0x2c]
mov eax, dword [esp + 0x24]
add eax, 0xb
mov dword [esp + 0x24], eax
cmp eax, 0x6032
jbe 0x10009549
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x64]
add edx, dword [eax + 0x60]
cmp dword [eax + 0x68], edx
jb 0x10009540
mov eax, dword [ecx]
cmp word [eax + 0x270], 0
jne case.0x10009bc7.22265
mov eax, 0x531f
cmp eax, eax
je 0x10009d7f
add eax, 0x46
cmp eax, 0x531f
jbe 0x10009b9a
jmp case.0x10009bc7.22265
lea eax, [ecx - 0x56f8]
cmp eax, 0x99
ja case.0x10009bc7.22265
movzx ecx, byte [eax + 0x10009fd0]
jmp dword [ecx*4 + 0x10009fa4]
mov edx, dword [ebp + 0x20]
mov eax, dword [edx]
lea ecx, [eax + 0x2f0]
push ecx
lea edx, [eax + 0x54]
push edx
mov edx, dword [eax + 0x60]
lea ecx, [eax + 0x6c]
push ecx
push edx
add eax, 0x70
push eax
push 1
jmp 0x10009d25
mov dword [esp + 0x78], 0x13
jmp case.0x10009bc7.22265
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
je case.0x10009bc7.22265
mov ecx, 0x75b2
nop
mov eax, ecx
sub eax, 0x75b2
je 0x10009c24
sub eax, 2
je case.0x10009bc7.22417
jmp 0x10009c2c
mov dword [esp + 0x18], 0x1d
add ecx, 2
cmp ecx, 0x75b4
jbe 0x10009c10
jmp case.0x10009bc7.22265
mov eax, dword [ebp + 0x20]
mov eax, dword [eax]
mov ecx, dword [eax + 0x6c]
mov dword [eax + 0x50], ecx
jmp case.0x10009bc7.22265
mov edx, dword [ebp + 0x24]
cmp dword [edx], 6
jne 0x10009c87
mov edx, dword [esp + 0x18]
mov ecx, 0x6e11
lea ecx, [ecx]
mov eax, ecx
sub eax, 0x6e11
je 0x10009c77
sub eax, 5
jne 0x10009c7c
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x20
add ecx, 5
cmp ecx, 0x6e16
jbe 0x10009c60
mov eax, dword [esp + 0x78]
mov dword [esp + 0x18], eax
jmp case.0x10009bc7.22265
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
je case.0x10009bc7.22265
mov ecx, 0x5bd8
mov eax, ecx
sub eax, 0x5bd8
je 0x10009cb9
sub eax, 0x36
je case.0x10009bc7.22417
jmp 0x10009cc1
mov dword [esp + 0x18], 0x1d
add ecx, 0x36
cmp ecx, 0x5c0e
jbe 0x10009ca5
jmp case.0x10009bc7.22265
mov edx, dword [ebp + 0x20]
mov eax, dword [edx]
mov dword [eax + 0x54], 9
jmp case.0x10009bc7.22265
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 0x530]
mov dword [eax + 0x6c], edx
mov eax, dword [ebp + 0x20]
mov eax, dword [eax]
mov ecx, dword [eax + 0x6c]
mov dword [eax + 0x4c], ecx
jmp case.0x10009bc7.22265
mov edx, dword [ebp + 0x20]
mov eax, dword [edx]
mov dword [eax + 0x58], 6
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 0x2f0]
push edx
lea ecx, [eax + 0x58]
push ecx
mov ecx, dword [eax + 0x64]
lea edx, [eax + 0x6c]
push edx
mov edx, dword [eax + 0x60]
push ecx
lea eax, [eax + edx*2 + 0x70]
push eax
push 2
call fcn.1000bf80
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
add esp, 0x18
mov ecx, dword [esp + 0x6c]
add ecx, 0x11
mov dword [esp + 0x6c], ecx
cmp ecx, dword [esp + 0x84]
jbe 0x10008e50
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmpsb byte [esi], byte es:[edi]
xor byte [esi + ecx*8 + 0x5fc03384], dl
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0x1d
pop ebx
mov esp, ebp
pop ebp
ret