Function at 0x10003e90
Capabilities:
Authenticate hmac
Hash data using fnv
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100083eb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc8
xor eax, eax
mov ecx, 0xf
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 4], eax
xor edx, edx
lea eax, [ebp - 0x40]
mov dword [ebp - 0x30], 0xa
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edx
mov word [ebp - 0x38], dx
mov byte [ebp - 0x36], dl
mov byte [eax], 0x73
cmp dword [ebp - 0x2c], 0x10
jb 0x10003ee6
mov eax, dword [ebp - 0x40]
mov byte [eax + 1], 0x68
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
jb 0x10003ef6
mov eax, dword [ebp - 0x40]
mov byte [eax + 2], 0x77
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
jb 0x10003f06
mov eax, dword [ebp - 0x40]
mov byte [eax + 3], 0x33
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
jb 0x10003f16
mov eax, dword [ebp - 0x40]
mov byte [eax + 4], 0x32
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
jb 0x10003f26
mov eax, dword [ebp - 0x40]
mov byte [eax + 5], 0x2e
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
jb 0x10003f36
mov eax, dword [ebp - 0x40]
mov byte [eax + 6], 0x64
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
jb 0x10003f46
mov eax, dword [ebp - 0x40]
mov byte [eax + 7], 0x6c
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
jb 0x10003f56
mov eax, dword [ebp - 0x40]
mov byte [eax + 8], 0x6c
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
jb 0x10003f66
mov eax, dword [ebp - 0x40]
mov byte [eax + 9], dl
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
jb 0x10003f75
mov eax, dword [ebp - 0x40]
push ebx
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ebx, eax
test ebx, ebx
je 0x10004a26
mov ecx, ebx
call fcn.100029f0
add ebx, 0x3e60f0
mov dword [ebp - 0x60], ebx
je 0x10004a26
xor eax, eax
mov byte [ebp - 0x26], 1
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], al
push ecx
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 1
fldz
lea ecx, [ebp - 0xa4]
push eax
fstp dword [ebp - 0x44]
call fcn.10004ef0
mov byte [ebp - 4], 2
push edi
jmp 0x10003fe0
mov eax, dword [ebx]
test eax, eax
je 0x1000425e
push dword [eax + 0xc]
xor ecx, ecx
push dword [eax + 8]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x24]
call fcn.10005490
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.10002690
mov esi, dword [ebp - 0x10]
lea ebx, [ebp - 0x24]
cmp esi, 0x10
jb 0x10004026
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
xor ecx, ecx
mov edx, 0x811c9dc5
test edi, edi
je 0x10004045
movzx eax, byte [ebx + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x10004034
push edx
lea eax, [ebp - 0x24]
mov ecx, 0x1000b41c
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.10005df0
mov ecx, dword [0x1000b420]
mov eax, dword [eax + 4]
test eax, eax
jne 0x1000406a
mov eax, ecx
cmp eax, ecx
jne 0x10004226
lea edx, [ebp - 0x24]
mov byte [ebp - 0x26], 0
lea ecx, [ebp - 0x78]
call fcn.100034a0
mov byte [ebp - 4], 4
lea eax, [ebp - 0x78]
mov ebx, dword [ebp - 0x64]
cmp ebx, 0x10
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x44], eax
setae byte [ebp - 0x25]
jb 0x1000409d
mov dword [ebp - 0x44], esi
mov edi, dword [ebp - 0x68]
xor ecx, ecx
mov edx, 0x811c9dc5
test edi, edi
je 0x100040c4
mov ebx, dword [ebp - 0x44]
mov edi, edi
movzx eax, byte [ecx + ebx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x100040b0
mov ebx, dword [ebp - 0x64]
push edx
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0xa4]
call fcn.10005df0
mov ecx, dword [ebp - 0xa0]
mov eax, dword [eax + 4]
test eax, eax
jne 0x100040ea
mov eax, ecx
cmp eax, ecx
jne 0x100041f1
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
jne 0x10004140
lea eax, [ebp - 0x78]
cmp byte [ebp - 0x25], cl
je 0x10004103
mov eax, esi
mov ecx, dword [ebp - 0x48]
cmp edi, ecx
ja 0x1000412c
mov dword [ebp - 0x4c], edi
lea esi, [ebp - 0x5c]
cmp ecx, 0x10
jb 0x10004118
mov esi, dword [ebp - 0x5c]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x100041d5
push edi
mov byte [ebp - 0x84], 0
push eax
push dword [ebp - 0x84]
jmp 0x100041cc
mov edx, dword [ebp - 0x48]
mov eax, edx
sub eax, ecx
cmp eax, 2
jb 0x1000416d
lea eax, [ecx + 2]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x5c]
cmp edx, 0x10
jb 0x1000415d
mov eax, dword [ebp - 0x5c]
mov edx, 0x202c
mov word [eax + ecx], dx
mov byte [eax + ecx + 2], 0
jmp 0x10004185
push 2
push 0x100096e8
mov byte [ebp - 0x7c], 0
lea ecx, [ebp - 0x5c]
push dword [ebp - 0x7c]
push 2
call fcn.10005900
cmp byte [ebp - 0x25], 0
lea ecx, [ebp - 0x78]
je 0x10004190
mov ecx, esi
mov esi, dword [ebp - 0x48]
mov eax, esi
mov edx, dword [ebp - 0x4c]
sub eax, edx
cmp edi, eax
ja 0x100041c3
lea eax, [edi + edx]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x5c]
cmp esi, 0x10
jb 0x100041af
mov eax, dword [ebp - 0x5c]
push edi
lea esi, [eax + edx]
push ecx
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x100041d5
push edi
push ecx
mov byte [ebp - 0x80], 0
push dword [ebp - 0x80]
push edi
lea ecx, [ebp - 0x5c]
call fcn.10005900
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0xa4]
call fcn.10005110
mov ebx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x78]
mov byte [ebp - 4], 3
cmp ebx, 0x10
jb 0x10004223
inc ebx
mov eax, esi
cmp ebx, 0x1000
jb 0x10004219
mov esi, dword [eax - 4]
add ebx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004a16
push ebx
push esi
call fcn.10007566
add esp, 8
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 2
cmp esi, 0x10
jb 0x1000425b
mov ecx, dword [ebp - 0x24]
inc esi
mov eax, ecx
cmp esi, 0x1000
jb 0x10004251
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004a16
push esi
push ecx
call fcn.10007566
add esp, 8
mov ebx, dword [ebp - 0x60]
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x60], ebx
test ebx, ebx
jne 0x10003fe0
cmp byte [ebp - 0x26], bl
jne 0x100049e4
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x5c]
call fcn.10004d20
mov edx, eax
lea ecx, [ebp - 0x5c]
lea eax, [ebp - 0x7c]
push eax
call fcn.10004d40
push ecx
push dword [edx]
lea ecx, [ebp - 0xd4]
push dword [eax]
call fcn.10005370
lea ecx, [ebp - 0x24]
call fcn.10004d00
push ecx
push 0x66
mov byte [ebp - 4], 6
call fcn.10004b80
push ebx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov edi, 0x4a
lea ecx, [ebp - 0x24]
push 1
mov word [eax], di
call fcn.10004c10
mov ebx, 0x65
lea ecx, [ebp - 0x24]
push 2
mov word [eax], bx
call fcn.10004c10
mov ecx, 0x17c
push 3
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 4
lea ecx, [ebp - 0x24]
mov word [eax], bx
call fcn.10004c10
mov ecx, 0x6c
push 5
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x69
push 6
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov esi, 0x20
lea ecx, [ebp - 0x24]
push 7
mov word [eax], si
call fcn.10004c10
mov edx, 0x63
lea ecx, [ebp - 0x24]
push 8
mov word [eax], dx
call fcn.10004c10
mov ecx, 0x68
push 9
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0xa
lea ecx, [ebp - 0x24]
mov word [eax], dx
call fcn.10004c10
push 0xb
lea ecx, [ebp - 0x24]
mov word [eax], bx
call fcn.10004c10
mov ebx, 0x73
lea ecx, [ebp - 0x24]
push 0xc
mov word [eax], bx
call fcn.10004c10
mov edx, 0x7a
lea ecx, [ebp - 0x24]
push 0xd
mov word [eax], dx
call fcn.10004c10
push 0xe
lea ecx, [ebp - 0x24]
mov word [eax], si
call fcn.10004c10
mov ecx, 0x6b
push 0xf
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x6f
push 0x10
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov esi, 0x72
lea ecx, [ebp - 0x24]
push 0x11
mov word [eax], si
call fcn.10004c10
push 0x12
lea ecx, [ebp - 0x24]
mov word [eax], dx
call fcn.10004c10
mov ecx, 0x79
push 0x13
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x14
lea ecx, [ebp - 0x24]
mov word [eax], bx
call fcn.10004c10
mov ecx, 0x74
push 0x15
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ebx, 0x61
lea ecx, [ebp - 0x24]
push 0x16
mov word [eax], bx
call fcn.10004c10
mov ecx, 0x107
push 0x17
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x20
push 0x18
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x19
lea ecx, [ebp - 0x24]
mov word [eax], dx
call fcn.10004c10
mov ecx, 0x20
push 0x1a
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x70
push 0x1b
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x6c
push 0x1c
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x75
push 0x1d
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x67
push 0x1e
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x69
push 0x1f
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x6e
push 0x20
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0xf3
push 0x21
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov edx, 0x77
lea ecx, [ebp - 0x24]
push 0x22
mov word [eax], dx
call fcn.10004c10
mov ecx, 0x20
push 0x23
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x73
push 0x24
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x65
push 0x25
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x26
lea ecx, [ebp - 0x24]
mov word [eax], si
call fcn.10004c10
push 0x27
lea ecx, [ebp - 0x24]
mov word [eax], dx
call fcn.10004c10
mov ecx, 0x65
push 0x28
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x29
lea ecx, [ebp - 0x24]
mov word [eax], si
call fcn.10004c10
push 0x2a
lea ecx, [ebp - 0x24]
mov word [eax], bx
call fcn.10004c10
mov esi, 0x20
lea ecx, [ebp - 0x24]
push 0x2b
mov word [eax], si
call fcn.10004c10
mov ecx, 0x4b
push 0x2c
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov edx, 0x41
lea ecx, [ebp - 0x24]
push 0x2d
mov word [eax], dx
call fcn.10004c10
push 0x2e
lea ecx, [ebp - 0x24]
mov word [eax], di
call fcn.10004c10
mov ebx, 0x4d
lea ecx, [ebp - 0x24]
push 0x2f
mov word [eax], bx
call fcn.10004c10
push 0x30
lea ecx, [ebp - 0x24]
mov word [eax], dx
call fcn.10004c10
push 0x31
lea ecx, [ebp - 0x24]
mov word [eax], si
call fcn.10004c10
mov ecx, 0x2d
push 0x32
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x33
lea ecx, [ebp - 0x24]
mov word [eax], si
call fcn.10004c10
mov ecx, 0x47
push 0x34
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov edx, 0x4f
lea ecx, [ebp - 0x24]
push 0x35
mov word [eax], dx
call fcn.10004c10
mov ecx, 0x54
push 0x36
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x48
push 0x37
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov esi, 0x49
lea ecx, [ebp - 0x24]
push 0x38
mov word [eax], si
call fcn.10004c10
mov edi, 0x43
lea ecx, [ebp - 0x24]
push 0x39
mov word [eax], di
call fcn.10004c10
mov ecx, 0x20
push 0x3a
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x3b
lea ecx, [ebp - 0x24]
mov word [eax], si
call fcn.10004c10
mov ecx, 0x20
push 0x3c
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x3d
lea ecx, [ebp - 0x24]
mov word [eax], bx
call fcn.10004c10
push 0x3e
lea ecx, [ebp - 0x24]
mov word [eax], dx
call fcn.10004c10
mov ecx, 0x44
push 0x3f
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x59
mov word [eax], cx
push 0x40
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x46
push 0x41
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x42
lea ecx, [ebp - 0x24]
mov word [eax], si
call fcn.10004c10
mov ecx, 0x4b
push edi
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x41
push 0x44
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x45
lea ecx, [ebp - 0x24]
mov word [eax], di
call fcn.10004c10
mov ecx, 0x4a
push 0x46
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x45
push 0x47
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x2c
push 0x48
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov edi, 0x20
lea ecx, [ebp - 0x24]
push esi
mov word [eax], di
call fcn.10004c10
mov edx, 0x74
lea ecx, [ebp - 0x24]
push 0x4a
mov word [eax], dx
call fcn.10004c10
mov ecx, 0x6f
push 0x4b
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x4c
lea ecx, [ebp - 0x24]
mov word [eax], di
call fcn.10004c10
mov ebx, 0x75
lea ecx, [ebp - 0x24]
push 0x4d
mov word [eax], bx
call fcn.10004c10
mov esi, 0x73
lea ecx, [ebp - 0x24]
push 0x4e
mov word [eax], si
call fcn.10004c10
push 0x4f
lea ecx, [ebp - 0x24]
mov word [eax], bx
call fcn.10004c10
mov ecx, 0x144
push 0x50
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x51
mov word [eax], di
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov edi, 0x6e
lea ecx, [ebp - 0x24]
push 0x52
mov word [eax], di
call fcn.10004c10
mov ecx, 0x61
push 0x53
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x54
lea ecx, [ebp - 0x24]
mov word [eax], si
call fcn.10004c10
push 0x55
lea ecx, [ebp - 0x24]
mov word [eax], dx
call fcn.10004c10
mov ecx, 0x119
push 0x56
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov edx, 0x70
lea ecx, [ebp - 0x24]
push 0x57
mov word [eax], dx
call fcn.10004c10
push 0x58
lea ecx, [ebp - 0x24]
mov word [eax], bx
call fcn.10004c10
mov ecx, 0x6a
push 0x59
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov esi, 0x105
lea ecx, [ebp - 0x24]
push 0x5a
mov word [eax], si
call fcn.10004c10
mov ecx, 0x63
push 0x5b
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x65
push 0x5c
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x20
push 0x5d
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x5e
lea ecx, [ebp - 0x24]
mov word [eax], dx
call fcn.10004c10
mov ecx, 0x6c
push 0x5f
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x60
lea ecx, [ebp - 0x24]
mov word [eax], bx
call fcn.10004c10
mov ecx, 0x67
push 0x61
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x69
push 0x62
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
push 0x63
lea ecx, [ebp - 0x24]
mov word [eax], di
call fcn.10004c10
mov ecx, 0x79
push 0x64
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0x3a
push 0x65
mov word [eax], cx
lea ecx, [ebp - 0x24]
call fcn.10004c10
mov ecx, 0xa
mov word [eax], cx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x24]
call fcn.10004c30
lea ecx, [ebp - 0x78]
call fcn.10004d00
push ecx
push 5
mov byte [ebp - 4], 7
call fcn.10004b80
push 0
lea ecx, [ebp - 0x78]
call fcn.10004c10
mov ecx, 0x42
push 1
mov word [eax], cx
lea ecx, [ebp - 0x78]
call fcn.10004c10
mov ecx, 0x142
push 2
mov word [eax], cx
lea ecx, [ebp - 0x78]
call fcn.10004c10
push 3
lea ecx, [ebp - 0x78]
mov word [eax], si
call fcn.10004c10
mov ecx, 0x64
push 4
mov word [eax], cx
lea ecx, [ebp - 0x78]
call fcn.10004c10
xor ecx, ecx
push ecx
mov word [eax], cx
lea ecx, [ebp - 0x78]
call fcn.10004c00
push eax
lea ecx, [ebp - 0x24]
call fcn.10004c00
mov edx, eax
call fcn.10002710
add esp, 8
push 0xffffffffffffffff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_quick_exit]
lea ecx, [ebp - 0xa4]
call fcn.10002620
mov ecx, dword [ebp - 0x48]
pop edi
cmp ecx, 0x10
jb 0x10004a26
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004a1c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10004a1c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10007566
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [ebp - 0x2c]
mov esi, eax
cmp ecx, 0x10
jb 0x10004a64
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004a5a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10004a5a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10007566
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret