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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x110
mov eax, 0xd1c09a73
mov dword [esp + 0x108], 0x56281b83
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
mov esi, dword [esp + 0x108]
sub eax, esi
mov edi, esi
or edi, 0x14242e47
mov dword [esp + 0xf4], edi
mov dword [esp + 0x70], eax
mov bx, word [esp + 0x106]
mov eax, dword [esp + 0x70]
mov edi, esi
xor edi, edi
mov dword [esp + 0xf4], edi
mov dword [esp + 0xe8], 0
mov dword [esp + 0x34], eax
mov al, byte [esp + 0xf3]
mov edi, dword [esp + 0x34]
cmp edi, 0x44257bb6
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edx
mov word [esp + 0x26], bx
mov byte [esp + 0x25], al
jb 0x410aec
jmp 0x4108c4
mov dword [esp + 0x40], 0
jmp 0x410afb
mov eax, dword [esp + 0x68]
add eax, 0xffffffff
mov dword [esp + 0x6c], eax
jmp 0x410bd4
mov eax, 0x56281b83
mov cl, byte [esp + 0x25]
xor cl, 0x27
mov byte [esp + 0xf3], cl
sub eax, dword [esp + 0x108]
mov edx, dword [esp + 0x30]
mov dword [esp + 0xf4], edx
mov esi, dword [esp + 0x44]
mov dword [esp + 0x68], esi
mov dword [esp + 0x3c], eax
jmp 0x41083f
mov al, byte [esp + 0x25]
mov cl, byte [esp + 0x25]
mul cl
mov byte [esp + 0xf3], al
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x30]
add esi, esi
mov dword [esp + 0xf4], esi
cmp edx, 5
jb 0x410a76
jmp 0x410781
mov eax, dword [esp + 0x38]
mov cx, word [eax]
mov eax, dword [esp + 0x2c]
add eax, 0x6c00add6
mov edx, dword [esp + 0x28]
adc edx, 0
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], edx
mov dword [esp + 0xe8], 0
mov si, word [esp + 0x26]
or si, 0x1368
mov word [esp + 0x106], si
cmp cx, 0
je 0x410aec
jmp 0x4107c4
mov al, byte [esp + 0x25]
mov byte [esp + 0xf3], al
mov ecx, dword [esp + 0x3c]
mov si, word [esp + 0x26]
mov dx, si
xor edx, 0x1ee
mov di, dx
mov ah, byte [ecx + 0x40d179]
mov word [esp + 0x106], di
mov bl, byte [ecx + 0x40d11b]
sub bl, ah
mov dword [esp + 0xf4], 0x40000a28
mov byte [esp + ecx + 0x48], bl
mov edx, dword [esp + 0x30]
imul edx, edx
mov dword [esp + 0xf4], edx
inc ecx
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x2c]
add edx, 0x328e8865
mov esi, dword [esp + 0x28]
adc esi, 0
mov dword [esp + 0xfc], esi
mov dword [esp + 0xf8], edx
cmp ecx, 0xe
je 0x410774
jmp 0x41083f
lea eax, [esp + 0x48]
mov dword [esp + 0x74], eax
mov cx, word [esp + 0x26]
mov ax, cx
not eax
mov dx, ax
mov eax, dword [esp + 0x108]
mov word [esp + 0x106], dx
add eax, 0xa9d7e483
lea esi, [esp + 0xa0]
mov dword [esp + 0x7c], esi
mov bl, byte [esp + 0x25]
or bl, 0x22
mov byte [esp + 0xf3], bl
mov bl, byte [esp + 0x25]
or bl, 0xe
mov byte [esp + 0xf3], bl
mov edi, dword [esp + 0x2c]
xor edi, 0x35380fc4
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xfc], ebx
mov dword [esp + 0xf8], edi
mov dword [esp + 0x38], esi
mov cl, 0x23
mov ch, byte [esp + 0x25]
mov dword [esp + 0x20], eax
mov al, ch
mul cl
mov byte [esp + 0xf3], al
mov esi, dword [esp + 0x20]
mov dword [esp + 0x44], esi
jmp 0x410791
mov ax, word [esp + 0x26]
xor ax, 0xa3af
mov word [esp + 0x106], ax
mov ax, word [esp + 0x26]
xor ax, ax
mov ecx, dword [esp + 0x108]
mov word [esp + 0x106], ax
movdqa xmm0, xmmword [esp + 0x80]
mov edx, dword [esp + 0x108]
add edx, 0xa9d7e49d
add ecx, 0xa9d7e485
mov bl, byte [esp + 0x25]
and bl, 0x2c
mov esi, dword [esp + 0x78]
mov byte [esp + 0xf3], bl
movdqu xmmword [esi], xmm0
add ecx, dword [esp + 0xec]
mov dword [esp + 0x40], ecx
cmp ecx, edx
je 0x4107f1
jmp 0x410afb
xor eax, eax
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0xf4], 0x675ff39b
mov si, word [esp + 0x26]
mov dx, si
add edx, edx
mov di, dx
mov word [esp + 0x106], di
mov edx, dword [ecx + 0x3c]
mov ebx, ecx
add ebx, edx
mov dword [esp + 0xfc], 0x94e0d53
mov dword [esp + 0xf8], 0x7ec74db0
mov esi, dword [esp + 0x30]
or esi, 0x176de3a1
mov dword [esp + 0xf4], esi
mov edx, dword [ecx + edx]
sub edx, 0x4550
mov dword [esp + 0x1c], eax
setne al
mov dword [esp + 0xfc], 0
mov dword [esp + 0xf8], 0x113d9fb1
cmp ebx, 0
sete ah
or ah, al
test ah, 1
mov esi, dword [esp + 0x1c]
cmovne ecx, esi
mov dword [esp + 0xe8], ecx
mov di, word [esp + 0x26]
and di, 0x4cb8
mov word [esp + 0x106], di
mov dword [esp + 0x18], edx
jmp 0x410aec
mov eax, dword [esp + 0x38]
mov cx, word [esp + 0x26]
mov word [esp + 0x106], cx
mov edx, dword [esp + 0x108]
add edx, 0xa9d7e47e
mov esi, esp
mov dword [esi], eax
mov dword [esi + 4], 0
mov dword [esp + 0x14], edx
call fcn.0040e99b
mov dword [esp + 0x9c], eax
xor eax, eax
mov edx, 0xd579e99
mov esi, dword [esp + 0x2c]
sub edx, esi
mov edi, dword [esp + 0x28]
sbb eax, edi
mov dword [esp + 0xfc], eax
mov dword [esp + 0xf8], edx
mov eax, dword [esp + 0x68]
add eax, 0xffffffff
mov dword [esp + 0x6c], eax
mov edx, dword [esp + 0x14]
cmp eax, edx
ja 0x410bd4
jmp 0x4109c8
mov eax, dword [esp + 0xe8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, byte [esp + 0x25]
xor al, 0x53
mov byte [esp + 0xf3], al
mov dx, word [esp + 0x26]
mov cx, dx
mov esi, 0xffffc0c5
sub esi, ecx
mov di, si
mov ecx, dword [esp + 0x40]
mov word [esp + 0x106], di
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0x30]
or ecx, 0x449ccaa3
mov dword [esp + 0xf4], ecx
xor ecx, ecx
mov esi, 0x16d137c3
mov ebx, dword [esp + 0x2c]
sub esi, ebx
mov eax, ecx
mov edi, dword [esp + 0x28]
sbb eax, edi
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xec]
movsd xmm0, qword [esp + eax + 0x48]
punpcklbw xmm1, xmm0
psraw xmm1, 8
movaps xmmword [esp + 0x80], xmm1
lea eax, [esp + eax*2 + 0xa0]
mov dl, byte [esp + 0x25]
and dl, 0x3c
mov byte [esp + 0xf3], dl
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe0], 0x626cc30a
mov ecx, dword [esp + 0xe4]
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x78], eax
sub esi, 0x497e38ea
sbb ecx, 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ecx
jb 0x4107c4
jmp 0x410956
mov eax, dword [esp + 0x30]
imul ecx, eax, 0x4e9afb18
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x44], edx
jmp 0x410791