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

Disassembly:
sub esp, 0x54
push ebx
mov ebx, dword [esp + 0x5c]
push esi
push edi
test ebx, ebx
jne 0x4171e7
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x54
ret
push 0x4c
call fcn.00433608
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x64], edi
jne 0x417207
pop edi
pop esi
mov eax, 0xa
pop ebx
add esp, 0x54
ret
mov ecx, 0x13
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x64]
mov eax, dword [ebx + 4]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x64]
mov edx, dword [ebx + 8]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x64]
mov ecx, dword [ebx + 0xc]
mov dword [edx + 0xc], ecx
mov eax, dword [ebx + 0x2c]
test eax, eax
jne 0x417292
mov eax, dword [ebx + 0x3c]
push 0x2f
push eax
call fcn.004324e0
mov edx, eax
add esp, 8
test edx, edx
je 0x417292
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x417292
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.00433608
mov edx, eax
add esp, 4
test edx, edx
mov dword [ebx + 0x2c], edx
je 0x417292
mov edi, dword [ebx + 0x3c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebx + 0x2c]
test edi, edi
je 0x4172b4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.00433608
mov ecx, dword [esp + 0x68]
add esp, 4
mov dword [ecx + 0x2c], eax
jmp 0x4172c5
push 1
call fcn.00433608
mov edx, dword [esp + 0x68]
add esp, 4
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x64]
mov edx, dword [eax + 0x2c]
test edx, edx
jne 0x4172dc
pop edi
pop esi
mov eax, 0xa
pop ebx
add esp, 0x54
ret
mov edi, dword [ebx + 0x2c]
test edi, edi
je 0x417302
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x417305
mov byte [edx], 0
mov edx, dword [esp + 0x64]
mov ecx, dword [ebx + 0x10]
lea edi, [esp + 0x10]
push ebp
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x68]
mov eax, dword [ebx + 0x14]
push 0x3f
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x6c]
mov edx, dword [ebx + 0x18]
mov dword [eax + 0x18], edx
mov edx, dword [esp + 0x6c]
mov ecx, dword [ebx + 0x1c]
mov dword [edx + 0x1c], ecx
mov ecx, dword [esp + 0x6c]
mov al, byte [ebx + 0x20]
mov byte [ecx + 0x20], al
mov eax, dword [esp + 0x6c]
mov dl, byte [ebx + 0x21]
mov byte [eax + 0x21], dl
mov edx, dword [esp + 0x6c]
mov cl, byte [ebx + 0x22]
mov byte [edx + 0x22], cl
mov ecx, dword [esp + 0x6c]
mov al, byte [ebx + 0x23]
mov byte [ecx + 0x23], al
mov eax, dword [esp + 0x6c]
mov dl, byte [ebx + 0x24]
mov byte [eax + 0x24], dl
mov edx, dword [esp + 0x6c]
mov cl, byte [ebx + 0x25]
mov byte [edx + 0x25], cl
mov ecx, dword [esp + 0x6c]
mov al, byte [ebx + 0x26]
mov byte [ecx + 0x26], al
mov eax, dword [esp + 0x6c]
mov dl, byte [ebx + 0x27]
mov byte [eax + 0x27], dl
mov edx, dword [esp + 0x6c]
mov cl, byte [ebx + 0x28]
mov byte [edx + 0x28], cl
mov ecx, dword [esp + 0x6c]
mov al, byte [ebx + 0x29]
mov byte [ecx + 0x29], al
mov edx, dword [ebx + 4]
mov ecx, 0x14
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x18], edx
mov edx, dword [ebx + 0x2c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x24]
push edx
push eax
mov dword [esp + 0x28], ecx
call fcn.004321f0
push 2
call fcn.0041c820
lea ecx, [esp + 0x24]
push ecx
push 0xb
call fcn.0041e830
mov edx, dword [esp + 0x80]
lea eax, [esp + 0x2c]
push edx
push eax
push 0xb
call fcn.0041cce0
mov ecx, dword [esp + 0x8c]
add esp, 0x24
movsx ebp, ax
test ebp, ebp
jne 0x4174fc
mov edx, dword [ecx + 4]
mov eax, dword [ebx + 4]
cmp edx, eax
jne 0x4174fc
mov eax, dword [ecx + 8]
mov edx, dword [ebx + 8]
cmp eax, edx
jne 0x4174fc
mov edx, dword [ecx + 0xc]
mov eax, dword [ebx + 0xc]
cmp edx, eax
jne 0x4174fc
mov edi, dword [ebx + 0x2c]
mov esi, dword [ecx + 0x2c]
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x417454
test al, al
je 0x417450
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x417454
add esi, 2
add edi, 2
test al, al
jne 0x417430
xor eax, eax
jmp 0x417459
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4174fc
push 0xa
call fcn.0041bb50
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
push eax
call fcn.00417940
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004335c0
mov edx, dword [esp + 0x1c]
push edx
call fcn.00433608
mov ecx, dword [esp + 0x20]
mov edi, eax
mov edx, ecx
xor eax, eax
shr ecx, 2
mov dword [esp + 0x78], edi
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x78]
push eax
push ecx
push 0xa
call fcn.0041c120
mov edx, dword [esp + 0x84]
push edx
call fcn.004335c0
lea eax, [esp + 0x30]
push ebx
lea ecx, [esp + 0x8c]
push eax
push ecx
mov dword [esp + 0x94], 0
call fcn.004175a0
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x94]
push edx
push eax
push 0xa
call fcn.0041bda0
add esp, 0x38
movsx ebp, ax
jmp 0x417505
push ecx
call fcn.00417940
add esp, 4
mov ecx, dword [esp + 0x68]
push ecx
call fcn.004335c0
push 0
call fcn.0041c820
add esp, 8
mov eax, ebp
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x54
ret