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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xd0
mov esi, dword [esp + 0xe8]
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x100001
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 0x4021
call fcn.00438d90
xor ebx, ebx
cmp eax, 0
jl 0x41f83d
mov dword [esp], esi
call fcn.00413900
shl eax, 1
mov word [esp + 0xac], ax
movzx eax, ax
add eax, 2
mov word [esp + 0xae], ax
mov dword [esp + 0xb0], esi
mov dword [esp], 0x848
call fcn.00435f20
mov dword [esp + 0x68], eax
mov esi, dword [esp + 0x7c]
mov al, byte [esp + 0x84]
mov byte [esp + 0xa0], al
mov byte [esp + 0x49], 0x46
mov byte [esp + 0x4a], 0x45
mov byte [esp + 0x4b], 0x44
mov byte [esp + 0x4c], 0x43
movzx eax, byte [esp + 0x49]
mov edx, eax
or edx, 0x6b674dbe
mov ecx, eax
and ecx, 0xbe
xor ecx, edx
and ecx, 0x9498b241
shl ecx, 1
sub ecx, 0x9498b241
mov edx, eax
xor edx, 0xffffffff
mov edi, ecx
and edi, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, edi
add al, 0xf8
mov byte [esp + 0x49], al
movzx eax, byte [esp + 0x4a]
mov edx, eax
or edx, 0x6b674dbd
mov ecx, eax
and ecx, 0xbd
xor ecx, edx
and ecx, 0x9498b242
shl ecx, 1
sub ecx, 0x9498b242
mov edx, eax
xor edx, 0xffffffff
mov edi, ecx
and edi, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, edi
add al, 0xf8
mov byte [esp + 0x4a], al
movzx eax, byte [esp + 0x4b]
mov edx, eax
or edx, 0x6b674dbc
mov ecx, eax
and ecx, 0xbc
xor ecx, edx
and ecx, 0x9498b243
shl ecx, 1
sub ecx, 0x9498b243
mov edx, eax
xor edx, 0xffffffff
mov edi, ecx
and edi, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, edi
add al, 0xf8
mov byte [esp + 0x4b], al
movzx eax, byte [esp + 0x4c]
mov edx, eax
or edx, 0x6b674dbb
mov ecx, eax
and ecx, 0xbb
xor ecx, edx
and ecx, 0x9498b244
shl ecx, 1
sub ecx, 0x9498b244
mov edx, eax
xor edx, 0xffffffff
mov edi, ecx
and edi, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, edi
add al, 0xf8
mov byte [esp + 0x4c], al
mov edi, dword [esp + 0x49]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x444854]
jb 0x41ef6c
jmp 0x41f024
mov edx, dword [0x444858]
cmp dword [edx + ebp*8], 0x7be1e2d2
sete bl
xor ecx, ecx
mov byte [esp + 0x53], bl
test bl, 1
jne 0x41ef8c
jmp 0x41f013
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x41f013
mov eax, dword [0x44485c]
xor ecx, ecx
lea ecx, [esp + 0xc8]
lea ebx, [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x68]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x848
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], 0
call fcn.004372a0
mov ecx, 1
test byte [esp + 0x53], 1
je 0x41f01c
jmp 0x41f024
add ebp, 1
jmp 0x41ef5a
cmp ecx, 2
jne 0x41f02b
mov eax, edi
cmp eax, 0
setge al
xor ebx, ebx
test al, 1
jne 0x41f03c
jmp 0x41f6b3
mov dword [esp + 0x60], 0
xor ebx, ebx
xor esi, esi
mov eax, dword [esp + 0x68]
mov dword [esp + 0x64], eax
jmp 0x41f052
mov eax, dword [esp + 0x64]
mov edi, dword [eax + 0x3c]
shr edi, 1
mov ecx, eax
add ecx, 0x38
mov dword [esp + 0xc0], ecx
mov eax, dword [eax + 0x38]
mov ecx, eax
and ecx, 0x400
xor ecx, 0xffffffff
and eax, 0x400
xor eax, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0
jne 0x41f2de
mov al, byte [esp + 0x78]
mov byte [esp + 0x88], al
mov byte [esp + 0x41], 0x6f
mov byte [esp + 0x42], 0x52
mov byte [esp + 0x43], 0x53
mov byte [esp + 0x44], 0x54
movzx eax, byte [esp + 0x41]
xor eax, 0x3ef8f599
xor eax, 0xa221100
add eax, 0x5928db37
mov ecx, eax
shl ecx, 1
and ecx, 0x8a
xor eax, 0xc5
add eax, ecx
add al, 0x3c
mov byte [esp + 0x41], al
movzx eax, byte [esp + 0x42]
xor eax, 0x3ef8f59a
xor eax, 0xa221100
add eax, 0x5928db37
mov ecx, eax
shl ecx, 1
and ecx, 0x8a
xor eax, 0xc5
add eax, ecx
add al, 0x3c
mov byte [esp + 0x42], al
movzx eax, byte [esp + 0x43]
xor eax, 0x3ef8f59b
xor eax, 0xa221100
add eax, 0x5928db37
mov ecx, eax
shl ecx, 1
and ecx, 0x8a
xor eax, 0xc5
add eax, ecx
add al, 0x3c
mov byte [esp + 0x43], al
movzx eax, byte [esp + 0x44]
xor eax, 0x3ef8f59c
xor eax, 0xa221100
add eax, 0x5928db37
mov ecx, eax
shl ecx, 1
and ecx, 0x8a
xor eax, 0xc5
add eax, ecx
add al, 0x3c
mov byte [esp + 0x44], al
mov ebp, dword [esp + 0x64]
add ebp, 0x44
lea eax, [esp + 0x41]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0041f850
cmp eax, 0
je 0x41f2de
mov al, byte [esp + 0x74]
mov byte [esp + 0x8c], al
mov byte [esp + 0x5a], 0xbb
mov byte [esp + 0x5b], 0x46
mov byte [esp + 0x5c], 0xb9
mov byte [esp + 0x5d], 0x58
mov byte [esp + 0x5e], 0x59
mov byte [esp + 0x5f], 0x5a
xor eax, eax
mov dword [esp + 0x54], esi
cmp eax, 6
jae 0x41f208
mov cl, byte [esp + eax + 0x5a]
mov byte [esp + 0x51], cl
mov dword [esp + 0xc4], ebx
mov ebx, eax
xor ebx, 0x8a2324d2
mov ecx, eax
or ecx, 0x2d
and ecx, ebx
mov edx, eax
or edx, 0x75dcdb2d
mov esi, edx
and esi, ebx
mov ebx, dword [esp + 0xc4]
or edx, ecx
add edx, esi
mov esi, dword [esp + 0x54]
xor dl, byte [esp + 0x51]
add dl, 0x98
mov byte [esp + eax + 0x5a], dl
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 1
xor edx, 0xffffffff
add eax, 2
add eax, edx
add eax, ecx
jmp 0x41f1a9
lea eax, [esp + 0x5a]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0041f850
cmp eax, 0
jne 0x41f226
jmp 0x41f2e0
mov ecx, edi
and ecx, 1
shl ecx, 1
mov eax, edi
xor eax, 1
add eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41f24a
mov ecx, eax
mov dword [esp], ecx
call fcn.00408330
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov edi, eax
call fcn.00413590
mov word [eax], 0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x28]
mov eax, dword [esp + 0xc0]
mov edx, dword [eax]
and edx, 0x10
xor eax, eax
cmp edx, 0
setne al
mov edx, dword [esp + 0xf0]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], edi
and eax, 1
mov dword [esp + 4], eax
call dword [esp + 0xec]
and al, 1
movzx eax, al
and bl, 1
movzx ecx, bl
mov edx, eax
xor edx, 0xffffffff
mov esi, ecx
xor esi, 0xffffffff
and edx, esi
or eax, ecx
xor eax, 0xffffffff
or eax, edx
xor eax, 0xffffffff
cmp eax, 0
setne bl
and bl, 1
mov dword [esp], edi
call fcn.00408340
mov esi, dword [esp + 0x54]
jmp 0x41f2dc
jmp 0x41f2e0
jmp 0x41f2e0
cmp esi, 0
je 0x41f2eb
mov edi, dword [esp + 0x60]
jmp 0x41f315
mov dword [esp], 0x10900
call fcn.00435f20
mov edi, eax
cmp edi, 0
sete al
test al, 1
jne 0x41f305
jmp 0x41f311
xor esi, esi
mov eax, 2
jmp 0x41f6a7
mov esi, edi
jmp 0x41f315
cmp edi, esi
sete al
test al, 1
jne 0x41f323
jmp 0x41f688
mov dword [esp + 0x54], esi
mov al, byte [esp + 0x70]
mov byte [esp + 0x90], al
mov byte [esp + 0x3d], 0xc3
mov byte [esp + 0x3e], 0xfd
mov byte [esp + 0x3f], 0xc4
mov byte [esp + 0x40], 0xc6
mov al, byte [esp + 0x3d]
xor al, 0x1b
add al, 0x28
mov byte [esp + 0x3d], al
mov al, byte [esp + 0x3e]
xor al, 0x1c
add al, 0x28
mov byte [esp + 0x3e], al
mov al, byte [esp + 0x3f]
xor al, 0x1d
add al, 0x28
mov byte [esp + 0x3f], al
mov al, byte [esp + 0x40]
xor al, 0x1e
add al, 0x28
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x3d]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xb8], eax
mov al, byte [esp + 0x80]
mov byte [esp + 0xa4], al
mov byte [esp + 0x45], 0x46
mov byte [esp + 0x46], 0x45
mov byte [esp + 0x47], 0x44
mov byte [esp + 0x48], 0x43
movzx eax, byte [esp + 0x45]
mov edx, eax
or edx, 0x6b674dbe
mov ecx, eax
and ecx, 0xbe
xor ecx, edx
and ecx, 0x9498b241
shl ecx, 1
sub ecx, 0x9498b241
mov edx, eax
xor edx, 0xffffffff
mov esi, ecx
and esi, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, esi
add al, 0xf8
mov byte [esp + 0x45], al
movzx eax, byte [esp + 0x46]
mov edx, eax
or edx, 0x6b674dbd
mov ecx, eax
and ecx, 0xbd
xor ecx, edx
and ecx, 0x9498b242
shl ecx, 1
sub ecx, 0x9498b242
mov edx, eax
xor edx, 0xffffffff
mov esi, ecx
and esi, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, esi
add al, 0xf8
mov byte [esp + 0x46], al
movzx eax, byte [esp + 0x47]
mov edx, eax
or edx, 0x6b674dbc
mov ecx, eax
and ecx, 0xbc
xor ecx, edx
and ecx, 0x9498b243
shl ecx, 1
sub ecx, 0x9498b243
mov edx, eax
xor edx, 0xffffffff
mov esi, ecx
and esi, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, esi
add al, 0xf8
mov byte [esp + 0x47], al
movzx eax, byte [esp + 0x48]
mov edx, eax
or edx, 0x6b674dbb
mov ecx, eax
and ecx, 0xbb
xor ecx, edx
and ecx, 0x9498b244
shl ecx, 1
sub ecx, 0x9498b244
mov edx, eax
xor edx, 0xffffffff
mov esi, ecx
and esi, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, esi
add al, 0xf8
mov byte [esp + 0x48], al
mov eax, dword [esp + 0x45]
mov dword [esp + 0xa8], eax
xor esi, esi
mov ecx, 2
cmp esi, dword [0x444854]
jb 0x41f4b9
jmp 0x41f586
mov ebp, ebx
mov edx, dword [0x444858]
cmp dword [edx + esi*8], 0x7be1e2d2
sete bl
xor ecx, ecx
mov byte [esp + 0x52], bl
test bl, 1
jne 0x41f4dd
mov ebx, ebp
jmp 0x41f575
mov edx, dword [edx + esi*8 + 4]
mov ecx, 2
cmp edx, dword [esp + 0xa8]
mov ebx, ebp
je 0x41f575
mov eax, dword [0x44485c]
xor ecx, ecx
lea ecx, [esp + 0xc8]
lea ebp, [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], 0
call fcn.004372a0
mov ecx, 1
test byte [esp + 0x52], 1
je 0x41f57e
jmp 0x41f586
add esi, 1
jmp 0x41f4a7
cmp ecx, 2
mov esi, dword [esp + 0x54]
jne 0x41f596
mov eax, dword [esp + 0xa8]
mov cl, byte [esp + 0x6c]
mov byte [esp + 0x94], cl
mov byte [esp + 0x39], 0x8b
mov byte [esp + 0x3a], 0x8f
mov byte [esp + 0x3b], 0x70
mov byte [esp + 0x3c], 0xf1
movzx edx, byte [esp + 0x39]
mov ecx, edx
xor ecx, 0xffffffff
or ecx, 0x81
or edx, 0x7e
and ecx, edx
add cl, 0x10
mov byte [esp + 0x39], cl
movzx edx, byte [esp + 0x3a]
mov ecx, edx
xor ecx, 0xffffffff
or ecx, 0x80
or edx, 0x7f
and ecx, edx
add cl, 0x10
mov byte [esp + 0x3a], cl
movzx edx, byte [esp + 0x3b]
mov ecx, edx
xor ecx, 0xffffffff
or ecx, 0x7f
or edx, 0x80
and ecx, edx
add cl, 0x10
mov byte [esp + 0x3b], cl
movzx edx, byte [esp + 0x3c]
mov ecx, edx
xor ecx, 0xffffffff
or ecx, 0x7e
or edx, 0x81
and ecx, edx
add cl, 0x10
mov byte [esp + 0x3c], cl
mov ecx, dword [esp + 0x39]
cmp eax, ecx
jne 0x41f665
xor eax, eax
mov edx, edi
jmp 0x41f633
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x41f64a
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x41f633
cmp eax, 0
setne cl
test cl, 1
mov esi, dword [esp + 0x54]
jne 0x41f65b
jmp 0x41f661
mov dword [eax], 0
xor eax, eax
jmp 0x41f665
cmp eax, 0
jge 0x41f679
mov dword [esp], esi
call fcn.00435f40
mov eax, 2
jmp 0x41f67d
xor eax, eax
jmp 0x41f67d
cmp eax, 0
je 0x41f688
mov dword [esp + 0x60], edi
jmp 0x41f6a7
mov eax, dword [edi]
cmp eax, 0
je 0x41f699
mov ecx, edi
add ecx, eax
mov dword [esp + 0x60], ecx
jmp 0x41f69f
mov dword [esp + 0x60], esi
jmp 0x41f69f
xor eax, eax
mov dword [esp + 0x64], edi
jmp 0x41f6a7
test eax, eax
je 0x41f052
jmp 0x41f6b1
jmp 0x41f6b3
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.00435f40
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xb4], eax
mov al, byte [esp + 0x98]
mov byte [esp + 0x9c], al
mov byte [esp + 0x4d], 0x46
mov byte [esp + 0x4e], 0x45
mov byte [esp + 0x4f], 0x44
mov byte [esp + 0x50], 0x43
movzx eax, byte [esp + 0x4d]
mov edx, eax
or edx, 0x6b674dbe
mov ecx, eax
and ecx, 0xbe
xor ecx, edx
and ecx, 0x9498b241
shl ecx, 1
sub ecx, 0x9498b241
mov edx, eax
xor edx, 0xffffffff
mov edi, ecx
and edi, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, edi
add al, 0xf8
mov byte [esp + 0x4d], al
movzx eax, byte [esp + 0x4e]
mov edx, eax
or edx, 0x6b674dbd
mov ecx, eax
and ecx, 0xbd
xor ecx, edx
and ecx, 0x9498b242
shl ecx, 1
sub ecx, 0x9498b242
mov edx, eax
xor edx, 0xffffffff
mov edi, ecx
and edi, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, edi
add al, 0xf8
mov byte [esp + 0x4e], al
movzx eax, byte [esp + 0x4f]
mov edx, eax
or edx, 0x6b674dbc
mov ecx, eax
and ecx, 0xbc
xor ecx, edx
and ecx, 0x9498b243
shl ecx, 1
sub ecx, 0x9498b243
mov edx, eax
xor edx, 0xffffffff
mov edi, ecx
and edi, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, edi
add al, 0xf8
mov byte [esp + 0x4f], al
movzx eax, byte [esp + 0x50]
mov edx, eax
or edx, 0x6b674dbb
mov ecx, eax
and ecx, 0xbb
xor ecx, edx
and ecx, 0x9498b244
shl ecx, 1
sub ecx, 0x9498b244
mov edx, eax
xor edx, 0xffffffff
mov edi, ecx
and edi, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, edi
add al, 0xf8
mov byte [esp + 0x50], al
mov edi, dword [esp + 0x4d]
xor ebp, ebp
cmp ebp, dword [0x444854]
jb 0x41f7e8
jmp 0x41f83d
mov esi, ebx
mov eax, dword [0x444858]
cmp dword [eax + ebp*8], 0xb430e561
sete bl
test bl, 1
jne 0x41f800
jmp 0x41f82d
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
je 0x41f82d
mov ecx, dword [0x44485c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc], eax
call fcn.004372a0
test bl, 1
je 0x41f836
mov ebx, esi
jmp 0x41f83d
add ebp, 1
mov ebx, esi
jmp 0x41f7de
and bl, 1
movzx eax, bl
add esp, 0xd0
pop esi
pop edi
pop ebx
pop ebp
ret