Function at 0x41aef0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x20
push ebx
push ebp
mov ebp, dword [esp + 0x38]
push esi
xor esi, esi
push edi
cmp ebp, esi
je 0x41b3f3
mov ecx, dword [esp + 0x4c]
xor edx, edx
mov eax, ecx
and ecx, 0xffff
sar eax, 0x10
cmp eax, esi
mov dword [esp + 0x40], edx
je 0x41af2c
mov dword [esp + 0x40], eax
jge 0x41af28
mov dword [esp + 0x40], esi
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
cmp eax, esi
jne 0x41af53
mov eax, dword [0x5e7500]
add edx, 0xa
mov dword [esp + 0x14], edx
mov edx, dword [0x5e74f8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], edx
add ecx, 0x14
jmp 0x41af94
cmp eax, 2
jne 0x41af77
mov eax, dword [0x5e7508]
add edx, 6
mov dword [esp + 0x14], edx
mov edx, dword [0x5e74fc]
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], edx
add ecx, 0xc
jmp 0x41af94
mov eax, dword [0x5e7504]
add edx, 8
mov dword [esp + 0x14], edx
mov edx, dword [0x5e74fc]
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], edx
add ecx, 0x10
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x4c], ecx
cmp eax, 0x10
jle 0x41afab
mov dword [esp + 0x6c], 0x10
jmp 0x41afb3
cmp eax, esi
jge 0x41afb3
mov dword [esp + 0x6c], esi
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x68]
push eax
push edi
push ecx
call fcn.0041acf0
add esp, 0xc
mov dword [0x605dd0], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], esi
test edi, 0x80000000
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], esi
mov eax, 1
je 0x41affe
and edi, 0x7fffffff
mov dword [esp + 0x20], eax
mov dword [esp + 0x48], edi
test edi, 0x40000000
je 0x41b014
and edi, 0xbfffffff
mov dword [esp + 0x24], eax
mov dword [esp + 0x48], edi
test edi, 0x20000000
je 0x41b033
mov ecx, dword [esp + 0x20]
and edi, 0xdfffffff
inc ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x20], ecx
test edi, 0x10000000
je 0x41b049
and edi, 0xefffffff
mov dword [esp + 0x28], eax
mov dword [esp + 0x48], edi
mov ecx, dword [esp + 0x64]
xor ebx, ebx
xor eax, eax
test ecx, ecx
mov dword [esp + 0x10], eax
je 0x41b0c5
cmp byte [ebp], 0x20
jne 0x41b068
mov al, byte [ebx + ebp + 1]
inc ebx
cmp al, 0x20
je 0x41b05f
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x41b091
mov eax, dword [esp + 0x1c]
push ebp
test eax, eax
jne 0x41b085
call fcn.0041ab90
add esp, 4
mov edx, eax
jmp 0x41b0a3
call fcn.0041abd0
add esp, 4
mov edx, eax
jmp 0x41b0a3
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x48]
not ecx
dec ecx
mov edx, ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
imul edx, ecx
sub eax, edx
mov edx, dword [esp + 0x40]
sub eax, edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
jmp 0x41b0c9
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
test edx, edx
je 0x41b0dd
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x41b389
xor edx, edx
mov dl, byte [ebx + ebp]
inc ebx
test edx, edx
je 0x41b389
cmp edx, 0x81
jb 0x41b0f6
inc ebx
jmp 0x41b0dd
cmp edx, 0x40
jne 0x41b258
xor edx, edx
mov dl, byte [ebx + ebp]
sub edx, 0x30
mov dword [esp + 0x24], edx
js 0x41b0dd
cmp edx, 0x1f
jg 0x41b0dd
mov edx, dword [esp + 0x64]
mov byte [ebx + ebp - 1], 0
test edx, edx
mov edx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x60]
push edi
push edx
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x68]
push edx
lea edx, [esi + ebp]
push edx
mov edx, dword [esp + 0x68]
push edx
je 0x41b164
sub esi, eax
imul esi, ecx
add esi, dword [esp + 0x78]
jmp 0x41b169
sub esi, eax
imul esi, ecx
mov eax, dword [esp + 0x68]
add esi, eax
mov eax, dword [esp + 0x64]
push esi
push eax
call dword [esp + 0xa8]
mov eax, dword [esp + 0x58]
add esp, 0x38
test eax, eax
jne 0x41b21d
mov eax, dword [esp + 0x24]
cmp eax, 9
mov dword [esp + 0x68], eax
jle 0x41b209
add eax, 0xffffffee
cmp eax, 3
ja case.default.0x41b1a0
jmp dword [eax*4 + 0x41b3fc]
mov dword [esp + 0x68], 0x8001f
mov edx, dword [esp + 0x68]
mov dword [0x605dd0], edx
jmp 0x41b21d
mov dword [esp + 0x68], 0x4000f800
mov edx, dword [esp + 0x68]
mov dword [0x605dd0], edx
jmp 0x41b21d
mov dword [esp + 0x68], 0x20007e0
mov edx, dword [esp + 0x68]
mov dword [0x605dd0], edx
jmp 0x41b21d
mov dword [esp + 0x68], 0x20406f0
mov edx, dword [esp + 0x68]
mov dword [0x605dd0], edx
jmp 0x41b21d
mov ecx, dword [esp + 0x2c]
mov edx, ecx
mov dword [esp + 0x68], ecx
mov dword [0x605dd0], edx
jmp 0x41b21d
mov ecx, dword [esp + 0x6c]
push ecx
push edi
push eax
call fcn.0041acf0
add esp, 0xc
mov dword [0x605dd0], eax
mov eax, dword [esp + 0x1c]
mov byte [ebx + ebp - 1], 0x40
inc ebx
test eax, eax
jne 0x41b242
mov eax, dword [esp + 0x64]
test eax, eax
je 0x41b242
cmp byte [ebx + ebp], 0x20
jne 0x41b242
mov al, byte [ebx + ebp + 1]
inc ebx
cmp al, 0x20
je 0x41b239
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add eax, 2
mov esi, ebx
mov dword [esp + 0x10], eax
jmp 0x41b0dd
cmp edx, 0x23
jne 0x41b0dd
mov edx, dword [esp + 0x28]
test edx, edx
jne 0x41b0dd
mov edx, dword [esp + 0x64]
mov byte [ebx + ebp - 1], 0
test edx, edx
mov edx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x60]
push edi
push edx
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x68]
push edx
lea edx, [esi + ebp]
push edx
mov edx, dword [esp + 0x68]
push edx
je 0x41b314
sub esi, eax
mov edx, dword [esp + 0x78]
imul esi, ecx
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
add esi, edx
add esi, ecx
push esi
push eax
call dword [esp + 0xa8]
mov byte [ebx + ebp - 1], 0x23
mov al, byte [ebx + ebp]
add esp, 0x38
cmp al, 0x20
jne 0x41b2ea
mov al, byte [ebx + ebp + 1]
inc ebx
cmp al, 0x20
je 0x41b2e1
lea ecx, [ebx + ebp]
push ecx
call fcn.0041ab90
mov edx, eax
mov eax, dword [esp + 0x64]
imul edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
sub eax, edx
sub eax, ecx
add esp, 4
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x48], eax
jmp 0x41b334
sub esi, eax
mov eax, dword [esp + 0x68]
imul esi, ecx
add esi, eax
mov eax, dword [esp + 0x64]
push esi
push eax
call dword [esp + 0xa8]
add esp, 0x38
mov byte [ebx + ebp - 1], 0x23
mov eax, dword [esp + 0x1c]
mov esi, ebx
test eax, eax
jne 0x41b377
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], ebx
test eax, eax
je 0x41b35f
mov ecx, dword [esp + 0x3c]
add ecx, eax
mov eax, ebx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x14]
jmp 0x41b0dd
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
add eax, 0x12
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x10]
jmp 0x41b0dd
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc eax
mov dword [esp + 0x10], eax
jmp 0x41b0dd
mov edx, dword [esp + 0x64]
test edx, edx
mov edx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x60]
push edi
push edx
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x68]
push edx
lea edx, [esi + ebp]
push edx
mov edx, dword [esp + 0x68]
push edx
je 0x41b3d8
sub esi, eax
mov ebx, dword [esp + 0x78]
imul esi, ecx
add esi, ebx
jmp 0x41b3dd
sub esi, eax
imul esi, ecx
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
add esi, edi
push esi
push eax
call dword [esp + 0xa8]
add esp, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret