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

Disassembly:
push 0xffffffffffffffff
push 0x1016b3bd
mov eax, dword fs:[0]
push eax
sub esp, 0x4bc
mov eax, dword [0x101e0cf8]
xor eax, esp
mov dword [esp + 0x4b8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101e0cf8]
xor eax, esp
push eax
lea eax, [esp + 0x4d0]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x4e0]
mov esi, dword [esp + 0x4e4]
mov edi, dword [esp + 0x4e8]
mov dword [esp + 0x28], ecx
mov ecx, ebp
mov dword [esp + 0x54], ebp
call fcn.1001d260
mov ecx, ebp
mov ebx, eax
call fcn.1001d290
mov ecx, eax
call fcn.1001dc60
push 0x4d
lea ecx, [esp + 0x278]
mov dword [esp + 0xb0], eax
call fcn.1000d900
lea ecx, [esp + 0x2fc]
mov dword [esp + 0x4d8], 0
call fcn.10024550
lea ecx, [esp + 0x354]
mov byte [esp + 0x4d8], 1
call fcn.1002b830
mov ecx, dword [esp + 0x28]
push 0
lea eax, [esp + 0x358]
push eax
push esi
push ebp
mov byte [esp + 0x4e8], 2
call fcn.100650e0
push ebx
lea ecx, [esp + 0xb4]
push ecx
mov ecx, esi
call fcn.10015540
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x5c]
push 0x10180608
mov byte [esp + 0x4dc], 3
call eax
test eax, eax
lea ecx, [esp + 0xb0]
sete byte [esp + 0x33]
mov byte [esp + 0x4d8], 2
call fcn.1000d9b0
cmp byte [esp + 0x33], 0
jne 0x10065b7e
push ebx
lea ecx, [esp + 0xb4]
push ecx
mov ecx, esi
call fcn.10015540
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x5c]
push str.SHARE
mov byte [esp + 0x4dc], 4
call eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x4d8], 2
call fcn.1000d9b0
lea ecx, [esp + 0x354]
call fcn.10028ac0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xb4]
push str.DataInfo
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xb4]
push 0x10181b98
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xb4]
push str.Group
call eax
mov ebp, eax
push ebx
mov ecx, esi
mov dword [esp + 0x24], ebp
call fcn.10013a00
mov ecx, eax
call fcn.1001d280
mov ecx, eax
call fcn.1001d790
mov ecx, eax
mov dword [esp + 0x28], eax
call fcn.10073dd0
mov ecx, dword [eax + 4]
mov ebx, dword [ecx]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebx
call fcn.10073dd0
mov edx, dword [esp + 0x2c]
cmp ebx, dword [edx + 4]
mov ecx, dword [eax + 4]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x11c], ecx
jne 0x10065c1d
call fcn.100bcb20
mov ecx, dword [ebx + 8]
lea eax, [esp + 0x108]
push eax
call fcn.10073d40
push 0
push str.GetData
lea ecx, [esp + 0x110]
mov byte [esp + 0x4e0], 5
call fcn.1000e1b0
cmp eax, 0xffffffff
je 0x10065c5d
mov edx, dword [ebp]
mov eax, dword [edx + 0xa8]
push str.GetData
jmp 0x10065c83
mov eax, dword [ebp]
mov edx, dword [esp + 0x108]
add eax, 0xa8
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0x50]
lea ecx, [esp + 0x108]
call eax
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx]
push 0x10181a50
mov ecx, ebp
call eax
mov ecx, dword [esp + 0x2c]
cmp ebx, dword [ecx + 4]
jne 0x10065c9a
call fcn.100bcb20
mov edx, dword [ebx]
push 0x4d
lea ecx, [esp + 0x40]
mov dword [esp + 0x54], edx
call fcn.1000d900
push 0x4d
lea ecx, [esp + 0x6c]
mov byte [esp + 0x4dc], 6
call fcn.1000d900
xor ebx, ebx
mov ecx, esi
mov byte [esp + 0x4d8], 7
mov dword [esp + 0x24], ebx
call fcn.10012540
lea ecx, [esp + 0x14]
call fcn.10065690
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
mov ecx, dword [eax]
mov dword [eax], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 4], eax
cmp ecx, dword [esp + 0x18]
mov byte [esp + 0x4d8], 8
mov dword [esp + 0x1c], ebx
je 0x10065d20
mov esi, dword [ecx]
push ecx
call fcn.100bbe20
add esp, 4
cmp esi, dword [esp + 0x18]
mov ecx, esi
jne 0x10065d01
jmp 0x10065d20
mov ebx, dword [esp + 0x4c]
cmp ebx, dword [esp + 0xa4]
je 0x10065d32
call fcn.100bcb20
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x11c]
je 0x10067206
cmp esi, dword [ebx + 4]
jne 0x10065d4d
call fcn.100bcb20
mov esi, dword [esi + 8]
lea eax, [esp + 0x2ec]
push eax
mov ecx, esi
call fcn.10073d40
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [edx + 0x38]
lea ecx, [esp + 0x40]
mov byte [esp + 0x4dc], 9
call eax
lea ecx, [esp + 0x2ec]
mov byte [esp + 0x4d8], 8
call fcn.1000d9b0
lea ecx, [esp + 0x1c4]
push ecx
mov ecx, esi
call fcn.10073d70
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [edx + 0x38]
lea ecx, [esp + 0x6c]
mov byte [esp + 0x4dc], 0xa
call eax
lea ecx, [esp + 0x1c4]
mov byte [esp + 0x4d8], 8
call fcn.1000d9b0
mov ecx, esi
call fcn.10073d60
lea ecx, [esp + 0x68]
push str.Group
push ecx
call fcn.1000d6e0
add esp, 8
test al, al
je 0x10065f4f
cmp dword [esp + 0x1c], 0
je 0x10065e98
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
cmp esi, eax
jne 0x10065e01
call fcn.100bcb20
mov eax, dword [esp + 0x18]
mov ebp, dword [esi + 8]
mov esi, dword [eax]
cmp esi, eax
mov dword [esp + 0x20], ebp
jne 0x10065e1b
call fcn.100bcb20
mov eax, dword [esp + 0x18]
cmp esi, eax
je 0x10065e3c
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov dword [edx], eax
mov ecx, dword [esi]
mov edx, dword [esi + 4]
push esi
mov dword [ecx + 4], edx
call fcn.100bbe20
mov eax, dword [esp + 0x1c]
add esp, 4
sub dword [esp + 0x1c], 1
cmp dword [esp + 0x24], 0
jle 0x10065e98
cmp dword [eax], eax
jne 0x10065e50
call fcn.100bcb20
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x18]
push ecx
lea eax, [esp + 0x2a4]
push eax
call fcn.10065840
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
cmp esi, eax
jne 0x10065e78
call fcn.100bcb20
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, dword [esi + 8]
push eax
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x2bc]
push ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x2c], ebp
call fcn.10065840
push str.Group
lea ecx, [esp + 0x358]
call fcn.10026a80
mov edx, dword [esp + 0x3c]
mov esi, eax
mov ebx, dword [esi]
mov eax, dword [edx + 0x50]
lea ecx, [esp + 0x3c]
add ebx, 0xa8
call eax
mov edx, dword [ebx]
push eax
push 0x10181a50
mov ecx, esi
call edx
mov eax, dword [ebp]
mov edx, dword [eax + 0x38]
push esi
mov ecx, ebp
call edx
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov edx, dword [esi + 4]
lea ecx, [esp + 0x20]
push ecx
lea eax, [esp + 0x18]
push edx
push esi
mov ecx, eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], esi
call fcn.10065760
push 1
lea ecx, [esp + 0x18]
mov ebx, eax
call fcn.100658f0
mov ecx, dword [esp + 0xf0]
mov dword [esi + 4], ebx
mov eax, dword [ebx + 4]
mov dword [eax], ebx
mov esi, dword [esi + 4]
cmp esi, dword [ecx + 4]
jne 0x10065f29
call fcn.100bcb20
mov edx, dword [esp + 0x3c]
mov esi, dword [ebp]
mov eax, dword [edx + 0x50]
lea ecx, [esp + 0x3c]
add esi, 0xbc
call eax
push eax
push 0x10181a50
push str.Group
jmp 0x100662c0
lea eax, [esp + 0x68]
push 0x10181a44
push eax
call fcn.1000d6e0
add esp, 8
test al, al
je 0x100660d3
cmp dword [esp + 0x24], 0
jle 0x10065fa3
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
cmp esi, eax
jne 0x10065f83
call fcn.100bcb20
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, dword [esi + 8]
push eax
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x2c4]
push ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x2c], ebp
call fcn.10065840
add dword [esp + 0x24], 1
push str.Group
lea ecx, [esp + 0x358]
call fcn.10026a80
mov edx, dword [esp + 0x3c]
mov esi, eax
mov ebx, dword [esi]
mov eax, dword [edx + 0x50]
lea ecx, [esp + 0x3c]
add ebx, 0xa8
call eax
mov edx, dword [ebx]
push eax
push 0x10181a50
mov ecx, esi
call edx
push 0x4d
lea ecx, [esp + 0xe4]
call fcn.1000d900
mov eax, dword [esp + 0x24]
push eax
lea ecx, [esp + 0xe4]
mov byte [esp + 0x4dc], 0xb
call fcn.1000ee10
mov edx, dword [esp + 0xe0]
mov ebx, dword [esi]
mov eax, dword [edx + 0x50]
lea ecx, [esp + 0xe0]
add ebx, 0xa8
call eax
mov edx, dword [ebx]
push eax
push str.index
mov ecx, esi
call edx
mov eax, dword [ebp]
mov edx, dword [eax + 0x38]
push esi
mov ecx, ebp
call edx
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov edx, dword [esi + 4]
lea ecx, [esp + 0x20]
push ecx
lea eax, [esp + 0x18]
push edx
push esi
mov ecx, eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], esi
call fcn.10065760
push 1
lea ecx, [esp + 0x18]
mov ebx, eax
call fcn.100658f0
mov dword [esi + 4], ebx
mov eax, dword [ebx + 4]
mov dword [eax], ebx
mov esi, dword [esi + 4]
mov eax, dword [esp + 0x100]
cmp esi, dword [eax + 4]
jne 0x10066087
call fcn.100bcb20
mov edx, dword [esp + 0xe0]
mov esi, dword [ebp]
mov eax, dword [edx + 0x50]
lea ecx, [esp + 0xe0]
add esi, 0xbc
call eax
mov edx, dword [esi]
push eax
push str.index
push str.Group
mov ecx, ebp
call edx
mov ebp, eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x20], ebp
mov byte [esp + 0x4d8], 8
call fcn.1000d9b0
jmp 0x100671e9
lea eax, [esp + 0x68]
push str.List
push eax
call fcn.1000d6e0
add esp, 8
test al, al
je 0x100661b8
push str.List
lea ecx, [esp + 0x358]
call fcn.10026a80
mov edx, dword [esp + 0x3c]
mov esi, eax
mov ebx, dword [esi]
mov eax, dword [edx + 0x50]
lea ecx, [esp + 0x3c]
add ebx, 0xa8
call eax
mov edx, dword [ebx]
push eax
push 0x10181a50
mov ecx, esi
call edx
mov eax, dword [ebp]
mov edx, dword [eax + 0x38]
push esi
mov ecx, ebp
call edx
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov edx, dword [esi + 4]
lea ecx, [esp + 0x20]
push ecx
lea eax, [esp + 0x18]
push edx
push esi
mov ecx, eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], esi
call fcn.10065760
push 1
lea ecx, [esp + 0x18]
mov ebx, eax
call fcn.100658f0
mov ecx, dword [esp + 0xf8]
mov dword [esi + 4], ebx
mov eax, dword [ebx + 4]
mov dword [eax], ebx
mov esi, dword [esi + 4]
cmp esi, dword [ecx + 4]
jne 0x1006617e
call fcn.100bcb20
mov edx, dword [esp + 0x3c]
mov esi, dword [ebp]
mov eax, dword [edx + 0x50]
lea ecx, [esp + 0x3c]
add esi, 0xbc
call eax
mov edx, dword [esi]
push eax
push 0x10181a50
push str.List
mov ecx, ebp
call edx
mov ebp, eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], 0
jmp 0x100671e9
lea eax, [esp + 0x68]
push str.List2
push eax
call fcn.1000d6e0
add esp, 8
test al, al
je 0x100662d9
cmp dword [esp + 0x1c], 0
je 0x10066242
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
cmp esi, eax
jne 0x100661ec
call fcn.100bcb20
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, dword [esi + 8]
push eax
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x184]
push ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x2c], ebp
call fcn.10065840
cmp dword [esp + 0x1c], 0
je 0x10066242
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
cmp esi, eax
jne 0x10066226
call fcn.100bcb20
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, dword [esi + 8]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x28c]
push edx
mov dword [esp + 0x2c], ebp
call fcn.10065840
push str.List
lea ecx, [esp + 0x358]
call fcn.10026a80
mov esi, eax
mov eax, dword [esp + 0x3c]
mov ebx, dword [esi]
mov edx, dword [eax + 0x50]
lea ecx, [esp + 0x3c]
add ebx, 0xa8
call edx
push eax
mov eax, dword [ebx]
push 0x10181a50
mov ecx, esi
call eax
mov edx, dword [ebp]
mov eax, dword [edx + 0x38]
push esi
mov ecx, ebp
call eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
lea edx, [esp + 0x20]
push edx
push eax
lea ecx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x1a0]
push eax
call fcn.100659d0
mov edx, dword [esp + 0x3c]
mov esi, dword [ebp]
mov eax, dword [edx + 0x50]
lea ecx, [esp + 0x3c]
add esi, 0xbc
call eax
push eax
push 0x10181a50
push str.List
mov edx, dword [esi]
mov ecx, ebp
call edx
mov ebp, eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], 0
jmp 0x100671e9
lea eax, [esp + 0x68]
push str.EXIT_LIST
push eax
call fcn.1000d6e0
add esp, 8
test al, al
je 0x1006636c
cmp dword [esp + 0x1c], 0
je 0x1006635f
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
cmp esi, eax
jne 0x10066309
call fcn.100bcb20
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, dword [esi + 8]
push eax
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x2dc]
push ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x2c], ebp
call fcn.10065840
cmp dword [esp + 0x1c], 0
je 0x1006635f
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
cmp esi, eax
jne 0x10066343
call fcn.100bcb20
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, dword [esi + 8]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x1b4]
push edx
mov dword [esp + 0x2c], ebp
call fcn.10065840
mov dword [esp + 0x24], 0
jmp 0x100671e9
push 0x10181a54
lea ecx, [esp + 0x358]
call fcn.10026a80
mov ebx, dword [eax]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [eax + 0x50]
lea ecx, [esp + 0x3c]
add ebx, 0xa8
call edx
mov ecx, dword [esp + 0x28]
push eax
mov eax, dword [ebx]
push 0x10181a50
call eax
xor ebx, ebx
mov dword [esp + 0x44c], 0xf
mov dword [esp + 0x448], ebx
mov byte [esp + 0x438], bl
mov dword [esp + 0x484], 7
mov dword [esp + 0x480], ebx
mov word [esp + 0x470], bx
lea ecx, [esp + 0xc0]
mov byte [esp + 0x4d8], 0xd
call fcn.100774f0
mov dword [esp + 0x4bc], 7
mov dword [esp + 0x4b8], ebx
mov word [esp + 0x4a8], bx
mov edx, dword [edi]
mov edx, dword [edx + 0x70]
lea eax, [esp + 0x4a4]
push eax
mov ecx, edi
mov byte [esp + 0x4dc], 0xf
call edx
mov eax, dword [esp + 0x4b8]
push 4
push 0x10180864
push eax
push ebx
lea ecx, [esp + 0x4b4]
call fcn.100084b0
test eax, eax
jne 0x10066c74
lea ecx, [esp + 0x1e4]
push ecx
mov ecx, esi
call fcn.10073d40
mov dword [esp + 0x2c], eax
mov ebx, dword [eax]
push 1
mov byte [esp + 0x4dc], 0x10
add ebx, 0x18
call fcn.1002e8d0
mov ecx, dword [esp + 0x30]
sub eax, 1
neg eax
sbb eax, eax
add eax, 0x56
push eax
mov eax, dword [ebx]
lea edx, [esp + 0x154]
push edx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x54]
mov byte [esp + 0x4d8], 0x11
call eax
push eax
lea ecx, [esp + 0x48c]
call fcn.10003950
mov edx, dword [edi]
mov edx, dword [edx + 8]
lea eax, [esp + 0x46c]
push eax
lea ecx, [esp + 0x48c]
push ecx
mov ecx, edi
mov byte [esp + 0x4e0], 0x12
call edx
cmp dword [esp + 0x4a0], 8
jb 0x100664df
mov eax, dword [esp + 0x48c]
push eax
call fcn.100bbe20
add esp, 4
xor ebx, ebx
lea ecx, [esp + 0x14c]
mov dword [esp + 0x4a0], 7
mov dword [esp + 0x49c], ebx
mov word [esp + 0x48c], bx
mov byte [esp + 0x4d8], 0x10
call fcn.1000d9b0
lea ecx, [esp + 0x1e4]
mov byte [esp + 0x4d8], 0xf
call fcn.1000d9b0
mov ecx, dword [esp + 0x480]
push 4
push str.Byte
push ecx
push ebx
lea ecx, [esp + 0x47c]
call fcn.100084b0
test eax, eax
jne 0x10066611
lea edx, [esp + 0x204]
push edx
mov ecx, esi
call fcn.10073d40
mov ebx, eax
mov esi, dword [ebx]
push 1
mov byte [esp + 0x4dc], 0x13
add esi, 0x18
call fcn.1002e8d0
mov edx, dword [esi]
sub eax, 1
neg eax
sbb eax, eax
add eax, 0x56
push eax
lea eax, [esp + 0x2ac]
push eax
mov ecx, ebx
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x54]
mov byte [esp + 0x4d8], 0x14
call eax
push eax
lea ecx, [esp + 0x454]
call fcn.10003950
mov edx, dword [edi]
mov edx, dword [edx + 0x10]
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x454]
push ecx
mov ecx, edi
mov byte [esp + 0x4e0], 0x15
call edx
lea ecx, [esp + 0x450]
call fcn.10003250
lea ecx, [esp + 0x2a4]
mov byte [esp + 0x4d8], 0x13
call fcn.1000d9b0
lea ecx, [esp + 0x204]
mov byte [esp + 0x4d8], 0xf
call fcn.1000d9b0
mov eax, dword [esp + 0x9c]
push eax
lea ecx, [esp + 0xc4]
call fcn.100753a0
jmp 0x100670d4
push str.UShort
lea ecx, [esp + 0x470]
call fcn.100088b0
test eax, eax
jne 0x100666f4
lea ecx, [esp + 0x224]
push ecx
mov ecx, esi
call fcn.10073d40
mov ebx, eax
mov esi, dword [ebx]
push 1
mov byte [esp + 0x4dc], 0x16
add esi, 0x18
call fcn.1002e8d0
sub eax, 1
neg eax
sbb eax, eax
add eax, 0x56
push eax
mov eax, dword [esi]
lea edx, [esp + 0x2e4]
push edx
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x54]
mov byte [esp + 0x4d8], 0x17
call eax
push eax
lea ecx, [esp + 0x454]
call fcn.10003950
mov edx, dword [edi]
mov edx, dword [edx + 0x14]
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x454]
push ecx
mov ecx, edi
mov byte [esp + 0x4e0], 0x18
call edx
lea ecx, [esp + 0x450]
call fcn.10003250
lea ecx, [esp + 0x2dc]
mov byte [esp + 0x4d8], 0x16
call fcn.1000d9b0
lea ecx, [esp + 0x224]
mov byte [esp + 0x4d8], 0xf
call fcn.1000d9b0
mov eax, dword [esp + 0x88]
push eax
lea ecx, [esp + 0xc4]
call fcn.100753f0
jmp 0x100670d4
push str.ULong
lea ecx, [esp + 0x470]
call fcn.100088b0
test eax, eax
jne 0x100667d7
lea ecx, [esp + 0x244]
push ecx
mov ecx, esi
call fcn.10073d40
mov ebx, eax
mov esi, dword [ebx]
push 1
mov byte [esp + 0x4dc], 0x19
add esi, 0x18
call fcn.1002e8d0
sub eax, 1
neg eax
sbb eax, eax
add eax, 0x56
push eax
mov eax, dword [esi]
lea edx, [esp + 0x2cc]
push edx
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x54]
mov byte [esp + 0x4d8], 0x1a
call eax
push eax
lea ecx, [esp + 0x454]
call fcn.10003950
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x454]
push ecx
mov ecx, edi
mov byte [esp + 0x4e0], 0x1b
call edx
lea ecx, [esp + 0x450]
call fcn.10003250
lea ecx, [esp + 0x2c4]
mov byte [esp + 0x4d8], 0x19
call fcn.1000d9b0
lea ecx, [esp + 0x244]
mov byte [esp + 0x4d8], 0xf
call fcn.1000d9b0
mov eax, dword [esp + 0x90]
push eax
lea ecx, [esp + 0xc4]
call fcn.10075440
jmp 0x100670d4
push str.ByteArray
lea ecx, [esp + 0x470]
call fcn.100088b0
test eax, eax
jne 0x1006690f
lea ecx, [esp + 0xb0]
call fcn.10069fd0
lea ecx, [esp + 0x264]
push ecx
mov ecx, esi
mov byte [esp + 0x4dc], 0x1c
call fcn.10073d40
mov ebx, eax
mov esi, dword [ebx]
push 1
mov byte [esp + 0x4dc], 0x1d
add esi, 0x18
call fcn.1002e8d0
sub eax, 1
neg eax
sbb eax, eax
add eax, 0x56
push eax
mov eax, dword [esi]
lea edx, [esp + 0x294]
push edx
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x54]
mov byte [esp + 0x4d8], 0x1e
call eax
push eax
lea ecx, [esp + 0x454]
call fcn.10003950
mov edx, dword [edi]
mov edx, dword [edx + 0x38]
lea eax, [esp + 0x434]
push eax
lea ecx, [esp + 0x454]
push ecx
mov ecx, edi
mov byte [esp + 0x4e0], 0x1f
call edx
lea ecx, [esp + 0x450]
call fcn.10003250
lea ecx, [esp + 0x28c]
mov byte [esp + 0x4d8], 0x1d
call fcn.1000d9b0
lea ecx, [esp + 0x264]
mov byte [esp + 0x4d8], 0x1c
call fcn.1000d9b0
cmp dword [esp + 0x44c], 0x10
mov eax, dword [esp + 0x438]
jae 0x100668cd
lea eax, [esp + 0x438]
mov ecx, dword [esp + 0x448]
push ecx
push eax
lea ecx, [esp + 0xb8]
call fcn.1006a350
lea edx, [esp + 0xb0]
push edx
lea ecx, [esp + 0xc4]
call fcn.10075800
lea ecx, [esp + 0xb0]
mov byte [esp + 0x4d8], 0xf
call fcn.1006a7e0
jmp 0x100670d4
push str.String
lea ecx, [esp + 0x470]
call fcn.100088b0
test eax, eax
jne 0x10066a05
lea eax, [esp + 0x16c]
push eax
mov ecx, esi
call fcn.10073d40
mov ebx, eax
mov esi, dword [ebx]
push 1
mov byte [esp + 0x4dc], 0x20
add esi, 0x18
call fcn.1002e8d0
mov edx, dword [esi]
sub eax, 1
neg eax
sbb eax, eax
add eax, 0x56
push eax
lea ecx, [esp + 0x164]
push ecx
mov ecx, ebx
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x54]
mov byte [esp + 0x4d8], 0x21
call eax
push eax
lea ecx, [esp + 0x454]
call fcn.10003950
mov edx, dword [edi]
mov edx, dword [edx + 0x38]
lea eax, [esp + 0x434]
push eax
lea ecx, [esp + 0x454]
push ecx
mov ecx, edi
mov byte [esp + 0x4e0], 0x22
call edx
lea ecx, [esp + 0x450]
call fcn.10003250
lea ecx, [esp + 0x15c]
mov byte [esp + 0x4d8], 0x20
call fcn.1000d9b0
lea ecx, [esp + 0x16c]
mov byte [esp + 0x4d8], 0xf
call fcn.1000d9b0
cmp dword [esp + 0x44c], 0x10
mov eax, dword [esp + 0x438]
jae 0x100669f1
lea eax, [esp + 0x438]
push 0x4d
push eax
lea ecx, [esp + 0xc8]
call fcn.100755b0
jmp 0x100670d4
push str.MACAddress
lea ecx, [esp + 0x470]
call fcn.100088b0
test eax, eax
jne 0x10066b3f
lea eax, [esp + 0x19c]
push eax
mov ecx, esi
call fcn.10073d40
mov ebx, eax
mov esi, dword [ebx]
push 1
mov byte [esp + 0x4dc], 0x23
add esi, 0x18
call fcn.1002e8d0
mov edx, dword [esi]
sub eax, 1
neg eax
sbb eax, eax
add eax, 0x56
push eax
lea ecx, [esp + 0x18c]
push ecx
mov ecx, ebx
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x54]
mov byte [esp + 0x4d8], 0x24
call eax
push eax
lea ecx, [esp + 0x454]
call fcn.10003950
mov edx, dword [edi]
mov edx, dword [edx + 0x38]
lea eax, [esp + 0x434]
push eax
lea ecx, [esp + 0x454]
push ecx
mov ecx, edi
mov byte [esp + 0x4e0], 0x25
call edx
lea ecx, [esp + 0x450]
call fcn.10003250
lea ecx, [esp + 0x184]
mov byte [esp + 0x4d8], 0x23
call fcn.1000d9b0
lea ecx, [esp + 0x19c]
mov byte [esp + 0x4d8], 0xf
call fcn.1000d9b0
mov eax, dword [esp + 0x438]
mov esi, 0x10
cmp dword [esp + 0x44c], esi
jae 0x10066aeb
lea eax, [esp + 0x438]
push eax
lea ecx, [esp + 0x4c4]
call fcn.100a45f0
cmp dword [esp + 0x44c], esi
mov eax, dword [esp + 0x438]
mov byte [esp + 0x4d8], 0x26
jae 0x10066b17
lea eax, [esp + 0x438]
push 0x4d
push eax
lea ecx, [esp + 0xc8]
call fcn.100755b0
lea ecx, [esp + 0x4c0]
mov byte [esp + 0x4d8], 0xf
call fcn.100a43a0
jmp 0x100670d4
push str.IPAddress
lea ecx, [esp + 0x470]
call fcn.100088b0
test eax, eax
jne 0x100670d4
push eax
push eax
push eax
push 1
lea ecx, [esp + 0x130]
call fcn.100a2850
lea eax, [esp + 0x1d4]
push eax
mov ecx, esi
mov byte [esp + 0x4dc], 0x27
call fcn.10073d40
mov ebx, eax
mov esi, dword [ebx]
push 1
mov byte [esp + 0x4dc], 0x28
add esi, 0x18
call fcn.1002e8d0
mov edx, dword [esi]
sub eax, 1
neg eax
sbb eax, eax
add eax, 0x56
push eax
lea ecx, [esp + 0x1bc]
push ecx
mov ecx, ebx
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x54]
mov byte [esp + 0x4d8], 0x29
call eax
push eax
lea ecx, [esp + 0x454]
call fcn.10003950
mov edx, dword [edi]
mov edx, dword [edx + 0x38]
lea eax, [esp + 0x434]
push eax
lea ecx, [esp + 0x454]
push ecx
mov ecx, edi
mov byte [esp + 0x4e0], 0x2a
call edx
lea ecx, [esp + 0x450]
call fcn.10003250
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x4d8], 0x28
call fcn.1000d9b0
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x4d8], 0x27
call fcn.1000d9b0
cmp dword [esp + 0x44c], 0x10
mov eax, dword [esp + 0x438]
jae 0x10066c3a
lea eax, [esp + 0x438]
push eax
lea ecx, [esp + 0x124]
call fcn.1009fff0
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0xc4]
call fcn.100758e0
lea ecx, [esp + 0x120]
mov byte [esp + 0x4d8], 0xf
call fcn.1009be70
jmp 0x100670d4
lea ecx, [esp + 0x4a4]
push 0x10180808
push ecx
call fcn.1004c140
add esp, 8
test al, al
je 0x100670d4
push 0x4d
lea ecx, [esp + 0x7c]
call fcn.1000d900
xor eax, eax
mov ecx, 7
mov dword [esp + 0x468], ecx
mov dword [esp + 0x464], eax
mov word [esp + 0x454], ax
mov dword [esp + 0x4a0], ecx
mov dword [esp + 0x49c], eax
mov word [esp + 0x48c], ax
lea edx, [esp + 0x214]
push edx
mov ecx, esi
mov byte [esp + 0x4dc], 0x2d
call fcn.10073d40
mov ebx, eax
mov esi, dword [ebx]
push 1
mov byte [esp + 0x4dc], 0x2e
add esi, 0x18
call fcn.1002e8d0
mov edx, dword [esi]
sub eax, 1
neg eax
sbb eax, eax
add eax, 0x56
push eax
lea eax, [esp + 0x1fc]
push eax
mov ecx, ebx
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x54]
mov byte [esp + 0x4d8], 0x2f
call eax
push eax
lea ecx, [esp + 0x454]
call fcn.10009520
lea ecx, [esp + 0x1f4]
mov byte [esp + 0x4d8], 0x2e
call fcn.1000d9b0
lea ecx, [esp + 0x214]
mov byte [esp + 0x4d8], 0x2d
call fcn.1000d9b0
push str.Alias
lea ecx, [esp + 0x454]
call fcn.10009570
lea ecx, [esp + 0x488]
push ecx
lea edx, [esp + 0x4a8]
push edx
lea eax, [esp + 0x458]
push eax
call fcn.10019f40
add esp, 0xc
cmp dword [esp + 0x4a0], 8
jb 0x10066da3
mov ecx, dword [esp + 0x48c]
mov dword [esp + 0x2c], ecx
jmp 0x10066dae
lea edx, [esp + 0x48c]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
push 0
push eax
push 0
call fcn.100bce95
lea esi, [eax + 1]
push esi
call fcn.100b9926
mov ecx, dword [esp + 0x3c]
push esi
mov ebx, eax
push ecx
push ebx
call fcn.100bce95
mov edx, dword [esp + 0x94]
mov eax, dword [edx + 0x34]
add esp, 0x1c
push ebx
lea ecx, [esp + 0x7c]
call eax
push ebx
call fcn.100bcb83
add esp, 4
lea ecx, [esp + 0x120]
call fcn.100774f0
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov edx, dword [edi]
mov edx, dword [edx]
lea eax, [esp + 0x58]
push eax
mov ecx, edi
mov byte [esp + 0x4dc], 0x31
call edx
push 0x10181884
lea ecx, [esp + 0x7c]
call fcn.1000dc80
test eax, eax
jne 0x10066e43
mov eax, dword [esp + 0x78]
mov edx, dword [eax + 0x34]
push 0x10183870
lea ecx, [esp + 0x7c]
call edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x5c]
call fcn.10003280
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x60]
cmp dword [esp + 0x5c], eax
mov ebx, eax
jbe 0x10066e66
call fcn.100bcb20
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10066e76
lea ecx, [esp + 0x58]
cmp eax, ecx
je 0x10066e7b
call fcn.100bcb20
cmp esi, ebx
je 0x1006708a
push 1
call fcn.1002e8d0
sub eax, 1
neg eax
sbb eax, eax
add eax, 0x56
push eax
lea edx, [esp + 0x23c]
push edx
lea ecx, [esp + 0x84]
call fcn.1000da60
mov ebx, eax
cmp dword [esp + 0x34], 0
mov byte [esp + 0x4d8], 0x32
jne 0x10066ebf
call fcn.100bcb20
mov eax, dword [esp + 0x34]
cmp esi, dword [eax + 8]
jb 0x10066ecd
call fcn.100bcb20
mov edx, dword [ebx]
mov eax, dword [edx + 0x54]
mov ecx, ebx
call eax
mov ecx, eax
lea ebx, [ecx + 2]
jmp 0x10066ee0
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x10066ee0
sub ecx, ebx
sar ecx, 1
push ecx
push 0
push eax
mov ecx, esi
call fcn.100082f0
cmp eax, 0xffffffff
lea ecx, [esp + 0x234]
setne bl
mov byte [esp + 0x4d8], 0x31
call fcn.1000d9b0
test bl, bl
jne 0x10066f2e
mov ecx, dword [esp + 0x34]
cmp esi, dword [ecx + 8]
jb 0x10066f26
call fcn.100bcb20
add esi, 0x1c
jmp 0x10066e55
mov dword [esp + 0x38], esi
mov esi, dword [edi]
lea edx, [esp + 0x98]
push edx
lea ecx, [esp + 0x38]
add esi, 4
call fcn.10008220
push eax
mov eax, dword [esi]
mov ecx, edi
call eax
mov eax, dword [esp + 0x98]
add eax, 0x7fffffff
cmp eax, 0x42
ja case.0x10066f6b.2147483645
movzx ecx, byte [eax + 0x100673e0]
jmp dword [ecx*4 + 0x100673c8]
mov esi, dword [edi]
lea edx, [esp + 0xa0]
push edx
lea ecx, [esp + 0x38]
add esi, 0x24
call fcn.10008220
push eax
mov eax, dword [esi]
mov ecx, edi
call eax
mov ecx, dword [esp + 0xa0]
push ecx
lea ecx, [esp + 0xc4]
call fcn.10075360
jmp case.0x10066f6b.2147483645
mov esi, dword [edi]
lea edx, [esp + 0xa8]
push edx
lea ecx, [esp + 0x38]
add esi, 0x30
call fcn.10008220
push eax
mov eax, dword [esi]
mov ecx, edi
call eax
mov ecx, dword [esp + 0xa8]
push ecx
lea ecx, [esp + 0xc4]
call fcn.10075420
jmp case.0x10066f6b.2147483645
mov esi, dword [edi]
lea edx, [esp + 0x434]
push edx
lea ecx, [esp + 0x38]
add esi, 0x38
call fcn.10008220
push eax
mov eax, dword [esi]
mov ecx, edi
call eax
cmp dword [esp + 0x44c], 0x10
mov eax, dword [esp + 0x438]
jae 0x10067013
lea eax, [esp + 0x438]
push 0x4d
push eax
lea ecx, [esp + 0xc8]
call fcn.100755b0
jmp case.0x10066f6b.2147483645
mov esi, dword [edi]
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x38]
add esi, 0x30
call fcn.10008220
mov edx, dword [esi]
push eax
mov ecx, edi
call edx
mov eax, dword [esp + 0x94]
push eax
lea ecx, [esp + 0xc4]
call fcn.10075420
jmp case.0x10066f6b.2147483645
mov esi, dword [edi]
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x38]
add esi, 0x30
call fcn.10008220
mov edx, dword [esi]
push eax
mov ecx, edi
call edx
mov eax, dword [esp + 0x8c]
push eax
lea ecx, [esp + 0xc4]
call fcn.10075420
jmp case.0x10066f6b.2147483645
mov dword [esp + 0x38], esi
lea ecx, [esp + 0x58]
call fcn.1000b000
lea ecx, [esp + 0x120]
mov byte [esp + 0x4d8], 0x2d
call fcn.10077540
lea ecx, [esp + 0x488]
call fcn.10003250
lea ecx, [esp + 0x450]
call fcn.10003250
lea ecx, [esp + 0x78]
mov byte [esp + 0x4d8], 0xf
call fcn.1000d9b0
push 0
lea ecx, [esp + 0x258]
push ecx
lea ecx, [esp + 0xc8]
call fcn.1007abd0
mov ebx, dword [esp + 0x28]
mov edx, dword [eax]
mov esi, dword [ebx]
mov ecx, eax
mov eax, dword [edx + 0x50]
mov byte [esp + 0x4d8], 0x33
add esi, 0xc8
call eax
mov edx, dword [esi]
push eax
mov ecx, ebx
call edx
lea ecx, [esp + 0x254]
mov byte [esp + 0x4d8], 0xf
call fcn.1000d9b0
mov eax, dword [ebp]
mov edx, dword [eax + 0x38]
push ebx
mov ecx, ebp
call edx
mov ebx, 8
cmp dword [esp + 0x4bc], ebx
jb 0x1006714b
mov eax, dword [esp + 0x4a8]
push eax
call fcn.100bbe20
add esp, 4
xor esi, esi
lea ecx, [esp + 0xc0]
mov dword [esp + 0x4bc], 7
mov dword [esp + 0x4b8], esi
mov word [esp + 0x4a8], si
mov byte [esp + 0x4d8], 0xd
call fcn.10077540
cmp dword [esp + 0x484], ebx
jb 0x10067194
mov ecx, dword [esp + 0x470]
push ecx
call fcn.100bbe20
add esp, 4
cmp dword [esp + 0x44c], 0x10
mov dword [esp + 0x484], 7
mov dword [esp + 0x480], esi
mov word [esp + 0x470], si
mov byte [esp + 0x4d8], bl
jb 0x100671cf
mov edx, dword [esp + 0x438]
push edx
call fcn.100bbe20
add esp, 4
mov dword [esp + 0x44c], 0xf
mov dword [esp + 0x448], esi
mov byte [esp + 0x438], 0
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
cmp esi, dword [eax + 4]
jne 0x100671fb
call fcn.100bcb20
mov ecx, dword [esi]
mov dword [esp + 0x50], ecx
jmp 0x10065d20
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov dword [ecx], ecx
mov ecx, dword [esp + 0x18]
mov dword [ecx + 4], ecx
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x1c], 0
je 0x10067236
mov esi, dword [eax]
push eax
call fcn.100bbe20
add esp, 4
cmp esi, dword [esp + 0x18]
mov eax, esi
jne 0x10067223
push 1
lea ecx, [esp + 0x358]
call fcn.10026a10
push 1
lea ecx, [esp + 0x358]
call fcn.100269d0
push 0
lea ecx, [esp + 0x358]
call fcn.100269f0
push 0x10181250
lea ecx, [esp + 0x358]
call fcn.10026a60
lea edx, [esp + 0x2fc]
push edx
lea ecx, [esp + 0x358]
call fcn.1002b9d0
lea ecx, [esp + 0x354]
call fcn.10026770
lea ecx, [esp + 0x2fc]
call fcn.10025ae0
mov esi, eax
mov eax, dword [esp + 0xac]
test eax, eax
je 0x100672b6
mov edi, dword [eax]
test edi, edi
je 0x100672b6
mov ebx, dword [esp + 0x54]
jmp 0x100672e5
lea eax, [esi + 1]
push eax
call fcn.100b9926
mov ebx, dword [esp + 0x58]
add esp, 4
push eax
mov ecx, ebx
call fcn.1001d280
mov ecx, eax
call fcn.1001d940
mov ecx, ebx
call fcn.1001d280
mov ecx, eax
call fcn.1001d9d0
mov edi, eax
push 0
lea ecx, [esp + 0x300]
call fcn.10024590
push esi
push edi
lea ecx, [esp + 0x304]
call fcn.10024a20
lea ecx, [esp + 0x2fc]
call fcn.10024a10
push esi
mov ecx, ebx
mov byte [edi + esi], 0
call fcn.1001d280
mov ecx, eax
call fcn.1001d9f0
lea ecx, [esp + 0x14]
call fcn.100656b0
lea ecx, [esp + 0x68]
mov byte [esp + 0x4d8], 6
call fcn.1000d9b0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x4d8], 5
call fcn.1000d9b0
lea ecx, [esp + 0x108]
mov byte [esp + 0x4d8], 2
call fcn.1000d9b0
lea ecx, [esp + 0x354]
mov byte [esp + 0x4d8], 1
call fcn.1002a9e0
lea ecx, [esp + 0x2fc]
mov byte [esp + 0x4d8], 0
call fcn.10026520
lea ecx, [esp + 0x274]
mov dword [esp + 0x4d8], 0xffffffff
call fcn.1000d9b0
mov ecx, dword [esp + 0x4d0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4b8]
xor ecx, esp
call fcn.100bc9af
add esp, 0x4c8
ret 0xc