Function at 0x10081b54
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push edi
push esi
sub esp, 0x80
mov edi, edx
mov esi, ecx
cmp edx, 8
mov dword [esp + 0x78], 1
jb 0x10081b8e
mov eax, 0x756f6c63
mov ecx, 0x69626164
xor eax, dword [esi]
xor ecx, dword [esi + 4]
mov dword [esp + 0x74], 2
or ecx, eax
jne 0x10081b9b
lea ecx, [esp + 0x78]
jmp 0x10081bff
cmp edi, 5
mov dword [esp + 0x74], 2
jbe 0x10081be6
mov eax, 0x77726164
movzx ecx, word [esi + 4]
xor eax, dword [esi]
xor ecx, 0x6e69
or ecx, eax
je 0x10081bfb
cmp edi, 9
mov dword [esp + 0x70], 3
jb 0x10081d00
push 9
push esi
push str.dragonfly
call fcn.1019e15d
add esp, 0xc
test eax, eax
je 0x10081fd9
mov dword [esp + 0xc], 4
jmp 0x10081d0d
mov dword [esp + 0x70], 3
mov dword [esp + 0xc], 4
jmp 0x10081d4f
lea ecx, [esp + 0x74]
mov dword [esp + 0x70], 3
mov dword [esp + 0xc], 4
mov dword [esp + 0x6c], 5
mov dword [esp + 0x68], 6
mov dword [esp + 0x64], 7
mov dword [esp + 8], 8
mov dword [esp + 0x60], 9
mov dword [esp + 0x5c], 0xa
mov dword [esp + 0x58], 0xb
mov dword [esp + 0x54], 0xc
mov dword [esp + 0x50], 0xd
mov dword [esp + 0x4c], 0xe
mov dword [esp + 0x48], 0xe
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], 0x10
mov dword [esp + 0x3c], 0x11
mov dword [esp + 0x38], 0x12
mov dword [esp + 0x34], 0x13
mov dword [esp + 0x30], 0x14
mov dword [esp + 0x2c], 0x15
mov dword [esp + 0x28], 0x16
mov dword [esp + 0x24], 0x17
mov dword [esp + 0x20], 0x18
mov dword [esp + 0x1c], 0x19
mov dword [esp + 0x18], 0x1a
mov dword [esp + 4], 0x1b
mov dword [esp + 0x14], 0x1c
mov dword [esp], 0x1d
mov dword [esp + 0x10], 0x1e
lea eax, [esp + 0x7c]
test ecx, ecx
mov dword [eax], 0
cmove ecx, eax
mov eax, dword [ecx]
add esp, 0x80
pop esi
pop edi
ret
cmp edi, 7
mov dword [esp + 0xc], 4
jb 0x10081d4f
push 7
push esi
push str.freebsd
call fcn.1019e15d
add esp, 0xc
test eax, eax
je 0x10081fd0
mov dword [esp + 0x6c], 5
push 7
push esi
push str.fuchsia
call fcn.1019e15d
add esp, 0xc
test eax, eax
je 0x100820b2
mov dword [esp + 0x68], 6
jmp 0x10081d64
cmp edi, 3
mov dword [esp + 0x6c], 5
mov dword [esp + 0x68], 6
jb 0x10081db1
movzx eax, word [esi]
movzx ecx, byte [esi + 2]
xor eax, 0x6f69
xor ecx, 0x73
or cx, ax
je 0x10081ee3
cmp edi, 8
mov dword [esp + 0x64], 7
jb 0x10081eec
mov eax, 0x6572666b
mov ecx, 0x64736265
xor eax, dword [esi]
xor ecx, dword [esi + 4]
or ecx, eax
je 0x100820d6
mov dword [esp + 8], 8
jmp 0x10081ef9
mov dword [esp + 0x64], 7
mov dword [esp + 8], 8
mov dword [esp + 0x60], 9
mov dword [esp + 0x5c], 0xa
mov dword [esp + 0x58], 0xb
mov dword [esp + 0x54], 0xc
cmp edi, 5
mov dword [esp + 0x50], 0xd
mov dword [esp + 0x4c], 0xe
jb 0x10081e99
mov eax, 0x336e6977
movzx ecx, byte [esi + 4]
xor eax, dword [esi]
xor ecx, 0x32
or ecx, eax
je 0x100820bb
cmp edi, 7
mov dword [esp + 0x48], 0xe
jb 0x10081e35
push 7
push esi
push str.windows
call fcn.1019e15d
add esp, 0xc
test eax, eax
je 0x100821bc
mov dword [esp + 0x44], 0xf
mov eax, 0x6b696168
movzx ecx, byte [esi + 4]
xor eax, dword [esi]
xor ecx, 0x75
or ecx, eax
je 0x10082173
mov dword [esp + 0x40], 0x10
mov eax, 0x696e696d
movzx ecx, byte [esi + 4]
xor eax, dword [esi]
xor ecx, 0x78
or ecx, eax
je 0x100821b3
mov dword [esp + 0x3c], 0x11
mov eax, 0x6d657472
movzx ecx, byte [esi + 4]
xor eax, dword [esi]
xor ecx, 0x73
or ecx, eax
je 0x100821d7
mov dword [esp + 0x38], 0x12
jmp 0x10081eca
cmp edi, 4
mov dword [esp + 0x48], 0xe
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], 0x10
mov dword [esp + 0x3c], 0x11
mov dword [esp + 0x38], 0x12
jne 0x10081fe2
cmp dword [esi], 0x6c63616e
je 0x1008216a
mov dword [esp + 0x34], 0x13
jmp 0x10081ff3
lea ecx, [esp + 0x68]
jmp 0x10081c1f
cmp edi, 5
mov dword [esp + 8], 8
jb 0x10081f0f
mov eax, 0x756e696c
movzx ecx, byte [esi + 4]
xor eax, dword [esi]
xor ecx, 0x78
or ecx, eax
je 0x100820cd
mov dword [esp + 0x60], 9
movzx eax, word [esi]
movzx ecx, byte [esi + 2]
xor eax, 0x766c
xor ecx, 0x32
or cx, ax
je 0x100820c4
cmp edi, 6
mov dword [esp + 0x5c], 0xa
jb 0x10081dd1
mov eax, 0x6f63616d
movzx ecx, word [esi + 4]
xor eax, dword [esi]
xor ecx, 0x7873
or ecx, eax
je 0x100821c5
mov dword [esp + 0x58], 0xb
mov eax, 0x6274656e
movzx ecx, word [esi + 4]
xor eax, dword [esi]
xor ecx, 0x6473
or ecx, eax
je 0x100821e9
cmp edi, 7
mov dword [esp + 0x54], 0xc
jb 0x10081de1
push 7
push esi
push str.openbsd
call fcn.1019e15d
add esp, 0xc
test eax, eax
je 0x100822b1
mov dword [esp + 0x50], 0xd
push 7
push esi
push str.solaris
call fcn.1019e15d
add esp, 0xc
test eax, eax
je 0x100822ba
mov dword [esp + 0x4c], 0xe
jmp 0x10081dfa
lea ecx, [esp + 0xc]
jmp 0x10081c0f
lea ecx, [esp + 0x70]
jmp 0x10081c07
cmp edi, 3
mov dword [esp + 0x34], 0x13
jb 0x100820df
movzx eax, word [esi]
movzx ecx, byte [esi + 2]
xor eax, 0x6e63
xor ecx, 0x6b
or cx, ax
je 0x10082161
cmp edi, 6
mov dword [esp + 0x30], 0x14
jb 0x10082031
mov eax, 0x72746962
movzx ecx, word [esi + 4]
xor eax, dword [esi]
xor ecx, 0x6769
or ecx, eax
je 0x100821e0
mov dword [esp + 0x2c], 0x15
movzx eax, word [esi]
movzx ecx, byte [esi + 2]
xor eax, 0x6961
xor ecx, 0x78
or cx, ax
je 0x100821aa
cmp edi, 4
mov dword [esp + 0x28], 0x16
jb 0x100820f7
cmp dword [esi], 0x61647563
je 0x10082235
mov dword [esp + 0x24], 0x17
cmp dword [esi], 0x6c63766e
je 0x10082250
cmp edi, 6
mov dword [esp + 0x20], 0x18
jb 0x100820a8
mov eax, 0x68646d61
movzx ecx, word [esi + 4]
xor eax, dword [esi]
xor ecx, 0x6173
or ecx, eax
je 0x100822d3
mov dword [esp + 0x1c], 0x19
jmp 0x10082114
lea ecx, [esp + 0x6c]
jmp 0x10081c17
lea ecx, [esp + 0x4c]
jmp 0x10081c5f
lea ecx, [esp + 0x60]
jmp 0x10081c37
lea ecx, [esp + 8]
jmp 0x10081c2f
lea ecx, [esp + 0x64]
jmp 0x10081c27
mov dword [esp + 0x30], 0x14
mov dword [esp + 0x2c], 0x15
mov dword [esp + 0x28], 0x16
cmp edi, 2
mov dword [esp + 0x24], 0x17
mov dword [esp + 0x20], 0x18
mov dword [esp + 0x1c], 0x19
jbe 0x1008217c
movzx eax, word [esi]
movzx ecx, byte [esi + 2]
xor eax, 0x7370
xor ecx, 0x34
or cx, ax
je 0x100821ce
cmp edi, 8
mov dword [esp + 0x18], 0x1a
jb 0x100821f2
mov eax, 0x69666c65
mov ecx, 0x75636d61
xor eax, dword [esi]
xor ecx, dword [esi + 4]
or ecx, eax
je 0x10082247
mov dword [esp + 4], 0x1b
jmp 0x100821ff
lea ecx, [esp + 0x34]
jmp 0x10081c8f
lea ecx, [esp + 0x38]
jmp 0x10081c87
lea ecx, [esp + 0x44]
jmp 0x10081c6f
mov dword [esp + 0x18], 0x1a
mov dword [esp + 4], 0x1b
mov dword [esp + 0x14], 0x1c
mov dword [esp], 0x1d
mov dword [esp + 0x10], 0x1e
xor ecx, ecx
jmp 0x10081ce6
lea ecx, [esp + 0x2c]
jmp 0x10081c9f
lea ecx, [esp + 0x40]
jmp 0x10081c77
lea ecx, [esp + 0x48]
jmp 0x10081c67
lea ecx, [esp + 0x5c]
jmp 0x10081c3f
lea ecx, [esp + 0x1c]
jmp 0x10081cbf
lea ecx, [esp + 0x3c]
jmp 0x10081c7f
lea ecx, [esp + 0x30]
jmp 0x10081c97
lea ecx, [esp + 0x58]
jmp 0x10081c47
cmp edi, 4
mov dword [esp + 4], 0x1b
jb 0x1008218c
cmp dword [esi], 0x736f7674
je 0x1008223e
cmp edi, 7
mov dword [esp + 0x14], 0x1c
jb 0x10082259
push 7
push esi
push str.watchos
call fcn.1019e15d
add esp, 0xc
test eax, eax
je 0x100822ca
mov dword [esp], 0x1d
jmp 0x10082269
lea ecx, [esp + 0x28]
jmp 0x10081ca7
lea ecx, [esp + 4]
jmp 0x10081ccf
lea ecx, [esp + 0x18]
jmp 0x10081cc7
lea ecx, [esp + 0x24]
jmp 0x10081caf
cmp edi, 6
mov dword [esp], 0x1d
jne 0x1008219b
mov eax, 0x6173656d
movzx ecx, word [esi + 4]
xor eax, dword [esi]
xor ecx, 0x6433
or ecx, eax
je 0x100822c3
xor ecx, ecx
cmp edi, 7
mov dword [esp + 0x10], 0x1e
jb 0x10081ce6
lea edi, [esp + 0x10]
push 7
push esi
push str.contiki
call fcn.1019e15d
add esp, 0xc
xor ecx, ecx
test eax, eax
cmove ecx, edi
jmp 0x10081ce6
lea ecx, [esp + 0x54]
jmp 0x10081c4f
lea ecx, [esp + 0x50]
jmp 0x10081c57
mov ecx, esp
jmp 0x10081cde
lea ecx, [esp + 0x14]
jmp 0x10081cd7
lea ecx, [esp + 0x20]
jmp 0x10081cb7