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

Disassembly:
sub esp, 0x5c
mov eax, dword [esp + 0x60]
push ebx
push ebp
mov ebp, dword [esp + 0x6c]
mov ebx, dword [eax]
push esi
push edi
mov edi, dword [esp + 0x78]
mov esi, ecx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x14], ebx
mov ecx, dword [edi]
mov dword [eax], 0
mov dword [edi], 0
mov dword [esp + 0x10], ecx
mov dword [edx], 0
jmp 0x100d04f4
mov ebp, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x14]
cmp dword [esi], 6
jne 0x100d0740
sub ebx, dword [eax]
mov edi, ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esi + 0x140]
mov edx, dword [esi + 0x144]
mov dword [esp + 0x18], ebx
sub edi, dword [eax]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x24], eax
mov eax, ecx
and eax, edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], 0
cmp eax, 0xffffffff
je 0x100d057b
sub ecx, dword [esi + 0x18]
sbb edx, dword [esi + 0x1c]
xor eax, eax
cmp eax, edx
jb 0x100d055d
ja 0x100d0551
cmp edi, ecx
jb 0x100d055d
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], ecx
or ecx, edx
jne 0x100d057b
mov eax, dword [esi + 0x148]
cmp eax, dword [esi + 0x20]
jne 0x100d057b
mov eax, dword [esi + 0x14c]
cmp eax, dword [esi + 0x24]
je 0x100d0eab
mov ecx, dword [esi + 0x148]
mov eax, ecx
mov edx, dword [esi + 0x14c]
and eax, edx
cmp eax, 0xffffffff
je 0x100d05b5
sub ecx, dword [esi + 0x20]
sbb edx, dword [esi + 0x24]
xor eax, eax
cmp eax, edx
jb 0x100d05b5
ja 0x100d05a2
cmp ebx, ecx
jb 0x100d05b5
mov dword [esp + 0x28], 1
mov eax, 1
mov dword [esp + 0x18], ecx
jmp 0x100d05b9
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x1c]
lea ecx, [esi + 0x68]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x28]
mov edx, ebx
push eax
push ebp
push dword [esp + 0x38]
lea eax, [esp + 0x2c]
push eax
xor eax, eax
cmp dword [esi + 0x2f8], eax
cmovne edx, eax
call fcn.100ce400
mov ecx, dword [esi + 0x88]
mov edi, eax
mov eax, dword [esp + 0x84]
mov dword [eax], ecx
mov ecx, dword [esi + 0x2f8]
test ecx, ecx
je 0x100d060b
mov edx, dword [esi + 0x300]
add edx, ecx
jmp 0x100d060d
mov edx, ebx
mov ebx, dword [esp + 0x18]
lea ecx, [esi + 0x1d8]
push ebx
call fcn.100cde60
cmp dword [esi + 0x2f8], 0
jne 0x100d062a
add dword [esp + 0x1c], ebx
add dword [esi + 0x300], ebx
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x20]
add ebp, eax
mov dword [esp + 0x74], ebp
mov ebp, 0
add dword [ecx], eax
add dword [esi + 0x18], eax
mov eax, dword [esp + 0x70]
adc dword [esi + 0x1c], 0
add dword [eax], ebx
add ebx, dword [esi + 0x20]
mov dword [esi + 0x20], ebx
adc ebp, dword [esi + 0x24]
mov dword [esi + 0x24], ebp
test edi, edi
jne 0x100d0eba
mov edx, dword [esp + 0x84]
mov ecx, dword [edx]
cmp ecx, 1
jne 0x100d0e8a
mov cx, word [esi + 0x10]
call fcn.100cdec0
mov edx, dword [esi + 0x14]
xor ecx, ecx
add edx, dword [esi + 0x18]
adc ecx, dword [esi + 0x1c]
add edx, eax
adc ecx, edi
push ecx
push edx
lea ecx, [esp + 0x34]
call fcn.100cdf20
mov edi, eax
lea ecx, [esp + 0x2c]
push ebp
push ebx
add ecx, edi
call fcn.100cdf20
add edi, eax
lea ecx, [esi + 0x268]
push edi
lea edx, [esp + 0x30]
call fcn.100d5530
add dword [esi + 0x30], edi
mov ebx, dword [esp + 0x84]
adc dword [esi + 0x34], 0
add dword [esi + 0x28], 1
mov dword [esi], 7
adc dword [esi + 0x2c], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [ebx], 0
mov ecx, dword [esi + 0x140]
mov eax, ecx
mov edx, dword [esi + 0x144]
and eax, edx
cmp eax, 0xffffffff
je 0x100d0713
cmp ecx, dword [esi + 0x18]
jne 0x100d0eab
cmp edx, dword [esi + 0x1c]
jne 0x100d0eab
mov ecx, dword [esi + 0x148]
mov eax, ecx
mov edx, dword [esi + 0x14c]
and eax, edx
cmp eax, 0xffffffff
je 0x100d073a
cmp ecx, dword [esi + 0x20]
jne 0x100d0eab
cmp edx, dword [esi + 0x24]
jne 0x100d0eab
mov edi, dword [esp + 0x78]
jmp 0x100d0747
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x10]
mov ecx, dword [edi]
sub ebp, ecx
jne 0x100d075a
cmp dword [esi], 7
jne 0x100d0f0b
mov eax, dword [esi]
cmp eax, 7
ja case.0x100d0765.6
jmp dword [eax*4 + 0x100d0f48]
mov ecx, dword [esi + 4]
cmp ecx, 0xc
jae 0x100d07ba
mov ebp, dword [esp + 0x74]
cmp ecx, 6
jae 0x100d078c
mov al, byte [ebp]
cmp al, byte [ecx + 0x100f76f0]
jne 0x100d0f36
cmp dword [esi + 0x2f0], 0
jne 0x100d0ee1
mov al, byte [ebp]
inc ebp
mov byte [ecx + esi + 0x324], al
inc dword [esi + 4]
inc dword [edi]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], ebp
jmp 0x100d04f0
movzx eax, byte [esi + 0x32a]
lea ecx, [esi + 0x32a]
movzx edx, byte [esi + 0x32b]
shl ax, 8
or dx, ax
mov word [esi + 0x10], dx
mov edx, 2
call fcn.100d4380
cmp eax, dword [esi + 0x32c]
jne 0x100d0ec6
movzx eax, word [esi + 0x10]
mov ecx, 0xf
cmp cx, ax
sbb ecx, ecx
and ecx, 4
cmp eax, 0xf
ja 0x100d0ecb
add dword [esi + 0x48], 1
lea ecx, [esi + 0x268]
mov dword [esi + 0x30], 0
adc dword [esi + 0x4c], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
call fcn.100d5c40
mov dword [esi], 5
mov dword [esi + 4], 0
nop word [eax + eax]
mov ebp, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
jmp 0x100d04f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x100d0915
mov ebp, dword [esp + 0x74]
movzx eax, byte [ebp]
inc ebp
mov byte [esi + 0x324], al
inc dword [esi + 4]
inc dword [edi]
mov al, byte [esi + 0x324]
mov dword [esp + 0x74], ebp
test al, al
jne 0x100d08fb
cmp dword [esi + 0x2f4], ecx
jne 0x100d0eab
push dword [esi + 0x2c]
lea ecx, [esi + 0x325]
push dword [esi + 0x28]
call fcn.100cdf20
inc eax
mov dword [esi + 0x3c], 0
add dword [esi + 0x30], eax
lea edx, [esi + 0x304]
lea ecx, [esi + 0x268]
mov dword [esi + 0xc], eax
adc dword [esi + 0x34], 0
mov dword [esi + 0x38], eax
call fcn.100d5b40
lea ecx, [esi + 0x268]
call fcn.100d5c40
push dword [esi + 0xc]
lea edx, [esi + 0x324]
or ecx, 0xffffffff
call fcn.100d44f0
mov dword [esi + 0x60], eax
mov dword [esi], 1
jmp 0x100d04e4
mov ecx, dword [esp + 0x10]
movzx eax, al
lea eax, [eax*4 + 4]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x70]
jmp 0x100d04f0
mov eax, dword [esi + 0x14]
cmp ecx, eax
je 0x100d0954
mov ebx, dword [esp + 0x74]
sub eax, ecx
cmp eax, ebp
cmovbe ebp, eax
lea eax, [esi + 0x324]
push ebp
add eax, ecx
push ebx
push eax
call fcn.100d8b00
add dword [esi + 4], ebp
add esp, 0xc
add dword [edi], ebp
add ebx, ebp
mov eax, dword [esp + 0x70]
mov ebp, ebx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], ebx
jmp 0x100d04f0
lea ebp, [esi + 0x140]
lea edx, [esi + 0x324]
mov ecx, ebp
call fcn.100ce780
test eax, eax
jne 0x100d0f3b
movzx ebx, byte [ebp + 0x10]
and ebx, 3
mov eax, ebx
shl eax, 5
cmp dword [eax + ebp + 0x18], 0x21
jne 0x100d0eed
cmp dword [eax + ebp + 0x1c], 0
jne 0x100d0eed
cmp dword [eax + ebp + 0x20], 1
jne 0x100d0eed
cmp byte [eax + ebp + 0x24], 0x28
ja 0x100d0eed
xor edi, edi
test ebx, ebx
je 0x100d09f4
lea eax, [ebp + 0x20]
mov edx, dword [eax - 8]
mov ecx, dword [eax - 4]
cmp edx, 3
jne 0x100d09c4
test ecx, ecx
jne 0x100d09c4
cmp dword [eax], 1
jmp 0x100d09e6
add edx, 0xfffffffd
adc ecx, 0xffffffff
test ecx, ecx
ja 0x100d0eed
jb 0x100d09dd
cmp edx, 6
ja 0x100d0eed
mov ecx, dword [eax]
test ecx, ecx
je 0x100d09ec
cmp ecx, 4
jne 0x100d0eed
inc edi
add eax, 0x20
cmp edi, ebx
jb 0x100d09b0
add dword [esi + 0x58], 1
lea ecx, [esi + 0x1d8]
movzx edx, word [esi + 0x10]
adc dword [esi + 0x5c], 0
and edx, 0xf
mov dword [esi], 6
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
call fcn.100cde30
cmp dword [esi + 0x2e8], 0
jne 0x100d0ed7
push dword [esi + 0x2fc]
lea ecx, [esi + 0x68]
mov edx, ebp
push dword [esi + 0x2f8]
call fcn.100ce940
test eax, eax
jne 0x100d0f3b
jmp 0x100d04e0
mov eax, dword [esi + 0x18]
add eax, dword [esi + 8]
test al, 3
je 0x100d0a9b
test ebp, ebp
je 0x100d0f0b
mov ebp, dword [esp + 0x74]
lea eax, [ecx + 1]
mov dword [edi], eax
inc dword [esi + 8]
mov al, byte [ebp]
inc ebp
mov dword [esp + 0x74], ebp
test al, al
jne 0x100d0efc
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
jmp 0x100d04f0
mov cx, word [esi + 0x10]
call fcn.100cdec0
mov ecx, dword [esi + 4]
mov ebx, eax
sub eax, ecx
je 0x100d0af8
test ebp, ebp
je 0x100d0f1d
cmp eax, ebp
lea edi, [esi + 0x324]
cmovbe ebp, eax
lea eax, [edi + ecx]
push ebp
push dword [esp + 0x78]
push eax
call fcn.100d8b00
mov eax, dword [esp + 0x84]
add esp, 0xc
add dword [esi + 4], ebp
add dword [esp + 0x74], ebp
mov ecx, dword [esp + 0x10]
add dword [eax], ebp
mov ebp, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
cmp ebx, dword [esi + 4]
jne 0x100d04ec
jmp 0x100d0afe
lea edi, [esi + 0x324]
lea ecx, [esi + 0x1d8]
mov dword [esi], 5
lea edx, [esp + 0x2c]
mov dword [esi + 4], 0
call fcn.100cdda0
test eax, eax
je 0x100d0b7a
lea ecx, [esp + 0x2c]
sub ebx, 4
jb 0x100d0b38
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x100d0b3d
add ecx, 4
add edi, 4
sub ebx, 4
jae 0x100d0b27
cmp ebx, 0xfffffffc
je 0x100d0b7a
mov al, byte [ecx]
cmp al, byte [edi]
jne 0x100d0efc
cmp ebx, 0xfffffffd
je 0x100d0b7a
mov al, byte [ecx + 1]
cmp al, byte [edi + 1]
jne 0x100d0efc
cmp ebx, 0xfffffffe
je 0x100d0b7a
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x100d0efc
cmp ebx, 0xffffffff
je 0x100d0b7a
mov al, byte [ecx + 3]
cmp al, byte [edi + 3]
jne 0x100d0efc
cmp dword [esi + 0x2f4], 0
je 0x100d04e0
mov eax, dword [esp + 0x84]
pop edi
pop esi
pop ebp
mov dword [eax], 1
xor eax, eax
pop ebx
add esp, 0x5c
ret 0x18
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0xc]
jae 0x100d0bdc
mov ebp, dword [esp + 0x74]
lea eax, [ecx + 1]
mov dword [edi], eax
mov eax, dword [esi + 4]
mov dl, byte [ebp]
inc ebp
mov dword [esp + 0x74], ebp
mov cl, byte [eax + esi + 0x324]
inc eax
mov dword [esi + 4], eax
cmp dl, cl
jne 0x100d0efc
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
jmp 0x100d04f0
mov edi, dword [esi + 0x3c]
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x30]
cmp edi, edx
ja 0x100d0c46
jb 0x100d0bf2
cmp ecx, eax
jae 0x100d0c46
sub eax, ecx
sbb edx, edi
xor ecx, ecx
cmp ecx, edx
jb 0x100d0c04
ja 0x100d0c02
cmp ebp, eax
jbe 0x100d0c04
mov ebp, eax
mov ebx, dword [esp + 0x74]
mov edx, ebx
mov ecx, dword [esi + 0x60]
push ebp
call fcn.100d44f0
push ebp
lea ecx, [esi + 0x268]
mov dword [esi + 0x60], eax
mov edx, ebx
call fcn.100d5530
mov edi, dword [esp + 0x78]
add ebx, ebp
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], ebx
add dword [edi], ebp
add dword [esi + 0x38], ebp
mov ebp, ebx
adc dword [esi + 0x3c], 0
jmp 0x100d04f0
and ecx, 3
or ecx, 0
je 0x100d0c9d
mov ebp, dword [esp + 0x74]
mov ecx, dword [esi + 0x60]
mov edi, dword [esp + 0x78]
mov dl, byte [ebp]
inc ebp
movzx eax, dl
xor eax, ecx
mov dword [esp + 0x74], ebp
movzx eax, al
shr ecx, 8
xor ecx, dword [eax*4 + 0x10119c00]
mov dword [esi + 0x60], ecx
inc dword [edi]
add dword [esi + 0x38], 1
adc dword [esi + 0x3c], 0
add dword [esi + 0x30], 1
adc dword [esi + 0x34], 0
test dl, dl
jne 0x100d0efc
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
jmp 0x100d04f0
add eax, 4
mov dword [esi], 2
lea ecx, [esi + 0x268]
mov dword [esi + 0x30], eax
adc edx, 0
mov dword [esi + 4], 0
mov dword [esi + 0x34], edx
lea edx, [esp + 0x2c]
call fcn.100d5b40
lea edx, [esi + 0x304]
mov edi, 0x1c
lea ecx, [esp + 0x2c]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100d0efc
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100d0cd4
jmp 0x100d04e0
cmp dword [esi + 4], 4
jae 0x100d0d1f
mov ebp, dword [esp + 0x74]
lea eax, [ecx + 1]
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov al, byte [ebp]
mov byte [esi + ecx + 0x324], al
inc dword [esi + 4]
inc ebp
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], ebp
jmp 0x100d04f0
mov eax, dword [esi + 0x60]
not eax
mov dword [esi], 3
mov dword [esi + 4], 0
cmp eax, dword [esi + 0x324]
jne 0x100d0efc
mov ebp, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
jmp 0x100d04f0
mov ecx, dword [esi + 4]
mov eax, 0xc
mov ebx, dword [esp + 0x74]
sub eax, ecx
cmp eax, ebp
cmovbe ebp, eax
lea eax, [ecx + 0x324]
push ebp
add eax, esi
push ebx
push eax
call fcn.100d8b00
add dword [esi + 4], ebp
add ebx, ebp
add dword [edi], ebp
add esp, 0xc
cmp dword [esi + 4], 0xc
mov ebp, ebx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x14]
jne 0x100d04f4
add dword [esi + 0x50], 1
lea ecx, [esi + 0x328]
movzx edi, word [esi + 0x10]
mov edx, 4
adc dword [esi + 0x54], 0
mov dword [esi], 4
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov eax, dword [ecx]
mul edx
add eax, 4
adc edx, 0
cmp dword [esi + 0x30], eax
jne 0x100d0efc
cmp dword [esi + 0x34], edx
jne 0x100d0efc
mov edx, 6
call fcn.100d4380
cmp dword [esi + 0x324], eax
jne 0x100d0efc
movzx ecx, byte [esi + 0x32c]
movzx eax, byte [esi + 0x32d]
shl cx, 8
or cx, ax
cmp di, cx
jne 0x100d0efc
cmp byte [esi + 0x32e], 0x59
jne 0x100d0efc
cmp byte [esi + 0x32f], 0x5a
jne 0x100d0efc
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
jmp 0x100d04f4
mov ebp, dword [esp + 0x74]
cmp byte [ebp], 0
je 0x100d0e6b
test byte [esi + 0x40], 3
jne 0x100d0f36
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
mov dword [esi + 4], 0
mov dword [esi], 0
jmp 0x100d04f0
lea eax, [ecx + 1]
inc ebp
mov ecx, dword [esp + 0x10]
mov dword [edi], eax
add dword [esi + 0x40], 1
mov eax, dword [esp + 0x70]
adc dword [esi + 0x44], 0
mov dword [esp + 0x74], ebp
jmp 0x100d04f0
mov eax, dword [esi + 0x140]
cmp eax, dword [esi + 0x18]
jne 0x100d0ee1
mov eax, dword [esi + 0x144]
cmp eax, dword [esi + 0x1c]
jne 0x100d0ee1
cmp ecx, 3
jne 0x100d0ee1
mov dword [edx], 0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x5c
ret 0x18
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 0x18
mov ecx, 0x11
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x5c
ret 0x18
mov dword [esi + 0x2ec], 1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x5c
ret 0x18
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x5c
ret 0x18
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x5c
ret 0x18
pop edi
pop esi
pop ebp
mov dword [ebx], 3
xor eax, eax
pop ebx
add esp, 0x5c
ret 0x18
mov eax, dword [esp + 0x84]
pop edi
pop esi
pop ebp
mov dword [eax], 3
xor eax, eax
pop ebx
add esp, 0x5c
ret 0x18
mov eax, 0x11
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 0x18